我在node.js中使用Puppeteer
将html
字符串转换为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()
}
字符串html
的head
看起来像这样:
<link href="C:\dev\project\src\views\tailwind.min.css" rel="stylesheet">
<style>
.maindiv{
padding-top:15pt;
}
</style>
型
我也试过使用url
,但没有改变。
2条答案
按热度按时间5gfr0r5j1#
我不知道你是否已经解决了上面的问题。我在将JS文件包含到HTML模板中时遇到了同样的问题。我通过在
page.setContent()
之前添加await page.addScriptTag({path: './ej2.min.js'})
来解决这个问题。不需要在HTML页面中添加script标签。要包含样式文件,可以使用以下方法addStyleTag('file-name-goes-here')
。对于文件路径,请使用基本项目目录的相对路径。mspsb9vt2#
等待css/js依赖首先加载似乎可以解决这个问题。
字符串