NodeJS Puppeteer HTML to PDF不应用外部css文件

voase2hg  于 5个月前  发布在  Node.js
关注(0)|答案(2)|浏览(54)

我在node.js中使用Puppeteerhtml字符串转换为pdf文件。head中的样式可以工作,但从本地.css文件中链接的绝对路径不能工作。下面是代码:

createPDF: async (html, file) => {
     const browser = await puppeteer.launch({
          headless: true
     })
     const page = await browser.newPage()
     await page.setContent(html, {
          waitUntil: 'domcontentloaded'
     })
     await page.pdf({
          format: 'A4',
          path: file,
          printBackground: true
     })
     await browser.close()
}

字符串
htmlhead看起来像这样:

<link href="C:\dev\project\src\views\tailwind.min.css" rel="stylesheet">
<style>
     .maindiv{
          padding-top:15pt;
     }
</style>


我也试过使用url,但没有改变。

5gfr0r5j

5gfr0r5j1#

我不知道你是否已经解决了上面的问题。我在将JS文件包含到HTML模板中时遇到了同样的问题。我通过在page.setContent()之前添加await page.addScriptTag({path: './ej2.min.js'})来解决这个问题。不需要在HTML页面中添加script标签。要包含样式文件,可以使用以下方法addStyleTag('file-name-goes-here')。对于文件路径,请使用基本项目目录的相对路径。

mspsb9vt

mspsb9vt2#

等待css/js依赖首先加载似乎可以解决这个问题。

await page.setContent(html, { waitUntil: 'load' });

字符串

相关问题