2013-06-10 11 views

risposta

11

Basta specificare un paperSize.

Ti piace questa con modulo "fantasma": "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); 
} 

Quindi, utilizzare semplicemente page-break-before: sempre; nel contenuto HTML ogni volta che si desidera aprire una nuova pagina.

PS: Uso async.waterfall in questo esempio

PPS: math.random sul numero di porta viene utilizzato per evitare crash modulo se chiamate simultanee binario phantom vengono attivati. Funziona bene - se qualcuno vuole postare qualcosa di meglio anche se un po 'fuori tema, sentiti libero di farlo

+0

sai come creare un pdf da più htmls? grazie –

+0

Beh, concatena i corpi degli html e vai a prenderlo – Rayjax

Problemi correlati