From 2584a6d97090f8987f49ec3aa5abcbdf8b0d1b8e Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Tue, 4 Apr 2017 13:37:01 +0200 Subject: new cli and in-browser pdf printing compatible fix for #1804 --- js/reveal.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'js') diff --git a/js/reveal.js b/js/reveal.js index e093cb8..dd015bc 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -617,7 +617,7 @@ slideHeight = slideSize.height; // Let the browser know what page size we want to print - injectStyleSheet( '@page{size:'+ pageWidth +'px '+ pageHeight +'px; margin: 0 0 -1px 0;}' ); + injectStyleSheet( '@page{size:'+ pageWidth +'px '+ pageHeight +'px; margin: 0px;}' ); // Limit the size of certain elements to the dimensions of the slide injectStyleSheet( '.reveal section>img, .reveal section>video, .reveal section>iframe{max-width: '+ slideWidth +'px; max-height:'+ slideHeight +'px}' ); @@ -664,7 +664,15 @@ // so that no page ever flows onto another var page = document.createElement( 'div' ); page.className = 'pdf-page'; - page.style.height = ( pageHeight * numberOfPages ) + 'px'; + + // Set the total height of the PDF page container. + // + // This is offset by -1 to ensure that the page ends and + // breaks within the document/paper height. Ending exactly + // on the document height breaks in-browser printing, but + // works in CLI printing (phantomjs, wkpdf etc]). + page.style.height = ( ( pageHeight - 1 ) * numberOfPages ) + 'px'; + slide.parentNode.insertBefore( page, slide ); page.appendChild( slide ); -- cgit v1.2.3