Avec le développement d'Internet, de plus en plus de pages Web doivent être converties en fichiers PDF pour être imprimées, partagées et enregistrées. L'émergence de Node.js nous offre un environnement qui peut s'exécuter côté serveur, ce qui rend plus pratique et efficace la conversion de pages Web en fichiers PDF. Cet article explique comment utiliser Node.js pour convertir des pages Web en fichiers PDF.
1. Installez Node.js et les modules associés
Pour utiliser Node.js pour convertir des pages Web en fichiers PDF, vous devez d'abord installer l'environnement Node.js sur votre ordinateur. Node.js peut être téléchargé et installé à partir du site officiel https://nodejs.org/.
Après avoir installé Node.js, vous devez installer certains modules associés :
Peut être installé dans l'outil de ligne de commande via la commande suivante :
npm install express puppeteer
2. Écrivez le code
Après avoir installé Node.js et les modules associés, commencez à écrire du code. Vous trouverez ci-dessous une application Express simple qui convertit automatiquement les pages Web en fichiers PDF lorsqu'elles sont chargées dans le navigateur :
const express = require('express') const puppeteer = require('puppeteer') const app = express() const port = 3000 app.get('/', async (req, res) => { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto('https://www.example.com') const pdf = await page.pdf() res.contentType("application/pdf") res.send(pdf) await browser.close() }) app.listen(port, () => { console.log(`Server running at http://localhost:${port}`) })
Cette application utilise le framework Express pour créer un serveur Web et utilise la bibliothèque Puppeteer pour convertir les pages Web en fichiers PDF. Ouvrez votre navigateur et entrez http://localhost:3000 pour voir le fichier PDF converti.
3. Paramètres des paramètres
La bibliothèque Puppeteer peut définir de nombreux paramètres à personnaliser pendant le processus de conversion de pages Web en fichiers PDF, tels que la taille de la page, les marges, l'en-tête/pied de page, la mise à l'échelle et la pagination, etc. Certains paramètres couramment utilisés sont répertoriés ci-dessous :
Voici un exemple de définition de certains paramètres lors de la conversion d'une page Web en fichier PDF :
const express = require('express') const puppeteer = require('puppeteer') const app = express() const port = 3000 app.get('/', async (req, res) => { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto('https://www.example.com') const pdf = await page.pdf({ format: 'A4', margin: { top: '20mm', right: '20mm', bottom: '20mm', left: '20mm' }, displayHeaderFooter: true, headerTemplate: '<div class="page-number"></div>', footerTemplate: '<div class="page-number"></div>', scale: 0.8 }) res.contentType("application/pdf") res.send(pdf) await browser.close() }) app.listen(port, () => { console.log(`Server running at http://localhost:${port}`) })
Cette application définit le format de page A4, les marges de 20 mm, l'affichage de l'en-tête et du pied de page, le modèle d'en-tête et de pied de page, le rapport de zoom 0,8x. et contrôlez le fichier PDF de sortie pour qu'il n'inclue que les pages 1 à 10.
4. Résumé
Utiliser Node.js pour convertir des pages Web en fichiers PDF est très pratique et efficace. La bibliothèque Puppeteer offre un contrôle complet sur Chrome sans tête, vous permettant de contrôler facilement la taille de la page, les marges, l'en-tête/pied de page, la mise à l'échelle et la pagination, etc. pour répondre à différents besoins. Grâce à l'introduction de cet article, je pense que les lecteurs ont une certaine compréhension du processus de conversion des pages Web en fichiers PDF et peuvent continuellement l'améliorer et l'optimiser dans la pratique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!