print-pdf using callback iso timer
Use window.callPhantom icw page. onCallback to wait for pdf-ready event. From: http://stackoverflow.com/a/28925479/129269
This commit is contained in:
parent
7e6fb9ec87
commit
9a7c7ce93a
1 changed files with 16 additions and 8 deletions
|
@ -6,6 +6,7 @@
|
||||||
*
|
*
|
||||||
* @author Manuel Bieh (https://github.com/manuelbieh)
|
* @author Manuel Bieh (https://github.com/manuelbieh)
|
||||||
* @author Hakim El Hattab (https://github.com/hakimel)
|
* @author Hakim El Hattab (https://github.com/hakimel)
|
||||||
|
* @author Manuel Riezebosch (https://github.com/riezebosch)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// html2pdf.js
|
// html2pdf.js
|
||||||
|
@ -21,11 +22,11 @@ if( outputFile.match( /\.pdf$/gi ) === null ) {
|
||||||
outputFile += '.pdf';
|
outputFile += '.pdf';
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log( 'Export PDF: Reading reveal.js config [1/3]' );
|
console.log( 'Export PDF: Reading reveal.js config [1/4]' );
|
||||||
|
|
||||||
probePage.open( inputFile, function( status ) {
|
probePage.open( inputFile, function( status ) {
|
||||||
|
|
||||||
console.log( 'Export PDF: Preparing print layout [2/3]' );
|
console.log( 'Export PDF: Preparing print layout [2/4]' );
|
||||||
|
|
||||||
var config = probePage.evaluate( function() {
|
var config = probePage.evaluate( function() {
|
||||||
return Reveal.getConfig();
|
return Reveal.getConfig();
|
||||||
|
@ -40,14 +41,22 @@ probePage.open( inputFile, function( status ) {
|
||||||
};
|
};
|
||||||
|
|
||||||
printPage.open( inputFile, function( status ) {
|
printPage.open( inputFile, function( status ) {
|
||||||
window.setTimeout( function() {
|
console.log( 'Export PDF: Preparing pdf [3/4]')
|
||||||
console.log( 'Export PDF: Writing file [3/3]' );
|
printPage.evaluate(function() {
|
||||||
|
Reveal.isReady() ? window.callPhantom() : Reveal.addEventListener( 'pdf-ready', window.callPhantom );
|
||||||
|
});
|
||||||
|
} );
|
||||||
|
|
||||||
|
printPage.onCallback = function(data) {
|
||||||
|
// For some reason we need to "jump the queue" for syntax highlighting to work.
|
||||||
|
// See: http://stackoverflow.com/a/3580132/129269
|
||||||
|
setTimeout(function() {
|
||||||
|
console.log( 'Export PDF: Writing file [4/4]' );
|
||||||
printPage.render( outputFile );
|
printPage.render( outputFile );
|
||||||
console.log( 'Export PDF: Finished successfully!' );
|
console.log( 'Export PDF: Finished successfully!' );
|
||||||
phantom.exit();
|
phantom.exit();
|
||||||
}, 1000 );
|
}, 0);
|
||||||
} );
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
|
@ -55,7 +64,6 @@ probePage.open( inputFile, function( status ) {
|
||||||
phantom.exit(1);
|
phantom.exit(1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue