node.js - 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);
}
解决方案
推荐阅读
- d3.js - 无法更改 D3js 旭日形图中特定路径的不透明度
- amazon-web-services - AWS S3 重定向未重定向到预期项目
- ios - 从我的个人应用商店连接帐户中删除应用后,将 iOS 应用上传到客户的开发者帐户时出现问题
- c# - 在 XUnit 测试中手动处理 SqlConnection
- python - 无法使用 Django 重定向页面
- javascript - 如何在 gatsby js 中推送到 url?
- c# - .NET Core 控制台应用程序和 aspnetcore_environment 变量
- c# - SSIS自定义组件未显示在工具箱中
- c# - SQL IN 子句 - NEST C# - ElasticSearch 条款不适用于其他过滤器
- ios - iOS - Swift - 使用 Apple 邮件附件中的 UIPasteboard 粘贴文件(pdf、docx)时出现问题