这是我的 node.js 和 HTML 模板代码,它从 HTML 模板创建 PDF。它不是把颜色。
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto("file:///D:/pdf_export/template/template.html");
await page.pdf({
path: 'output.pdf',
printBackground: true
});
await browser.close();
})()
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
<body>
<p style="color: red;">Hello World</p>
</body>
</html>
当我打开 output.pdf 时,它只显示黑色而不是红色的“Hello world”。
最佳答案
Puppeteer 只是一个驱动 Chrome/Chromium 的库,所以如果在使用它时出现任何问题,我们最好的办法是使用 puppeteer.launch({headless:false})
打开 Chromium并在那里调试。
在 <style></style>
中设置您的页面 css标签。
您可以使用以下 CSS 代码解决此问题:
html {
-webkit-print-color-adjust: exact;
}
p {
color: #FF0000;
}
关于node.js - 当我尝试将 PDF 保存在磁盘上时,Puppeteer 不渲染颜色、背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60736354/