import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Create a PDF from an HTML string
const pdf = await PdfDocument.fromHtml("<h1>Hello World</h1>");
// Export the PDF to a file
await pdf.saveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external HTML assets: Images, CSS, and JavaScript.
const htmlContentWithAssets = "<img src='icons/iron.png'>";
const advancedPdf = await PdfDocument.fromHtml(htmlContentWithAssets);
// Save the PDF with loaded assets
await advancedPdf.saveAs("html-with-assets.pdf");
})();
Wie man in Node.js eine PDF-Datei aus einer Vorlage generiert
Darrius Serrant
17. November 2023
Aktualisiert 8. Oktober 2024
Teilen Sie:
Dieser Artikel wird ein Beispiel dafür erkunden, wie Sie ein PDF-Dokument aus einer HTML-Vorlage mit einer PDF-Bibliothek namens IronPDF for Node.js erstellen können.
Was ist IronPDF for Node.js?
IronPDF for Node.js ist ein leistungsstarkes und vielseitiges Tool, das nahtlos mit Node.js integriert und es Entwicklern ermöglicht, PDFs mühelos zu erstellen, zu bearbeiten und in ihren Anwendungen zu verwalten. Mit seinem umfassenden Funktionsumfang und einer intuitiven API ermöglicht IronPDF Entwicklern die Rationalisierung verschiedener Aufgaben im Zusammenhang mit der PDF-Erstellung, von der Erstellung visuell ansprechender Dokumente bis hin zum Hinzufügen interaktiver Elemente, wobei ein hohes Maß an Kontrolle und Anpassungsfähigkeit erhalten bleibt. IronPDF for Node.js bietet eine zuverlässige und effiziente Lösung für die Erstellung von Berichten, Rechnungen oder anderen wichtigen Dokumenten, die eine Vielzahl von Anforderungen an die Erstellung von PDF-Seiten nahtlos und entwicklerfreundlich erfüllt.
IronPDF-Funktionen
PDF-Erstellung aus HTML/CSS: Erstellen Sie PDF-Dokumente aus HTML- und CSS-Quellen. Damit können Sie Webseiten oder HTML-Vorlagen in das PDF-Format konvertieren.
PDF-Manipulation und -Bearbeitung: Bearbeiten und Modifizieren bestehender PDFs durch Hinzufügen, Entfernen oder Aktualisieren von Texten, Bildern, Anmerkungen und anderen Elementen innerhalb der PDF-Datei.
Textextraktion: Extrahieren Sie Text und Daten aus PDFs, sodass Sie den Inhalt in anderen Anwendungen verwenden oder für Datenanalysen nutzen können.
Anpassung:Passen Sie das Erscheinungsbild und Layout von PDF-Dokumenten an, einschließlich Seitengröße, Schriftarten, Farben, Kopfzeilen, Fußzeilen und anderen Designelementen.
Plattformübergreifende Kompatibilität: Stellen Sie sicher, dass die Bibliothek mit Node.js auf verschiedenen Betriebssystemen kompatibel ist, um sie für Entwickler, die an verschiedenen Plattformen arbeiten, vielseitig einsetzbar zu machen.
Installation von IronPDF for Node.js
In diesem Abschnitt wird beschrieben, wie IronPDF for Node.js installiert und ein Node.js-Projekt eingerichtet wird.
Bevor Sie beginnen, stellen Sie sicher, dass Node.js auf Ihrem System installiert ist.
Öffnen Sie die Eingabeaufforderung (CMD) und starten Sie ein neues Node.js-Projekt mit den folgenden Befehlen:
mkdir IronPDF # Creates a new directory for the project.
cd IronPDF # Navigates to the newly created directory.
npm init -y # Creates a package.json file to store project-related metadata and dependencies.
mkdir IronPDF # Creates a new directory for the project.
cd IronPDF # Navigates to the newly created directory.
npm init -y # Creates a package.json file to store project-related metadata and dependencies.
SHELL
Öffnen Sie die Eingabeaufforderung (CMD) und führen Sie den Befehl aus
Sobald die Ersteinrichtung abgeschlossen ist, installieren Sie IronPDF mit dem folgenden Befehl:
```:Shell
:ProduktInstallation
Öffnen Sie das Projekt in Visual Studio Code und erstellen Sie eine neue Datei namens "index.js".
Öffnen Sie die Datei package.json und fügen Sie die folgende Zeile unter "type" hinzu, um die Verwendung von Modulen zu aktivieren:
"type": "module",
Die Beispiel-datei package.json
Mit diesen Schritten ist IronPDF for Node.js erfolgreich installiert, und die Umgebung ist für die Ausführung von IronPDF-Code eingerichtet.
PDF aus HTML-Vorlage mit IronPDF for Node.js erstellen
IronPDF for Node.js bietet eine Funktion, die es Benutzern ermöglicht, PDFs entweder aus einer HTML-Vorlage oder einer HTML-Seite zu erstellen. Diese Funktion ermöglicht es den Benutzern, diese Vorlagen mit vom Benutzer bereitgestellten Eingaben zu füllen.
Der unten stehende Code zeigt, wie man ein PDF-Dokument mit Hilfe einer HTML-Vorlage erstellt und schreibt.
import { PdfDocument } from "@ironsoftware/ironpdf";
import readline from 'readline';
const generatePdf = async (userInput, fileName) => {
// HTML template with placeholders
const htmlTemplate = `
<!DOCTYPE html>
<html>
<body>
<h1>${userInput.title}</h1>
<p>User's name: ${userInput.userName}</p>
<p>User's email: ${userInput.userEmail}</p>
</body>
</html>
`;
// Create a PDF from the modified HTML template
const pdf = await PdfDocument.fromHtml(htmlTemplate);
// Save the PDF
await pdf.saveAs(fileName);
console.log(`PDF saved as ${fileName}`);
};
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Enter title: ', (title) => {
rl.question('Enter user name: ', (userName) => {
rl.question('Enter user email: ', async (userEmail) => {
// User-provided data
const userInput = {
title,
userName,
userEmail
};
// Generate the PDF
await generatePdf(userInput, "output.pdf");
rl.close();
});
});
});
import { PdfDocument } from "@ironsoftware/ironpdf";
import readline from 'readline';
const generatePdf = async (userInput, fileName) => {
// HTML template with placeholders
const htmlTemplate = `
<!DOCTYPE html>
<html>
<body>
<h1>${userInput.title}</h1>
<p>User's name: ${userInput.userName}</p>
<p>User's email: ${userInput.userEmail}</p>
</body>
</html>
`;
// Create a PDF from the modified HTML template
const pdf = await PdfDocument.fromHtml(htmlTemplate);
// Save the PDF
await pdf.saveAs(fileName);
console.log(`PDF saved as ${fileName}`);
};
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Enter title: ', (title) => {
rl.question('Enter user name: ', (userName) => {
rl.question('Enter user email: ', async (userEmail) => {
// User-provided data
const userInput = {
title,
userName,
userEmail
};
// Generate the PDF
await generatePdf(userInput, "output.pdf");
rl.close();
});
});
});
NODE.JS
Das obige Codebeispiel definiert ein JavaScript-Programm, das Benutzereingaben für einen Titel, Benutzernamen und Benutzer-E-Mail über die Kommandozeile mithilfe des readline-Moduls entgegennimmt. Die Methode generatePdf() ist definiert, um ein PDF-Dokument mithilfe einer bereitgestellten HTML-Vorlage zu erstellen und es unter dem angegebenen Dateinamen zu speichern. Die HTML-Vorlage enthält Platzhalter für den Titel, den Benutzernamen und die E-Mail-Adresse des Benutzers, die mit den vom Benutzer bereitgestellten Daten ausgefüllt werden. Die PdfDocument-Klasse aus dem @ironsoftware/ironpdf-Paket wird verwendet, um das PDF aus der HTML-Vorlage zu erstellen. Nach der Generierung der PDF-Datei wird diese unter dem angegebenen Dateinamen gespeichert und eine Meldung zur Bestätigung des Speichervorgangs auf der Konsole protokolliert.
Das readline-Modul wird verwendet, um den Benutzer nach relevanten Daten als Eingabe zu fragen, indem es nacheinander nach dem Titel, dem Benutzernamen und der Benutzer-E-Mail fragt. Die Antworten des Benutzers auf diese Eingabeaufforderungen werden gesammelt und in einem Objekt namens userInput gespeichert. Die generatePdf()-Methode wird dann mit dieser Benutzereingabe und einem Standarddateinamen "output.pdf" aufgerufen, um das PDF-Dokument basierend auf den bereitgestellten Daten zu erstellen, zu speichern oder herunterzuladen. Schließlich wird die Readline-Schnittstelle geschlossen und das Programm beendet.
PDF-Erzeugungstest#1
Die Konsolenausgabe
Die output.pdf
PDF-Generierung Test#2
Die Konsolenausgabe
Die output.pdf-Datei
Schlussfolgerung
Dieses Tutorial enthüllte den Prozess der Nutzung von Node.js, um mühelos PDFs zu erstellen, indem dynamische Daten mit vordefinierten Vorlagen kombiniert werden, wobei die entscheidende Rolle von IronPDF hervorgehoben wird.
IronPDF for Node.js integriert sich nahtlos mit Node.js und ermöglicht Entwicklern, PDF-Dokumente effektiv zu erstellen, zu bearbeiten und zu verwalten. Es bietet eine umfassende Palette von Funktionen wie die PDF-Erstellung aus HTML/CSS, das Bearbeiten bestehender PDF-Dateien, das Zusammenführen/Teilen von PDFs, das Verwalten von Formularen, die Gewährleistung von Sicherheit, die Ermöglichung der Textextraktion und Anpassung.
Der Schritt-für-Schritt-Installationsprozess und das praktische Beispiel zeigten, wie IronPDF effektiv in ein Node.js-Projekt implementiert werden kann. Durch die nahtlose Integration der Template-basierten PDF-Generierung können Entwickler verschiedene Anforderungen an die Dokumentenerierung effizient erfüllen. Das macht Node.js und IronPDF zu einer leistungsstarken Kombination für eine optimierte und entwicklerfreundliche PDF-Generierung. Dieselbe Technik kann für die dynamische Erstellung von Rechnungen unterwegs verwendet werden.
Sie können IronPDF für Node.js installieren und die Codebeispiele auf der folgenden npm-Webseite finden.
IronPDF bietet eine kostenlose Testlizenz an, sodass Benutzer alle von IronPDF angebotenen Funktionen vor dem Kauf ausprobieren können. Für weitere Informationen besuchen Sie bitte die IronPDF-Lizenzierungsseite.
Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full Stack WebOps Marketing Engineer bei Iron Software. Schon in jungen Jahren vom Programmieren angezogen, sah er das Rechnen sowohl als mysteriös als auch zugänglich an, was es zum perfekten Medium für Kreativität und Problemlösung machte.
Bei Iron Software genießt Darrius es, neue Dinge zu erschaffen und komplexe Konzepte zu vereinfachen, um sie verständlicher zu machen. Als einer unserer ansässigen Entwickler hat er sich auch freiwillig gemeldet, um Schüler zu unterrichten und sein Fachwissen mit der nächsten Generation zu teilen.
Für Darrius ist seine Arbeit erfüllend, weil sie geschätzt wird und einen echten Einfluss hat.
< PREVIOUS Herunterladen von PDF-Dateien von einer URL in Node.js