8

我可以使用 phantomJS 创建单页 PDF;但我在文档上找不到如何创建不同的页面(每个页面来自一个 html 视图)并将它们放入一个 PDF 中?我正在为 NodeJS 使用 node-phantom 模块

4

1 回答 1

12

只需要指定一个paperSize.

像这样使用模块“幻影”:“0.5.1”

function(next) {
    phantom.create(function(doc) {
        next(null, doc);
    }, "phantomjs", Math.floor(Math.random()*(65535-49152+1)+49152));
},
function(ph, next) {
    ph.createPage(function(doc) {
        next(null, doc);
    });
},
function(page, next) {
    page.set('paperSize', {format: 'A4', orientation: 'portrait'});
    page.set('zoomFactor', 1);
}

然后,只需使用page-break-before: always; 每次您想打开一个新页面时,在您的 HTML 内容中。

PS:我在这个例子中使用 async.waterfall

PPS:端口号上的 Math.random 用于在触发对幻像二进制文件的并发调用时避免模块崩溃。工作正常 - 如果有人想发布更好的东西,即使有点离题,随意做

于 2013-07-23T12:05:47.450 回答