首页 > 解决方案 > Puppeteer 搞砸了 PDF 渲染

问题描述

我正在尝试从加载了某些内容的页面创建 PDF 文件。我尝试了 Puppeteer,但由于某种原因,我无法获得正确应用 CSS 的 PDF。

这是代码、网页截图以及 PDF 的创建方式。

try {
  const browser = await puppeteer.launch({
    args: ['--no-sandbox']
  });
  const page = await browser.newPage();

  await page.emulateMedia('screen');
  await page.goto(`http://localhost:3000/imprimir/${pedido.numPedido}/${nomeCompleto}`, {
    waitUntil: 'networkidle2'
  });
  await page.pdf({
    path: `public/upload/${pedido.numPedido}.pdf`,
    format: 'A4',
    printBackground: true,
    landscape: true
  });
  console.log('done');
  await browser.close();
  Order.updateOne({
    numPedido: pedido.numPedido
  }, {
    temPDF: true
  }, function(err) {
    if (err) {
      console.log(err);
    } else {
      res.redirect('/pre-press');
    }
  });
} catch (e) {
  console.log('out error', e);
}

RightSize 搞砸了

标签: node.jspuppeteer

解决方案


推荐阅读