@@ -35,7 +35,7 @@ app.post('/from-html', async (req, res) => {
3535
3636 let pdfFilePath ;
3737 try {
38- pdfFilePath = await generatePdf ( `file://${ fullHtmlPath } ` ) ;
38+ pdfFilePath = await generatePdf ( `file://${ fullHtmlPath } ` , req . query . media ) ;
3939 } catch ( err ) {
4040 console . log ( '/from-html: error generating PDF' , e ) ;
4141 let msg = 'failure generating PDF' ;
@@ -60,7 +60,7 @@ app.get('/from-url', async (req, res) => {
6060
6161 let pdfFilePath ;
6262 try {
63- pdfFilePath = await generatePdf ( url ) ;
63+ pdfFilePath = await generatePdf ( url , req . query . media ) ;
6464 } catch ( err ) {
6565 console . log ( '/from-url: error generating PDF' , e ) ;
6666 let msg = 'failure generating PDF' ;
@@ -87,12 +87,18 @@ function deliverPdfFile(res, pdfFilePath) {
8787 fs . unlinkSync ( pdfFilePath ) ;
8888}
8989
90- async function generatePdf ( url ) {
90+ async function generatePdf ( url , media ) {
9191 console . log ( 'generatePdf: browser.newPage' ) ;
9292 const page = await browser . newPage ( ) ;
9393
9494 console . log ( 'generatePdf: emulateMediaType' ) ;
95- await page . emulateMediaType ( 'screen' ) ;
95+ await page . emulateMediaType ( media || 'screen' ) ;
96+
97+ await page . setViewport ( {
98+ width : 1200 ,
99+ height : 800 ,
100+ isMobile : false ,
101+ } ) ;
96102
97103 console . log ( 'generatePdf: goto' , url ) ;
98104 await page . goto ( url , {
@@ -111,8 +117,8 @@ async function generatePdf(url) {
111117 path : pdfFilePath ,
112118 scale : parseFloat ( 1 ) ,
113119 format : 'A4' ,
120+ printBackground : true ,
114121 // displayHeaderFooter: false,
115- // printBackground: false,
116122 // landscape: false,
117123 } ) ;
118124
0 commit comments