8

phantomJS を使用して 1 ページの PDF を作成できます。しかし、ドキュメントで異なるページ(htmlビューからの各ページ)を作成し、それらを1つの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 に答える