首页 > web前端 > js教程 > 如何使用 Puppeteer 从单页应用程序生成可靠的 PDF?

如何使用 Puppeteer 从单页应用程序生成可靠的 PDF?

Linda Hamilton
发布: 2024-10-27 04:49:29
原创
992 人浏览过

How to Generate Reliable PDFs from Single-Page Applications Using Puppeteer?

Puppeteer:通过等待页面完成来可靠地生成 PDF

许多基于 Web 的应用程序都面临着从网页高效生成 PDF 的问题。单页应用程序尤其在这方面提出了挑战。本文解决了这个问题,并为那些使用 Puppeteer 生成 PDF 的人提供了解决方案。

初步尝试和挑战

初始方法可能涉及使用 page.waitFor('networkidle2 ')等待网络活动稳定下来。但对于单页应用,这种方法往往无法等待页面完全加载,导致PDF文档被截断。

解决方案:等待导航

更可靠的解决方案是使用 page.waitForNavigation() 等待新页面完全加载后再生成 PDF:

<code class="python">await page.goto(fullUrl, {
  waitUntil: 'networkidle0',
});

await page.type('#username', 'scott');
await page.type('#password', 'tiger');

await page.click('#Login_Button');

await page.waitForNavigation({
  waitUntil: 'networkidle0',
});

await page.pdf({
  path: outputFileName,
  displayHeaderFooter: true,
  headerTemplate: '',
  footerTemplate: '',
  printBackground: true,
  format: 'A4',
});</code>
登录后复制

此方法确保仅在整个导航过程之后才生成 PDF已完成。

等待动态元素

在需要包含在 PDF 中的动态生成元素的情况下,可以使用 page.waitForSelector()确保在继续之前呈现内容:

<code class="python">await page.waitForSelector('#example', {
  visible: true,
});</code>
登录后复制

通过使用这些技术,开发人员可以可靠地从单页应用程序生成 PDF,确保在文档中捕获所有必要的内容。

以上是如何使用 Puppeteer 从单页应用程序生成可靠的 PDF?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板