IRONSOFTWAREHOME

PDF-Dateien in Node.js erstellen

Curtis Chau
Curtis Chau
Updated: 29. Juni 2026

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. IronPDF über npm installieren: npm install @ironsoftware/ironpdf
  2. PdfDocument von @ironsoftware/ironpdf importieren
  3. PdfDocument.fromHtml() mit Ihrem HTML-Inhalt aufrufen
  4. .saveAs() aufrufen, um die PDF-Datei auf die Festplatte zu schreiben
import { PdfDocument } from "@ironsoftware/ironpdf";

const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");
JavaScript

Konfigurieren Sie IronPdfEngine für Ihre Plattform, bevor Sie in der Produktion laufen. Siehe die IronPdfEngine-Einrichtungsanleitung für Windows, Linux, macOS und Docker-Anleitungen.

Wie installiere ich IronPDF for Node.js?

Install the @ironsoftware/ironpdf package using 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
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
T>Linux x64@ironsoftware/IronPDF-engine-linux-x64
T>macOS x64@ironsoftware/IronPDF-engine-macos-x64
T>macOS ARM@ironsoftware/IronPDF-engine-macos-arm64
Hinweis:: Ein gültiger Lizenzschlüssel entfernt das Wasserzeichen aus den generierten PDFs. Wenden Sie es vor Ihrem ersten PdfDocument Aufruf an, indem Sie IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" }) einstellen. 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 ein PDF aus einem HTML-String zu erstellen. Die Methode akzeptiert jeden gültigen HTML-Code, einschließlich Inline-<style> Blöcken, über CDN geladene externe Schriftarten und Layout-Systeme wie CSS Grid oder Flexbox. Der Chromium-Renderer löst alle Ressourcen, bevor das PDF generiert wird.

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");
JavaScript

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, also verwenden Sie 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 bestehende .html Datei von der Festplatte mit PdfDocument.fromFile(). Dieser Ansatz funktioniert gut für vorlagenbasierte Dokumente, bei denen das HTML getrennt von der Anwendungslogik gepflegt wird.

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");
JavaScript

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 Live-Webseite als PDF zu rendern. 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.

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");
JavaScript

Für 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 zweiten Argument an PdfDocument.fromHtml(), PdfDocument.fromFile() oder PdfDocument.fromUrl(). Das Konfigurationsobjekt akzeptiert Papiergröße, Ränder, Ausrichtung und Rendereinstellungen.

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");
JavaScript

Wichtige Konfigurationsoptionen umfassen:

  • paperSize: akzeptiert PdfPaperSize Enum-Werte (A4, Letter, Legal, und benutzerdefinierte Größen)
  • landscape: true für Seitenausrichtung im Querformat festlegen
  • printBackground: CSS-Hintergrundfarben und -Bilder einbeziehen
  • marginTop/Bottom/Left/Right: Seitenränder in Millimetern
  • renderDelay: Millisekunden, die vor der Erfassung for JavaScript-intensiven Seiten gewartet werden sollen

Wie füge ich Kopf- und Fußzeilen zu einem PDF hinzu?

Kopf- und Fußzeilen hinzufügen, indem die htmlHeader und htmlFooter Eigenschaften im Konfigurationsobjekt bereitgestellt werden. Beide akzeptieren vollständige HTML-Strings, sodass formatiertes Inhalte mit Seitennummern, Daten und dynamischen Texten möglich sind.

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");
JavaScript

Verwenden Sie {page} und {total-pages} Tokens im Fußzeilen-HTML; 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 ein generiertes PDF mithilfe der PdfDocument Sicherheitsmethoden an. Die Bibliothek unterstützt sowohl Besitzer- als auch Benutzerpasswörter, mit granularen Berechtigungskontrollen für Drucken, Kopieren und Bearbeiten.

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");
JavaScript

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.

Tipps: Für Dokumente, die eine Langzeitarchivierungskompatibilität erfordern, 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 ein bestehendes PDF mit PdfDocument.fromFile() und verwenden Sie die Manipulationsmethoden, um Seiten hinzuzufügen oder zu entfernen, Inhalte zu stempeln oder Text zu ersetzen.

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");
JavaScript

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 Diagramm-Bibliothek oder SPA zusätzliche Zeit zum Rendern von Daten benötigt, nachdem das DOM geladen wurde, setzen Sie renderDelay in Millisekunden, um der Seite Zeit zur vollständigen Darstellung 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 HTML zu PDF-Tutorial für eine umfassendere Einführung in die Rendering-Optionen 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 generieren, oder sehen Sie sich die Lizenzierungsoptionen an für die Bereitstellung in der Produktion.

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.

Is it possible to apply digital signatures to PDFs with IronPDF?

Yes, IronPDF supports applying digital signatures to PDFs using X.509 certificates. This feature is useful for document authentication and secure workflows.

How does IronPDF handle complex content like charts in PDFs?

IronPDF uses a full Chromium browser session to render pages, which means JavaScript chart libraries and frameworks like Angular are fully supported. This allows charts, graphs, and other complex visualizations to render correctly in the output PDFs.

What are the system requirements for using IronPDF on Node.js?

IronPDF requires Node.js 12.0 or higher and runs on Windows, Linux, macOS, and Docker environments. It supports both x64 and ARM64 architectures, making it suitable for various deployment scenarios including local development and cloud environments.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Version:2026.6gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
Node.js Modul-Download für PDF
Mit npm installieren

Version: 2026.6

  1. Herunterladen und Node.js 12+ installieren.
  2. Führen Sie den obigen Befehl im Terminal aus.

Lizenzen ab 749 $

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
AWS-Logo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Azure (WebApps, Funktionen v3)
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Azure (WebApps, Funktionen v3)
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
Node.js Modul-Download für PDF
Mit npm installieren

Version: 2026.6

  1. Herunterladen und Node.js 12+ installieren.
  2. Führen Sie den obigen Befehl im Terminal aus.

Lizenzen ab 749 $