PDF-Dateien in Node.js erstellen
Das programmgesteuerte Erstellen von PDF-Dateien in Node.js erfordert eine Bibliothek, die das Rendering von HTML präzise handhabt, moderne CSS unterstützt und sauber in die asynchronen Muster von Node integriert. IronPDF verwendet eine Chromium-basierte Rendering-Engine, um HTML-Inhalte in PDFs zu konvertieren, die dem Druckausgabebild von Chrome entsprechen und vollständiges CSS, Inline-JavaScript und responsive Layouts direkt unterstützen.
Diese Anleitung behandelt den vollständigen Workflow: Installation, Erzeugen von PDFs aus HTML-Strings, HTML-Dateien und URLs, Konfigurieren von Ausgabeeinstellungen und Anwenden von Unternehmensfunktionen wie Kopf- und Fußzeilen, digitalen Signaturen und Verschlüsselung.
Schnellstart: Ein PDF in Node.js erstellen
- Installieren Sie IronPDF über npm:
npm install @ironsoftware/ironpdf - Importiere
PdfDocumentaus@ironsoftware/ironpdf - Rufen Sie
PdfDocument.fromHtml()mit Ihrem HTML-Inhalt auf - Rufen Sie
.saveAs()auf, um die PDF-Datei auf die Festplatte zu schreiben
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/quickstart.js
import { PdfDocument } from "@ironsoftware/ironpdf";
const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");
Konfigurieren Sie IronPdfEngine für Ihre Plattform, bevor Sie das Programm in der Produktion einsetzen. Siehe die IronPdfEngine-Einrichtungsanleitung für Windows, Linux, macOS und Docker-Anleitungen.
Minimaler Arbeitsablauf (5 Schritte)
- Installieren Sie IronPDF:
npm install @ironsoftware/ironpdf - Importieren Sie
PdfDocumentvon@ironsoftware/ironpdf - Erstellen Sie ein PDF mit
PdfDocument.fromHtml(),PdfDocument.fromFile()oderPdfDocument.fromUrl() - Wenden Sie optionale Einstellungen an: Papiergröße, Ränder, Kopfzeilen, Fußzeilen
- Speichern Sie die Ausgabe mit
pdf.saveAs("output.pdf")
Wie installiere ich IronPDF for Node.js?
Installieren Sie das @ironsoftware/ironpdf-Paket mit npm. Das Paket funktioniert mit Node.js 12.0 oder höher und unterstützt sowohl ESM- als auch CommonJS-Modulformate.
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
IronPDF for Node.js hängt von der IronPDF Engine-Binärdatei ab, die das zugrunde liegende chromiumbasierte Rendering handhabt. Die Engine wird beim ersten Start automatisch heruntergeladen, aber Sie können das plattformspezifische Paket vorab installieren, um Laufzeit-Downloads zu vermeiden. Dies ist nützlich in eingeschränkten Netzwerkumgebungen oder Docker-basierten CI-Pipelines:
| Plattform | Paket |
|---|---|
| Windows x64 | @ironsoftware/IronPDF-engine-Windows-x64 |
| Linux x64 | @ironsoftware/IronPDF-engine-linux-x64 |
| macOS x64 | @ironsoftware/IronPDF-engine-macos-x64 |
| macOS ARM | @ironsoftware/IronPDF-engine-macos-arm64 |
PdfDocument-Aufruf an, indem Sie IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" }) setzen. Befolgen Sie die vollständigen Einrichtungsanweisungen für den Lizenzschlüssel.Welche Systemvoraussetzungen gelten für IronPDF?
IronPDF for Node.js läuft auf Node.js 12.0 oder höher auf Windows, Linux, macOS und Docker-Umgebungen. Die Bibliothek unterstützt sowohl x64- als auch ARM64-Architekturen, was sie für lokale Entwicklung und containerisierte Bereitstellungen geeignet macht. Für Cloud-Umgebungen unterstützt IronPDF auch die Verbindung zu einer Remote-IronPDF-Engine anstelle des lokalen Betriebs der Engine.
Wie erstelle ich ein PDF aus HTML in Node.js?
Verwenden Sie PdfDocument.fromHtml(), um aus einer HTML-Zeichenkette eine PDF-Datei zu generieren. Die Methode akzeptiert jedes gültige HTML, einschließlich Inline-<style>-Blöcke, über CDN geladene externe Schriftarten und Layoutsysteme wie CSS Grid oder Flexbox. Der Chromium-Renderer löst alle Ressourcen, bevor das PDF generiert wird.
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-string-to-pdf.js
import { PdfDocument } from "@ironsoftware/ironpdf";
const htmlContent = `
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
.header { background: #2b4c8c; color: white; padding: 24px 32px; }
.header h1 { margin: 0; font-size: 22px; }
.body { padding: 32px; }
table { width: 100%; border-collapse: collapse; margin-top: 16px; }
th { background: #f0f4fb; text-align: left; padding: 8px 12px; }
td { padding: 8px 12px; border-bottom: 1px solid #e0e0e0; }
</style>
</head>
<body>
<div class="header"><h1>Invoice #INV-2025-0042</h1></div>
<div class="body">
<p>Date: ${new Date().toLocaleDateString()}</p>
<table>
<tr><th>Item</th><th>Qty</th><th>Unit Price</th><th>Total</th></tr>
<tr><td>IronPDF Enterprise License</td><td>1</td><td>$499.00</td><td>$499.00</td></tr>
<tr><td>Priority Support (1 year)</td><td>1</td><td>$199.00</td><td>$199.00</td></tr>
</table>
<p style="text-align:right; margin-top:16px;"><strong>Total: $698.00</strong></p>
</div>
</body>
</html>`;
// Generate the PDF from the HTML string
const pdf = await PdfDocument.fromHtml(htmlContent);
await pdf.saveAs("invoice.pdf");
PdfDocument.fromHtml() gibt eine PdfDocument-Instanz zurück. Rufen Sie saveAs() mit dem gewünschten Ausgabepfad auf, um die Datei zu schreiben. Die Methode ist asynchron, verwenden Sie daher await oder verketten Sie einen .then()-Handler. Die Chromium-Engine handhabt das Laden von Schriften, externen Stylesheets und die Auflösung von Ressourcen, bevor die Ausgabe erfasst wird. Für weitere Muster siehe das HTML-String-zu-PDF-Beispiel.
Wie erstelle ich ein PDF aus einer HTML-Datei?
Laden Sie eine vorhandene .html-Datei mithilfe von PdfDocument.fromFile() von der Festplatte. Dieser Ansatz funktioniert gut für vorlagenbasierte Dokumente, bei denen das HTML getrennt von der Anwendungslogik gepflegt wird.
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-file-to-pdf.js
import { PdfDocument } from "@ironsoftware/ironpdf";
// Load an HTML file and render it as a PDF
const pdf = await PdfDocument.fromFile("./templates/report-template.html");
await pdf.saveAs("./output/report.pdf");
Der Renderer löst relative Ressourcenpfade aus dem Verzeichnis der HTML-Datei, sodass lokale CSS- und Bildreferenzen ohne zusätzliche Konfiguration funktionieren. Sehen Sie sich das HTML-Datei-zu-PDF-Beispiel für zusätzliche Optionen an, einschließlich wie man die Basis-URL für die Ressourcenauflösung überschreibt.
Wie generiere ich ein PDF aus einer URL?
Verwenden Sie PdfDocument.fromUrl(), um eine aktive Webseite als PDF darzustellen. Der Renderer lädt die Seite als vollständige Browsersitzung, führt JavaScript aus, wendet CSS an und wartet auf dynamische Inhalte, bevor die Ausgabe erfasst wird.
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/url-to-pdf.js
import { PdfDocument } from "@ironsoftware/ironpdf";
// Render a live webpage to PDF
const pdf = await PdfDocument.fromUrl("https://ironpdf.com/nodejs/");
await pdf.saveAs("ironpdf-homepage.pdf");
Bei Seiten, die Inhalte asynchron über JavaScript laden, kombinieren Sie dies mit einer renderDelay-Option (in Millisekunden), um zusätzliche Zeit vor der Erfassung zu gewähren. Das URL-zu-PDF-Beispiel demonstriert die Verzögerungskonfiguration und Authentifizierungsheader.
Wie konfiguriere ich PDF-Ausgabeeinstellungen?
Übergeben Sie ein Konfigurationsobjekt als zweites Argument an PdfDocument.fromHtml(), PdfDocument.fromFile() oder PdfDocument.fromUrl(). Das Konfigurationsobjekt akzeptiert Papiergröße, Ränder, Ausrichtung und Rendereinstellungen.
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/pdf-settings.js
import { PdfDocument, PdfPaperSize } from "@ironsoftware/ironpdf";
const config = {
paperSize: PdfPaperSize.A4,
marginTop: 25,
marginBottom: 25,
marginLeft: 20,
marginRight: 20,
landscape: false,
printBackground: true,
};
const pdf = await PdfDocument.fromHtml("<h1>Configured PDF</h1>", config);
await pdf.saveAs("configured-output.pdf");
Wichtige Konfigurationsoptionen umfassen:
paperSize: akzeptiertPdfPaperSizeEnum-Werte (A4, Letter, Legal und benutzerdefinierte Formate)landscape:truefür Querformat einstellenprintBackground: CSS-Hintergrundfarben und Bilder einfügenmarginTop/Bottom/Left/Right: Seitenränder in MillimeternrenderDelay: Millisekunden Wartezeit vor der Erfassung bei JavaScript-intensiven Seiten
Wie füge ich Kopf- und Fußzeilen zu einem PDF hinzu?
Fügen Sie Kopf- und Fußzeilen hinzu, indem Sie die Eigenschaften htmlHeader und htmlFooter im Konfigurationsobjekt angeben. Beide akzeptieren vollständige HTML-Strings, sodass formatiertes Inhalte mit Seitennummern, Daten und dynamischen Texten möglich sind.
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/headers-footers.js
import { PdfDocument } from "@ironsoftware/ironpdf";
const config = {
htmlHeader: {
htmlFragment: "<div style='text-align:center; font-size:12px; color:#666;'>Quarterly Report - Confidential</div>",
dividerLine: true,
},
htmlFooter: {
htmlFragment: "<div style='text-align:right; font-size:10px;'>Page {page} of {total-pages}</div>",
dividerLine: true,
},
};
const pdf = await PdfDocument.fromHtml("<h1>Q3 Financial Summary</h1><p>See attached tables.</p>", config);
await pdf.saveAs("report-with-headers.pdf");
Verwenden Sie die Tokens {page} und {total-pages} im HTML-Fußbereich; IronPDF ersetzt die richtigen Werte zur Renderzeit. Für weitere Kopf- und Fußzeilenmuster, einschließlich HTML-Kopf- und Fußzeilen und fortgeschrittene Kopfzeilen-Techniken, siehe die verlinkten Beispiele.
Wie füge ich Sicherheit und Metadaten zu einem PDF hinzu?
Wenden Sie Passwortschutz und Verschlüsselung auf eine generierte PDF-Datei an, indem Sie die Sicherheitsmethoden PdfDocument verwenden. Die Bibliothek unterstützt sowohl Besitzer- als auch Benutzerpasswörter, mit granularen Berechtigungskontrollen für Drucken, Kopieren und Bearbeiten.
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/security.js
import { PdfDocument } from "@ironsoftware/ironpdf";
const pdf = await PdfDocument.fromHtml("<h1>Confidential Document</h1>");
// Apply password protection with granular permissions
await pdf.securePdf({
userPassword: "view-password",
ownerPassword: "admin-password",
allowUserAnnotations: false,
allowUserPrinting: true,
allowUserCopyPasteContent: false,
});
await pdf.saveAs("secured-document.pdf");
Verschlüsselung und Entschlüsselung verwenden standardmäßig AES 256-Bit-Verschlüsselung, wenn Passwörter angewendet werden. Für Dokumentenauthentifizierungs-Workflows unterstützt IronPDF auch digitale Signaturen mit X.509-Zertifikaten.
PdfDocument.fromHtml() gefolgt von der PDF/A-Konvertierungsmethode. IronPDF unterstützt PDF/A-Konformität und PDF/UA-Zugänglichkeitsstandards.Wie kann ich bestehende PDFs zusammenführen und manipulieren?
PdfDocument bietet Methoden zum Zusammenführen, Aufteilen und Bearbeiten bestehender PDF-Dateien. Laden Sie eine vorhandene PDF-Datei mit PdfDocument.fromFile() und verwenden Sie die Bearbeitungsmethoden, um Seiten hinzuzufügen oder zu entfernen, Inhalte zu stempeln oder Text zu ersetzen.
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/merge-pdfs.js
import { PdfDocument } from "@ironsoftware/ironpdf";
// Merge two PDF files into one
const merged = await PdfDocument.mergePdf([
await PdfDocument.fromFile("./report-part1.pdf"),
await PdfDocument.fromFile("./report-part2.pdf"),
]);
await merged.saveAs("./complete-report.pdf");
PdfDocument.mergePdf() akzeptiert ein Array von PdfDocument-Instanzen und gibt ein einziges zusammengeführtes Dokument zurück. Die Seitenreihenfolge folgt der Array-Reihenfolge, sodass die Ausgabe die Sequenz der Eingabedateien bewahrt.
Andere häufige Bearbeitungsvorgänge:
- Eine Seite aus einer PDF-Datei entfernen mit
removePages() - Stempeln Sie HTML-Inhalte auf ein bestehendes Dokument
- Finden und ersetzen Sie Text auf allen Seiten
- Extrahieren Sie Text aus einem PDF für Indizierung oder Verarbeitung
Für hochvolumige Szenarien ermöglicht diemehrfädige PDF-Generierung die gleichzeitige Verarbeitung mehrerer Dokumente. PDF-Komprimierung reduziert Dateigrößen zur Speicherung und Übertragung.
Wie generiere ich PDFs für komplexe Inhalte wie Diagramme und Angular-Seiten?
IronPDF rendert Seiten mithilfe einer vollständigen Chromium-Browsersitzung, was bedeutet, dass JavaScript-Bibliotheken, die Diagramme, Grafiken oder Datenvisualisierungen erzeugen, korrekt gerendert werden, einschließlich JavaScript-Diagrammbibliotheken. Einseitige Anwendungen, die mit Frameworks wie Angular erstellt wurden, lassen sich auch sauber mithilfe des Angular zu PDF-Beispiels konvertieren.
Für Unicode-reiche Dokumente oder mehrsprachige Ausgaben verarbeitet IronPDF Unicode und internationale Zeichensätze ohne zusätzliche Konfiguration. Das Google Fonts-Integrationsbeispiel zeigt, wie Webfonts im gerenderten HTML für konsistente Typografie im Ausgabepdf geladen werden.
renderDelay in Millisekunden, um der Seite Zeit für das vollständige Rendern zu geben.Was sind die nächsten Schritte zum Erstellen von PDFs in Node.js?
Diese Anleitung behandelte den Kernworkflow von IronPDF: Installation der Bibliothek, Erzeugung von PDFs aus HTML-Strings, Dateien und URLs, Konfigurieren der Ausgabeeinstellungen, Hinzufügen von Kopf- und Fußzeilen, Anwenden von Sicherheit und Bearbeiten bestehender PDFs.
Um fortzufahren, probieren Sie das vollständige Tutorial "HTML zu PDF" aus, um einen tieferen Einblick in die Rendering-Optionen zu erhalten, oder durchsuchen Sie die API Referenz für die vollständige Liste der PdfDocument-Methoden und Konfigurationseigenschaften.
Starten Sie Ihre kostenlose Testversion, um PDFs ohne Wasserzeichen zu erstellen, oder sehen Sie sich Lizenzoptionen für den Produktiveinsatz an.
Häufig gestellte Fragen
Wie lassen sich PDF-Dateien am einfachsten in Node.js erstellen?
Installieren Sie IronPDF mit npm install @ironsoftware/ironpdf, dann rufen Sie PdfDocument.fromHtml() mit Ihrem HTML-Zeichenfolge auf und speichern Sie das Ergebnis mit saveAs(). Die Bibliothek kümmert sich automatisch um das gesamte Rendering.
Wie installiere ich IronPDF for Node.js?
Führen Sie npm install @ironsoftware/ironpdf in Ihrem Projektverzeichnis aus. Die IronPDF Engine-Binärdatei wird beim ersten Gebrauch automatisch heruntergeladen. Für Offline- oder CI-Umgebungen, installieren Sie das plattformspezifische Engine-Paket wie @ironsoftware/ironpdf-engine-linux-x64 separat.
Kann ich HTML in PDF konvertieren und dabei CSS-Stile und Formatierungen beibehalten?
Ja. IronPDF verwendet eine auf Chromium basierende Rendering-Engine, die alle CSS-Stile, externen Schriftarten und die JavaScript-Ausführung bei der Konvertierung von HTML zu PDF bewahrt. Die Ausgabe entspricht dem Druckvorschauverhalten von Chrome.
Welche PDF-Funktionen sind über die grundlegende HTML-Konvertierung hinaus verfügbar?
IronPDF unterstützt digitale Signaturen, AES 256-Bit-Verschlüsselung, Passwortschutz mit detaillierten Berechtigungen, benutzerdefinierte Kopf- und Fußzeilen mit Seitennummern-Tokens, PDF-Zusammenführung, Seitenentfernung, HTML-Stempelung, Textextraktion, PDF/A-Konformität und Multi-Threaded-Erstellung.
Wie erstelle ich ein PDF aus einer HTML-Datei auf der Festplatte?
Verwenden Sie PdfDocument.fromFile('./path/to/template.html'). Der Renderer löst relative Asset-Pfade aus dem Verzeichnis der HTML-Datei auf, sodass lokale CSS- und Bildreferenzen ohne zusätzliche Konfiguration funktionieren.
Kann ich Text aus bestehenden PDF-Dateien mit IronPDF extrahieren?
Ja. Laden Sie ein bestehendes PDF mit PdfDocument.fromFile() und verwenden Sie die Textextraktionsmethoden, um Inhalte von jeder Seite zu lesen. IronPDF unterstützt sowohl die Erstellung neuer PDFs als auch die Verarbeitung bestehender Dokumente.
Unterstützt IronPDF die Ausführung von JavaScript beim Rendern von HTML?
Ja. Der Chromium-Renderer führt JavaScript aus, bevor er das PDF aufnimmt. Für Seiten, die Inhalte asynchron laden, setzen Sie die renderDelay-Option in Millisekunden, um der Seite zusätzliche Zeit vor der Aufnahme zu geben.

