在Phantom中生成PDF时,我可以像这样设置纸张大小:
page.paperSize = {
height: '8.5in',
width: '11in',
orientation: 'landscape',
border: '0.4in'
};
然后page.render(输出)函数正确生成PDF。换句话说,大小是正确的,它有很多这样大小的页面。
我无法在Casper中使用它(我不确定它是否受支持)。例如,以下内容:
var casper = require('casper').create({
paperSize: {
height: '8.5in',
width: '11in',
orientation: 'landscape',
border: '0.4in'
},
logLevel: 'debug',
verbose: true
});
....this.capture('print.pdf'); ...
使用单个非常长的页面创建PDF。设置 viewportSize 无法解决问题。
有没有办法从Casperjs中访问pageSize对象?
答案 0 :(得分:16)
您可以通过paperSize
访问casper.page.paperSize
,但是在调用casper.start()
后需要设置此项,否则casper.page
将等于null。
以下是一个例子:
var casper = require("casper").create();
casper.start();
casper.page.paperSize = {
width: '11in',
height: '8.5in',
orientation: 'landscape',
border: '0.4in'
};
casper.thenOpen('http://www.facebook.com/', function() {
this.capture('test.pdf');
this.echo('created pdf.');
});
casper.run();