PhantomJs - 如何渲染多页PDF

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

12

只需要指定一个 paperSize

使用模块"phantom": "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是为了避免如果同时调用phantom二进制文件会导致模块崩溃。如果有人想发布更好的东西,即使有点离题也可以自由发表。


你知道如何从多个HTML创建一个PDF吗?谢谢。 - To Kra
把HTML文件的主体连接起来,然后开始执行。 - Rayjax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接