【问题标题】:Setting paperSize for PDF printing in Casper在 Casper 中为 PDF 打印设置 paperSize
【发布时间】:2013-05-19 05:40:14
【问题描述】:

在 Phantom 中生成 PDF 时,我可以这样设置纸张大小:

page.paperSize = {
  height: '8.5in',
  width: '11in',
  orientation: 'landscape',
  border: '0.4in'
};

然后 page.render(output) 函数会正确生成 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 对象?

【问题讨论】:

    标签: casperjs


    【解决方案1】:

    你可以通过casper.page.paperSize访问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();
    

    【讨论】:

    • @hexid 在 casperjs 将页面保存为 PDF 之前是否有自定义页眉和页脚添加到 PDF 中?
    • @Anagio 您可以查看this 问题作为示例。
    猜你喜欢
    • 2010-11-08
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 2014-03-14
    • 1970-01-01
    • 2019-12-25
    相关资源
    最近更新 更多