So konvertieren Sie HTML in PDF mit Node.js (Anleitung)

PHPz
Freigeben: 2023-04-17 16:04:33
Original
1563 Leute haben es durchsucht

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
Nach dem Login kopieren

Install express

express ist ein Node.js-basiertes Framework für die Webanwendungsentwicklung, das über installiert werden kann npm-Installation:

npm install -g express
Nach dem Login kopieren

Installieren Sie ejs

ejs ist eine effiziente JavaScript-Vorlagen-Engine, die über npm installiert werden kann:

npm install -g ejs
Nach dem Login kopieren

Erstellen Sie eine einfache Webanwendung:

Als nächstes erstellen wir eine einfache Webanwendung zum Testen unserer HTML-zu-PDF-Konvertierung Wirkung.

  1. Erstellen Sie ein Projekt mit dem Namen „node-pdf“ und führen Sie es in diesem Verzeichnis aus:
npm init
Nach dem Login kopieren
  1. Erstellen Sie im Verzeichnis „node-pdf“ einen Ordner mit dem Namen „public“, um statische Dateien zu speichern.
  2. Erstellen Sie im öffentlichen Ordner eine Datei mit dem Namen index.html, um den HTML-Inhalt anzuzeigen, der in PDF konvertiert werden muss. Der Inhalt ist wie folgt:
<!doctype html>
<html>

<head>
  <title>HTML转PDF</title>
  <meta charset="utf-8">
</head>

<body>
  <h1>HTML转PDF</h1>
  <p>这是一段需要转换为PDF的HTML内容。</p>
</body>

</html>
Nach dem Login kopieren
  1. Erstellen Sie im Node-PDF-Verzeichnis eine Datei mit dem Namen app.js zum Erstellen von Webanwendungen. Der Inhalt ist wie folgt:
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(\&#39;../public/index.html\&#39;) %>', {});
  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!');
});
Nach dem Login kopieren

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.

  1. Erstellen Sie im Verzeichnis node-pdf einen Ordner mit dem Namen „views“ und erstellen Sie unter dem Ordner eine Datei mit dem Namen „index.ejs“, um die Vorlagendatei der Webanwendung festzulegen. Der Inhalt ist wie folgt:
<!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>
Nach dem Login kopieren
  1. Öffnen Sie die Befehlszeile im Node-PDF-Verzeichnis und führen Sie den folgenden Befehl aus, um die Anwendung zu starten:
node app.js
Nach dem Login kopieren
  1. Besuchen Sie http://localhost:3000/ im Browser, um darauf zuzugreifen Klicken Sie auf der Server-Homepage auf „PDF herunterladen“, um die HTML-Datei in PDF zu konvertieren und herunterzuladen.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!