PhantomJs - 如何呈现多页PDF

时间:2013-06-10 15:13:18

标签: node.js pdf phantomjs

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

1 个答案:

答案 0 :(得分: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);
}

然后,每次要打开新页面时,只需在HTML内容中使用 page-break-before:always;

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

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