Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menjana PDF yang Boleh Dipercayai daripada Aplikasi Satu Halaman Menggunakan Puppeteer?

Bagaimana untuk Menjana PDF yang Boleh Dipercayai daripada Aplikasi Satu Halaman Menggunakan Puppeteer?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 04:49:29864semak imbas

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

Puppeteer: Penjanaan PDF Dipercayai dengan Menunggu Penyiapan Halaman

Banyak aplikasi berasaskan web menghadapi isu menjana PDF daripada halaman web dengan cekap. Aplikasi satu halaman, khususnya, memberikan cabaran dalam hal ini. Artikel ini menangani masalah dan menyediakan penyelesaian untuk mereka yang menggunakan Puppeteer untuk menjana PDF.

Percubaan dan Cabaran Awal

Pendekatan awal mungkin melibatkan penggunaan page.waitFor('networkidle2 ') untuk menunggu sehingga aktiviti rangkaian telah stabil. Walau bagaimanapun, untuk aplikasi satu halaman, kaedah ini selalunya gagal menunggu untuk memuatkan halaman yang lengkap, yang membawa kepada dokumen PDF yang dipenggal.

Penyelesaian: Tunggu Navigasi

Penyelesaian yang lebih dipercayai ialah menggunakan page.waitForNavigation() untuk menunggu halaman baharu dimuatkan sepenuhnya sebelum menjana 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>

Kaedah ini memastikan bahawa PDF hanya dijana selepas keseluruhan proses navigasi selesai.

Menunggu Elemen Dinamik

Dalam keadaan di mana terdapat elemen yang dijana secara dinamik yang perlu disertakan dalam PDF, page.waitForSelector() boleh digunakan untuk memastikan kandungan dipaparkan sebelum meneruskan:

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

Dengan menggunakan teknik ini, pembangun boleh menjana PDF daripada aplikasi satu halaman dengan kebolehpercayaan, memastikan semua kandungan yang diperlukan ditangkap dalam dokumen.

Atas ialah kandungan terperinci Bagaimana untuk Menjana PDF yang Boleh Dipercayai daripada Aplikasi Satu Halaman Menggunakan Puppeteer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn