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

edit
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 system = require( 'system' );
page.viewportSize = {
width: 1024,
height: 768
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 = {
width: slideWidth,
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 = {
format: 'letter',
orientation: 'landscape',
margin: {
left: '0',
right: '0',
top: '0',
bottom: '0'
}
width: Math.round( slideWidth * 2 ),
height: Math.round( slideHeight * 2 ),
border: 0
};
var revealFile = system.args[1] || 'index.html?print-pdf';
var slideFile = system.args[2] || 'slides.pdf';
var inputFile = system.args[1] || 'index.html?print-pdf';
var outputFile = system.args[2] || 'slides.pdf';
if( slideFile.match( /\.pdf$/gi ) === null ) {
slideFile += '.pdf';
if( outputFile.match( /\.pdf$/gi ) === null ) {
outputFile += '.pdf';
}
console.log( 'Printing PDF...' );
console.log( 'Printing PDF (Paper size: '+ page.paperSize.width + 'x' + page.paperSize.height +')' );
page.open( revealFile, function( status ) {
console.log( 'Printed succesfully' );
page.render( slideFile );
phantom.exit();
page.open( inputFile, function( status ) {
window.setTimeout( function() {
console.log( 'Printed succesfully' );
page.render( outputFile );
phantom.exit();
}, 1000 );
} );