Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const puppeteer = require('puppeteer');
- async function createListenPdf(html, header, footer) {
- try {
- var jobId = uuidv4();
- this.browser = await puppeteer.launch();
- const page = await browser.newPage();
- var viewport = {
- width:1165,
- height:1200
- }
- page.setViewport(viewport);
- page.on("console", msg => {
- for (let i = 0; i < msg.args.length; ++i) {
- console.log(`${jobId} - From page. Arg ${i}: ${msg.args[i]}`);
- }
- });
- html = "<div>Hejsan</div>";
- await page.goto(`data:text/html,${html}`, { waitUntil: 'networkidle0' });
- await page.emulateMedia('screen');
- console.log("Header footer");
- var buffer = await page.pdf({
- path: 'sample.pdf',
- printBackground: true,
- footerTemplate: "<h1>Header tag</h1><h2>H2 tag</h2><hr style='border-bottom: 2px solid #8c8b8b;' />",
- headerTemplate: "<h1>Bottom tag</h1><h2>H2 tag</h2><hr style='border-bottom: 2px solid #8c8b8b;' />",
- //displayHeaderFooter: true,
- margin:{
- top: "100px",
- bottom: "100px"
- }
- });
- console.log("1 buffer");
- console.log(buffer);
- var resultHtml = await page.evaluate(() => document.body.innerHTML);
- console.log("result");
- console.log(resultHtml);
- console.log(`${jobId} - Done. Will return the stream`);
- return buffer;
- }
- finally {
- if (this.browser) {
- console.log(`${jobId} - Closing browser`);
- this.browser.close();
- }
- }
Add Comment
Please, Sign In to add comment