我可以使用phantomJS创建一页PDF;但我在doc上找不到如何创建不同的页面(每个页面来自html视图)并将它们放入一个PDF中?我在NodeJS上使用node-phantom模块
答案 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用于避免在触发对幻像二进制的并发调用时模块崩溃。工作得很好 - 如果有人想发布更好的东西,即使有点偏离主题,也可以随意发表