我正在尝试使用Puppeteer( https://github.com/GoogleChrome/puppeteer)为快速应用创建PDF文件,以下是代码:
var puppeteer = require('puppeteer');
var browser = await puppeteer.launch({headless: true});
var page = await browser.newPage();
await page.goto(fullUrl + '/#shareDiv', {waitUntil: 'networkidle'});
page.emulateMedia('screen');
await page.pdf({path:'./uploads/pdfDownload'+Date.now()+'.pdf', printBackground: true, width: '1000px'});
browser.close();
这会生成相当不错的PDF,但它隐藏了任何输入元素(无线电,复选框等)
此外,我想针对ID引用的特定div。
另一件事是摆脱PDF上的页面。
Puppeteer上有这种自定义吗?
答案 0 :(得分:0)
如果有人遇到类似这样的问题,请注意Pupeteer几乎完全匹配Chrome,所以如果你使用Mozilla Firefox测试它不会完全匹配你的PDF,那么在使用Puppeteer时在Chrome中测试会更顺畅
答案 1 :(得分:0)
Puppeteer将使用print-media生成PDF,因此您可能希望尝试模拟屏幕,看看是否能解决您的问题(see docs here)。