updates to phantom pdf print script, arguments for width/height

This commit is contained in:
Hakim El Hattab 2014-04-29 10:23:52 +02:00
parent fbf999ec81
commit ebb9a689a0
1 changed files with 24 additions and 20 deletions

View File

@ -11,34 +11,38 @@
var page = new WebPage(); var page = new WebPage();
var system = require( 'system' ); var system = require( 'system' );
var slideWidth = system.args[3] ? system.args[3].split( 'x' )[0] : 960;
var slideHeight = system.args[3] ? system.args[3].split( 'x' )[1] : 700;
page.viewportSize = { page.viewportSize = {
width: 1024, width: slideWidth,
height: 768 height: slideHeight
}; };
// TODO
// Something is wrong with these config values. An input
// paper width of 1920px actually results in a 756px wide
// PDF.
page.paperSize = { page.paperSize = {
format: 'letter', width: Math.round( slideWidth * 2 ),
orientation: 'landscape', height: Math.round( slideHeight * 2 ),
margin: { border: 0
left: '0',
right: '0',
top: '0',
bottom: '0'
}
}; };
var revealFile = system.args[1] || 'index.html?print-pdf'; var inputFile = system.args[1] || 'index.html?print-pdf';
var slideFile = system.args[2] || 'slides.pdf'; var outputFile = system.args[2] || 'slides.pdf';
if( slideFile.match( /\.pdf$/gi ) === null ) { if( outputFile.match( /\.pdf$/gi ) === null ) {
slideFile += '.pdf'; outputFile += '.pdf';
} }
console.log( 'Printing PDF...' ); console.log( 'Printing PDF (Paper size: '+ page.paperSize.width + 'x' + page.paperSize.height +')' );
page.open( revealFile, function( status ) { page.open( inputFile, function( status ) {
window.setTimeout( function() {
console.log( 'Printed succesfully' ); console.log( 'Printed succesfully' );
page.render( slideFile ); page.render( outputFile );
phantom.exit(); phantom.exit();
}, 1000 );
} ); } );