在Phantom中生成PDF时,我可以像这样设置纸张大小:
page.paperSize = {
height: '8.5in',
width: '11in',
orientation: 'landscape',
border: '0.4in'
};
Run Code Online (Sandbox Code Playgroud)
然后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'); ...
Run Code Online (Sandbox Code Playgroud)
使用单个非常长的页面创建PDF.设置viewportSize不能解决问题.
有没有办法从Casperjs中访问pageSize对象?
hex*_*xid 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();
Run Code Online (Sandbox Code Playgroud)