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

标签 javascript node.js puppeteer

我在 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 代替,但没有任何改变。

最佳答案

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

关于javascript - Puppeteer HTML to PDF 不应用外部 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62890474/

相关文章:

javascript - 如何在页面滚动时保持克隆的表头不变

javascript - 具有自定义要求和数据操作的数组过滤器

javascript - 断言测试 2 个数组 deepEqual

javascript - Puppeteer 在指定时间安排 Action

javascript - 将 JavaScript 注入(inject) Puppeteer 的最佳方法是什么?

typescript - 如何检查 Puppeteer 页面当前是否处于导航状态?

javascript - Greasemonkey与jQuery,如何编写greasemonkey脚本来修改页面DOM元素?

javascript - 如何创建像 Date() 这样的 javascript 对象?

javascript - 无法捕获 JSON 对象中的键并将它们映射为 CSV 文件中的第一行

javascript - 读取 .env 文件并将所有行转换为一个对象