我正在使用操纵up通过Fetch API获取PDF并将文件保存到磁盘。
我正在尝试将PDF保存到磁盘上的文件中,但是当我打开pdf时,会看到白色的屏幕。
!!已编辑!!
在https://github.com/GoogleChrome/puppeteer/issues/299#issuecomment-340199753
处找到了解决方案答案 0 :(得分:1)
由于您已经在使用Puppeteer,因此将网页保存为PDF的最佳方法是先使用Puppeteer将其打开,然后再使用Puppeteer API来保存PDF。
page.pdf()
函数就是这样做的。 See docs。
我假设通过使用fetch()
,您只是下载getPdf.asp
本身不会产生有效的PDF响应流。也许它仅以客户端HTML响应,其中包括从某些远程资源获取PDF的脚本。
因此,我会尝试:
await page.goto(PDF_PAGE_URL);
const pdfBuffer = await page.pdf();
// process the buffer
希望有帮助!
答案 1 :(得分:1)
await page.pdf({ path: 'path/to/save/pdf', format: 'A4' });
这会将PDF保存到磁盘中。