Heim > Artikel > Web-Frontend > So konvertieren Sie HTML in PDF mit Node.js (Anleitung)
Mit der Entwicklung des Internets müssen immer mehr Websites Dokument-Downloads im PDF-Format anbieten, damit Benutzer sie offline lesen oder drucken können. Die Verwendung von Node.js zum Konvertieren von HTML in PDF ist zu einer beliebten Lösung geworden.
In diesem Artikel stellen wir vor, wie Sie Node.js zum Konvertieren von HTML in PDF verwenden, und analysieren gleichzeitig verwandte Technologien und Vorsichtsmaßnahmen.
Umgebungsvorbereitung:
Bevor Sie mit der Konvertierung von HTML in PDF beginnen, müssen Sie sicherstellen, dass Node.js und zugehörige Abhängigkeiten in der lokalen Umgebung installiert wurden. Zu den in diesem Artikel verwendeten Abhängigkeiten gehören: HTML-PDF, EJS, Express usw.
Install html-pdf
html-pdf ist ein Open-Source-Node.js-Paket, das über npm installiert werden kann:
npm install -g html-pdf
Install express
express ist ein Node.js-basiertes Framework für die Webanwendungsentwicklung, das über installiert werden kann npm-Installation:
npm install -g express
Installieren Sie ejs
ejs ist eine effiziente JavaScript-Vorlagen-Engine, die über npm installiert werden kann:
npm install -g ejs
Erstellen Sie eine einfache Webanwendung:
Als nächstes erstellen wir eine einfache Webanwendung zum Testen unserer HTML-zu-PDF-Konvertierung Wirkung.
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!'); });
Im obigen Code definieren wir zwei Routen: eine für den Zugriff auf die Server-Homepage (/) und die andere für die Konvertierung von HTML in PDF und den Download (/download).
Unter anderem wird die EJS-Vorlagen-Engine zum Rendern der Datei index.html im öffentlichen Ordner verwendet, HTML-PDF wird zum Konvertieren der gerenderten HTML-Datei verwendet und schließlich wird der Browser zum Speichern der PDF-Datei als Download verwendet.
<!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
Dieser Artikel ist nur eine einfache Anleitung zum Konvertieren von HTML in PDF basierend auf Node.js. Weitere Details und Funktionen finden Sie in HTML-PDF, EJS, Express und anderen verwandten Dokumenten. Gleichzeitig müssen Sie im eigentlichen Bewerbungsprozess auch auf Faktoren wie Caching und die Komplexität der HTML-Struktur achten, um die Effizienz und Qualität der Konvertierung von HTML in PDF zu verbessern.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie HTML in PDF mit Node.js (Anleitung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!