Javascript 用PhantomJS打印页面

Javascript 用PhantomJS打印页面,javascript,pdf,printing,phantomjs,Javascript,Pdf,Printing,Phantomjs,有没有办法在PhantomJS中打印页面。我想将我的页面传递给PDF打印机(PDFCreator),以获得一个好看的PDF页面(请参见我的问题) 我正在使用下面的代码,但它不起作用 var page = require('webpage').create(), address, output, size; var input = phantom.args[0]; page.open(input, function (status) { page.evaluate(function ()

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

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

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();
});

看起来像。其中一个说,它展示了如何将HTML输出为PDF格式。我还没有尝试过,但这可能会带来一个解决方案。

也许这会有所帮助:您需要在
rasterize.js
中设置一个较大的超时,以便在执行
page.render(output)

另外,您提供的脚本与
rasterize.js
所做的非常不同,也不起作用。

我发现了以下要点:它做了看起来很关键的事情:

page.onLoadFinished=函数(){
第页。渲染(pdf);
phantom.exit();
}

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

你说的“不工作”是什么意思?是否抛出任何错误?我认为尝试从无头浏览器打印永远不会起作用,因为浏览器通常会弹出系统打印对话框,而PhantomJS不会看到它……没有错误,只是什么都没有发生。关于系统打印对话框,您可能是对的。。。在这种情况下我能做些什么?看看我的答案。我不知道它的质量如何,但它看起来有这样的功能…我使用了
rasterize.js
,但它会生成空文档。我的页面相当大(PDFCreator生成60页),这是我认为的问题。您可能希望修改您的问题,以包括您尝试过的内容、失败的内容等。否则,人们会浪费时间发布您已经尝试过的答案。。。