2

有什么办法可以打印页面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();
});
4

3 回答 3

2

也许这会有所帮助:您需要设置一个较大的超时时间rasterize.js,以便在您之前渲染整个文档page.render(output)

此外,您提供的脚本与提供的脚本非常不同,rasterize.js并且无法正常工作。

于 2012-12-03T17:09:50.320 回答
1

看起来PhantomJS 在其网站上包含示例。其中之一rasterize.js表示它展示了如何将 HTML 输出为 PDF。我还没有尝试过,但也许这可能会导致解决方案。

于 2012-10-12T14:11:43.473 回答
0

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

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

我看到的其他示例进行了很大的等待,只是希望在等待结束时文档完成。对我来说,这似乎不太好,因为较大的文档会失败,而较小的文档会比需要的慢。

于 2021-03-23T08:42:32.800 回答