我可以使用phantomJS创建单页PDF文件;但是我找不到文档中如何创建不同页面(每个页面来自html视图)并将它们放入一个PDF文件的方法?我正在使用NodeJS的node-phantom模块。
只需要指定一个 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二进制文件会导致模块崩溃。如果有人想发布更好的东西,即使有点离题也可以自由发表。