在PhantomJS中打印页面

时间:2012-10-12 13:53:04

标签: javascript pdf printing phantomjs

有没有办法在PhantomJS打印页面。我想将我的页面传递给PDF打印机(PDFCreator)以获得一个好看的PDF页面(查看我的问题here

我正在使用以下代码,但它不起作用

var page = require('webpage').create(),
address, output, size;

var input = phantom.args[0];
page.open(input, function (status) {
    page.evaluate(function () {
        window.print();
    });
    phantom.exit();
});

3 个答案:

答案 0 :(得分:2)

也许这会有所帮助:您需要在rasterize.js中设置一个超时超时,以便在执行page.render(output)之前呈现整个文档

此外,您提供的脚本与rasterize.js的脚本大不相同,但不起作用。

答案 1 :(得分:1)

看起来像PhantomJS has examples included on its website。其中之一rasterize.js表示它显示了如何将HTML输出为PDF。我没有尝试过,但也许这可能会导致解决方案。

答案 2 :(得分:0)

我发现了这个要点:https://gist.github.com/boriscy/a0ac26c54f30296949df 看起来很关键:

page.onLoadFinished = function() {
  page.render(pdf);
  phantom.exit();
}

我看到的其他示例都在等待,希望等到等待结束时文档已完成。对我来说这似乎并不好,因为较大的文档会失败,而较小的文档会比需要的更慢。