diff --git a/css/print/pdf.css b/css/print/pdf.css index bc09a703..e43d05c6 100644 --- a/css/print/pdf.css +++ b/css/print/pdf.css @@ -152,6 +152,7 @@ ul, ol, div, p { /* Slide backgrounds are placed inside of their slide when exporting to PDF */ .reveal section .slide-background { + display: block !important; position: absolute; top: 0; left: 0; diff --git a/js/reveal.js b/js/reveal.js index a4dba107..d1f2fb0b 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -2693,11 +2693,18 @@ var Reveal = (function(){ /** * Returns the background element for the given slide. * All slides, even the ones with no background properties - * defined, have a background element so this never returns - * null. + * defined, have a background element so as long as the + * index is valid an element will be returned. */ function getSlideBackground( x, y ) { + // When printing to PDF the slide backgrounds are nested + // inside of the slides + if( isPrintingPDF() ) { + var slide = getSlide( x, y ); + return slide ? slide.querySelector( '.slide-background' ) : undefined; + } + var horizontalBackground = document.querySelectorAll( '.backgrounds>.slide-background' )[ x ]; var verticalBackgrounds = horizontalBackground && horizontalBackground.querySelectorAll( '.slide-background' ); diff --git a/test/test-pdf.html b/test/test-pdf.html new file mode 100644 index 00000000..751ed26e --- /dev/null +++ b/test/test-pdf.html @@ -0,0 +1,83 @@ + + + +
+ + +