PDF-Dateien in Node.js erstellen

This article was translated from English: Does it need improvement?
Translated
View the article in English

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

  1. Installieren Sie IronPDF über npm: npm install @ironsoftware/ironpdf
  2. Importiere PdfDocument aus @ironsoftware/ironpdf
  3. Rufen Sie PdfDocument.fromHtml() mit Ihrem HTML-Inhalt auf
  4. 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.

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
SHELL

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:

IronPDF Engine-Plattformpakete zur Vorinstallation in Offline- oder eingeschränkten Umgebungen
PlattformPaket
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

Hinweis:Ein gültiger Lizenzschlüssel entfernt das Wasserzeichen aus den generierten PDFs. Wenden Sie dies vor Ihrem ersten 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: akzeptiert PdfPaperSize Enum-Werte (A4, Letter, Legal und benutzerdefinierte Formate)
  • landscape: true für Querformat einstellen
  • printBackground: CSS-Hintergrundfarben und Bilder einfügen
  • marginTop/Bottom/Left/Right: Seitenränder in Millimetern
  • renderDelay: 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.

TippsFür Dokumente, die die Anforderungen an die Langzeitarchivierung erfüllen müssen, verwenden Sie 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:

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.

Hinweis:IronPDFs Chromium-Renderer führt JavaScript vor der PDF-Erfassung aus. Wenn Ihre Diagrammbibliothek oder SPA nach dem Laden des DOM zusätzliche Zeit zum Rendern der Daten benötigt, setzen Sie 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.

Darrius Serrant
Full-Stack-Software-Ingenieur (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full-Stack-WebOps-Marketing-Ingenieur bei Iron Software. Seit seiner Jugend vom Programmieren angezogen, sah er die Informatik als sowohl mysteriös als auch zugänglich, was es zum perfekten Medium für Kreativität und Problemlösung ...

Weiterlesen
Bereit anzufangen?
Version: 2026.5 just released
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis?
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.