Guest User

Untitled

a guest
Apr 23rd, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. const puppeteer = require('puppeteer');
  2.  
  3. async function createListenPdf(html, header, footer) {
  4. try {
  5. var jobId = uuidv4();
  6.  
  7. this.browser = await puppeteer.launch();
  8. const page = await browser.newPage();
  9. var viewport = {
  10. width:1165,
  11. height:1200
  12. }
  13. page.setViewport(viewport);
  14. page.on("console", msg => {
  15. for (let i = 0; i < msg.args.length; ++i) {
  16. console.log(`${jobId} - From page. Arg ${i}: ${msg.args[i]}`);
  17. }
  18. });
  19.  
  20. html = "<div>Hejsan</div>";
  21. await page.goto(`data:text/html,${html}`, { waitUntil: 'networkidle0' });
  22.  
  23. await page.emulateMedia('screen');
  24.  
  25. console.log("Header footer");
  26. var buffer = await page.pdf({
  27. path: 'sample.pdf',
  28. printBackground: true,
  29. footerTemplate: "<h1>Header tag</h1><h2>H2 tag</h2><hr style='border-bottom: 2px solid #8c8b8b;' />",
  30. headerTemplate: "<h1>Bottom tag</h1><h2>H2 tag</h2><hr style='border-bottom: 2px solid #8c8b8b;' />",
  31. //displayHeaderFooter: true,
  32. margin:{
  33. top: "100px",
  34. bottom: "100px"
  35. }
  36. });
  37. console.log("1 buffer");
  38. console.log(buffer);
  39. var resultHtml = await page.evaluate(() => document.body.innerHTML);
  40.  
  41. console.log("result");
  42. console.log(resultHtml);
  43. console.log(`${jobId} - Done. Will return the stream`);
  44. return buffer;
  45. }
  46. finally {
  47. if (this.browser) {
  48. console.log(`${jobId} - Closing browser`);
  49. this.browser.close();
  50. }
  51. }
Add Comment
Please, Sign In to add comment