首頁 > web前端 > js教程 > 如何使用 Puppeteer 從單頁應用程式產生可靠的 PDF?

如何使用 Puppeteer 從單頁應用程式產生可靠的 PDF?

Linda Hamilton
發布: 2024-10-27 04:49:29
原創
973 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板