mrafiqk / html-pdf-node

190 stars 118 forks source link

Can I modify the default timeout of puppeteer? #74

Open Semproms opened 2 years ago

Semproms commented 2 years ago

I am trying to generate a PDF file with the URL method in html-pdf-node. The problem is that by default Puppeteer has a 30 seconds timeout. Some of my pages take more time to load, so I'd like to increase the timeout to at least two minutes. With puppeteer I know that I can declare my timeout in page.goto like this:

  await page.goto(file.url, {
    waitUntil:[ 'load', 'networkidle0'], // wait for page to load completely
    timeout: 600000
  });

But using html_pdf_node, can I pass-through the timeout as a parameter when I call this function html_to_pdf.generatePdf(file, options)?

var html_to_pdf = require('html-pdf-node');

const options = { format: 'A4', args: [
    // for running on docker
    "--disable-gpu",
    "--disable-dev-shm-usage",
    "--disable-setuid-sandbox",
    "--no-sandbox",
    "--font-render-hinting=none",
    '--single-process', 
    '--no-zygote'
  ] };

let file = { url: "https://my-url.com" };
html_to_pdf.generatePdf(file, options).then(pdfBuffer => {
  console.log("PDF Buffer:-", pdfBuffer);
});

Thank you!