Maison >interface Web >Questions et réponses frontales >Comment convertir du HTML en PDF avec Node.js (Guide)
Avec le développement d'Internet, de plus en plus de sites Web doivent proposer le téléchargement de documents au format PDF pour faciliter la lecture ou l'impression hors ligne des utilisateurs. Utiliser Node.js pour convertir du HTML en PDF est devenu une solution populaire.
Dans cet article, nous présenterons comment utiliser Node.js pour convertir du HTML en PDF, tout en analysant les technologies et les précautions associées.
Préparation de l'environnement :
Avant de commencer à convertir du HTML en PDF, vous devez vous assurer que Node.js et les dépendances associées ont été installés dans l'environnement local. Les dépendances utilisées dans cet article incluent : html-pdf, ejs, express, etc.
Install html-pdf
html-pdf est un package Node.js open source qui peut être installé via npm :
npm install -g html-pdf
Install express
express est un framework de développement d'applications Web basé sur Node.js qui peut être installé via Installation de npm :
npm install -g express
Installer ejs
ejs est un moteur de modèle JavaScript efficace qui peut être installé via npm :
npm install -g ejs
Créer une application Web simple :
Ensuite, nous créons une application Web simple pour tester notre conversion HTML en PDF effet.
npm init
<!doctype html> <html> <head> <title>HTML转PDF</title> <meta charset="utf-8"> </head> <body> <h1>HTML转PDF</h1> <p>这是一段需要转换为PDF的HTML内容。</p> </body> </html>
const express = require('express'); const app = express(); const ejs = require('ejs'); const path = require('path'); // 设置模板引擎 app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); // 服务器首页 app.get('/', function(req, res) { res.render('index'); }); // 转换HTML为PDF并进行下载 app.get('/download', function(req, res) { const pdf = require('html-pdf'); const html = ejs.render('<%- include(\'../public/index.html\') %>', {}); const options = { format: 'A4' }; pdf.create(html, options).toStream(function(err, stream) { if (err) return res.send(err.message); res.setHeader('Content-disposition', 'attachment; filename=sample.pdf'); res.setHeader('Content-type', 'application/pdf'); stream.pipe(res); }); }); // 启动服务器 app.listen(3000, function() { console.log('App listening on port 3000!'); });
Dans le code ci-dessus, nous définissons deux routes : une pour accéder à la page d'accueil du serveur (/), et l'autre pour convertir le HTML en PDF et le télécharger (/download).
Parmi eux, le moteur de modèles ejs est utilisé pour restituer le fichier index.html dans le dossier public, html-pdf est utilisé pour convertir le fichier HTML rendu, et enfin le navigateur est utilisé pour enregistrer le fichier PDF en téléchargement.
<!doctype html> <html> <head> <title>HTML转PDF</title> <meta charset="utf-8"> </head> <body> <h1>HTML转PDF</h1> <p>这是一段需要转换为PDF的HTML内容。</p> <a href="/download">下载PDF</a> </body> </html>
node app.js
Cet article n'est qu'un simple guide pour convertir du HTML en PDF basé sur Node.js. Pour plus de détails et de fonctions, veuillez vous référer à html-pdf, ejs, express et autres documents connexes. Dans le même temps, dans le processus de candidature proprement dit, vous devez également prêter attention à des facteurs tels que la mise en cache et la complexité de la structure HTML pour améliorer l'efficacité et la qualité de la conversion HTML en PDF.
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!