DEV Community

Benjamin Mock
Benjamin Mock

Posted on


πŸ“· More on Screenshots with JavaScript in Node.js (creating PDFs)

In the previous example we created a png screenshot. But we can also generate PDFs in various formats!

// instead of calling await page.screenshot we now call
await page.pdf({
    path: 'codesnacks.pdf',
    format: 'A4'
Enter fullscreen mode Exit fullscreen mode

For completeness, here's the full code to generate a PDF of a webpage in the A4 format:

// npm i puppeteer
const puppeteer = require('puppeteer');

// we're using async/await - so we need an async function, that we can run
const run = async () => {
  // open the browser and prepare a page
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.goto('');

  await page.pdf({
    path: 'codesnacks.pdf',
    format: 'A4',

  // close the browser
  await browser.close();

// run the async function
Enter fullscreen mode Exit fullscreen mode

Top comments (0)

Need a better mental model for async/await?

Check out this classic DEV post on the subject.

β­οΈπŸŽ€ JavaScript Visualized: Promises & Async/Await

async await