Skip to content

Commit 241283f

Browse files
committed
add media parameter + tweaks
1 parent 2ec89a6 commit 241283f

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

pdf-service.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)