Zum Fußzeileninhalt springen
PRODUKTVERGLEICHE

iTextSharp: Bild zu PDF hinzufügen

RenderHtmlFileAsPdf macht eine Sache: Es nimmt eine HTML-Datei auf der Festplatte und rendert sie über eine Chrome-Engine in ein PDF. Was korrekt in Chrome angezeigt wird, landet korrekt im Dokument, mit voller Unterstützung für CSS3, JavaScript, Bilder und Schriftarten. Der einzige Unterschied, der eine Rolle spielt, ist der Input. Diese Methode liest eine Datei, also werden relative Asset-Pfade (Logos, Stylesheets, Schriftarten) aus dem Standort der Datei aufgelöst, es ist keine Basis-URL erforderlich. Das entscheidet darüber, wo es am besten passt.

Vorlagengesteuerte Dokumentenerstellung

Halten Sie eine HTML-Vorlage in Ihrem Projekt (Rechnung, Angebot, Zertifikat, Vertrag), füllen Sie sie aus, schreiben Sie sie auf die Festplatte und rendern Sie:

using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html")
        .SaveAs("invoice-1042.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html")
        .SaveAs("invoice-1042.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html").SaveAs("invoice-1042.pdf")
$vbLabelText   $csharpLabel

Da die Quelle eine echte Datei ist, werden ./logo.png und styles.css natürlich daneben aufgelöst.

Rendering von statischen Seiten und Build-Ausgaben

Generatoren für statische Seiten, Markdown-Pipelines und Dokumentations-Builder produzieren alle HTML-Dateien. Richten Sie IronPDF auf die Ausgabe aus, um eine veröffentlichte Seite in ein archivierungsfähiges PDF zu verwandeln, ohne dass es erneut über HTTP abgerufen werden muss.

Designer-erstellt Layouts

Ein Designer übergibt eine eigenständige HTML- und CSS-Datei; Sie rendern sie wie sie ist. Chrome steuert die Konvertierung, sodass die Browser-Vorschau des Designers dem PDF entspricht, was eine ganze Klasse von "es sah im Mockup gut aus"-Streitigkeiten beseitigt.

Stapelumwandlung eines Ordners

Die Methode ist ein Aufruf pro Datei, sodass das Konvertieren eines Verzeichnisses von Berichten oder Handouts eine kurze Schleife ist:

var renderer = new ChromePdfRenderer();

foreach (string file in Directory.GetFiles("reports", "*.html"))
{
    string output = Path.ChangeExtension(file, ".pdf");
    renderer.RenderHtmlFileAsPdf(file).SaveAs(output);
}
var renderer = new ChromePdfRenderer();

foreach (string file in Directory.GetFiles("reports", "*.html"))
{
    string output = Path.ChangeExtension(file, ".pdf");
    renderer.RenderHtmlFileAsPdf(file).SaveAs(output);
}
Imports System.IO
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

For Each file As String In Directory.GetFiles("reports", "*.html")
    Dim output As String = Path.ChangeExtension(file, ".pdf")
    renderer.RenderHtmlFileAsPdf(file).SaveAs(output)
Next
$vbLabelText   $csharpLabel

Offline- und luftgesichertes Rendering

Da sie aus dem lokalen Dateisystem liest und nicht aus einer URL, funktioniert dies, wo kein ausgehendes Netzwerk vorhanden ist: sichere Backends, CI-Runner, On-Premise-Deployments. Die HTML-Datei und ihre Assets müssen nur auf dem Rechner vorhanden sein.

E-Mail-Vorlagenprüfung

Teams, die Benachrichtigungs- oder E-Mail-Vorlagen als HTML-Dateien speichern, können sie in PDFs rendern, um sie zu prüfen, abzusegnen oder für die Aufzeichnung zu behalten, ohne einen Webserver einrichten zu müssen, um sie anzuzeigen.

Daumenregel

IronPDF bietet drei Einstiegspunkte, und die Wahl des falschen ist die häufigste Quelle für defekte Assets:

  • RenderHtmlFileAsPdf liest eine Datei von der Festplatte; relative Assets werden vom Standort der Datei aufgelöst.
  • RenderHtmlAsPdf nimmt einen HTML-String im Speicher; man setzt normalerweise eine Basis-URL, damit sich Assets auflösen.
  • RenderUrlAsPdf holt über HTTP und ist der Ort, an dem Authentifizierung, Cookies und Logins angewendet werden.

Greifen Sie auf die Dateimethode zu, wann immer Ihr HTML bereits als Datei vorliegt. Konfigurieren Sie die Ausgabe durch RenderingOptions, bevor Sie das Rendering starten, und überprüfen Sie die Seite zuerst in Chrome; wenn es dort rendert, rendert es im PDF.

Häufig gestellte Fragen

Was ist der Unterschied zwischen RenderHtmlFileAsPdf, RenderHtmlAsPdf und RenderUrlAsPdf?

RenderHtmlFileAsPdf liest eine HTML-Datei von der Festplatte; relative Asset-Pfade werden vom Standort der Datei aufgelöst. RenderHtmlAsPdf benötigt eine HTML-Zeichenkette im Speicher und erfordert normalerweise eine Basis-URL für Assets. RenderUrlAsPdf ruft eine Live-URL über HTTP ab, wo Authentifizierung und Cookies zur Anwendung kommen.

Muss ich eine Basis-URL festlegen, wenn ich RenderHtmlFileAsPdf verwende?

Nein. Da die Methode eine tatsächliche Datei auf der Festplatte liest, werden relative Pfade wie ./logo.png und styles.css automatisch vom Verzeichnis der HTML-Datei gelöst. Es ist keine Basis-URL-Konfiguration erforderlich.

Kann ich RenderHtmlFileAsPdf in einer Offline- oder luftgesicherten Umgebung verwenden?

Ja. Die Methode liest vom lokalen Dateisystem, anstatt über HTTP abzurufen, sodass sie in Umgebungen ohne ausgehenden Netzwerkzugang funktioniert, einschließlich sicherer Backends, CI-Runnern und lokal installierten Anwendungen.

Wie kann ich einen Ordner mit HTML-Dateien in PDF mit IronPDF batch-konvertieren?

Durchlaufen Sie die Dateien mit Directory.GetFiles und rufen Sie RenderHtmlFileAsPdf einmal pro Datei auf. Verwenden Sie eine einzelne ChromePdfRenderer-Instanz in der Schleife, um den Browser-Kontext zu teilen.

Wird das PDF genau so aussehen, wie ich es in Chrome sehe?

IronPDF verwendet eine volle Chromium-Engine für das Rendering, sodass das Ausgabe-PDF der Chrome-Browser-Vorschau für dieselbe HTML-Datei entspricht. Überprüfen Sie die Seite zuerst in Chrome – wenn sie dort korrekt gerendert wird, wird sie auch im PDF korrekt gerendert.

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 ...

Weiterlesen

Iron-Support-Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an