Saving web pages as PDFs
Rendering pages is not limited to images; we can also save the rendered page as a PDF document. If we state that the rendering file extension is .pdf
, it will save the page as a PDF document; however, it will not automatically create multiple page documents if the page is too large. We need to set the paper properties to make a multipage PDF.
The WebPage
object has a paperSize
property that we can set before rendering the page to PDF. Let us say, we want to capture the page as PDF with an A4 paper size.
var system = require('system'); var url = system.args[1]; var saveas = system.args[2]; var page = require('webpage').create(); page.open(url, function(status) { if ( status === "success" ) { console.log('Saving screenshot as ' + saveas); page.paperSize = { format: 'A4', orientation: 'portrait', border: '1cm' }; page.render('screenshot.' + saveas); phantom.exit(0); ...