HTML zu PDF in C# .NET
Als Entwickler von IronPDF wissen wir, wie wichtig es ist, dass die Konvertierung von HTML in PDF genaue, qualitativ hochwertige Ergebnisse liefert, die den Kundenerwartungen entsprechen. Dieses C#-Tutorial führt Sie durch den Aufbau eines HTML-zu-PDF-Konverters für Ihre Anwendungen, Projekte und Websites. Wir werden einen C# HTML-zu-PDF-Konverter entwickeln, und die von IronPDF erzeugten PDF-Dokumente werden pixelgenau zu den vom Google Chrome-Webbrowser erzeugten PDFs sein.
Overview
How to Convert HTML to PDF in C#

HTML-zu-PDF-Konverter für C# & VB.NET
Die programmgesteuerte Erstellung von PDF-Dateien in .NET kann eine frustrierende Aufgabe sein. Das PDF-Dateiformat wurde eher für Drucker als für Entwickler entwickelt. Und C# hat nicht viele geeignete Bibliotheken oder Funktionen für die PDF-Generierung eingebaut, viele der Bibliotheken, die auf dem Markt sind, funktionieren nicht out-of-the-box, und verursachen weitere Frustration, wenn sie mehrere Zeilen Code benötigen, um eine einfache Aufgabe zu erfüllen.
Das C# HTML zu PDF Konvertierungstool, das wir in diesem Tutorial verwenden werden, ist IronPDF von Iron Software, eine sehr beliebte C# PDF Generierungs- und Bearbeitungsbibliothek. Diese Bibliothek verfügt über umfassende Funktionen zur PDF-Bearbeitung und -Erzeugung, ist sofort einsatzbereit und erledigt genau das, was Sie brauchen, mit einer minimalen Anzahl von Zeilen, und hathervorragende Dokumentation der über 50 Funktionen. IronPDF zeichnet sich dadurch aus, dass es .NET 8, .NET 7, .NET 6 und .NET 5, .NET Core, Standard und Framework auf Windows, macOS, Linux, Docker, Azure und AWS unterstützt.
Mit C# und IronPDF ist die Logik zum "Erstellen eines PDF-Dokuments" oder zur "HTML-zu-PDF-Konvertierung" einfach. Dank des fortschrittlichen Chrome Renderers von IronPDF werden für das Design und Layout des PDF-Dokuments größtenteils oder vollständig vorhandene HTML-Elemente verwendet.
Diese Methode der dynamischen PDF-Generierung in .NET mit HTML5 funktioniert gleichermaßen gut in Konsolenanwendungen, Windows Forms-Anwendungen, WPF sowie Websites und MVC.
**IronPDF unterstützt auch das Debugging Ihres HTML mit Chrome für Pixel Perfect PDFs. Ein Tutorial zur Einrichtung finden Sie hier.
IronPDF arbeitet in mehreren Sprachen außerhalb und innerhalb des .NET-Ökosystems.
- F# Leitfaden
- VB.NET-Leitfaden
- Python
- Java
-
IronPDF erfordert eine Test- oder kostenpflichtige Lizenz, um zu funktionieren. Sie könnenhier eine Lizenz kaufenoder melden Sie sich hier für einen kostenlosen 30-Tage-Testschlüssel an.
Step 1
Laden Sie die HTML-zu-PDF-C#-Bibliothek herunter und installieren Sie sie
Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.
Visual Studio - NuGet-Paketverwaltung
Klicken Sie in Visual Studio mit der rechten Maustaste auf den Projektmappen-Explorer und wählen Sie "NuGet-Pakete verwalten". Von dort aus suchen Sie einfach nach IronPDF und installieren die neueste Version in Ihre Projektmappe... Klicken Sie in allen Dialogfeldern, die erscheinen, auf OK. Dies funktioniert genauso gut in VB.NET-Projekten.
Install-Package IronPdf
IronPDF auf der NuGet-Website
Für einen umfassenden Überblick über die Funktionen, Kompatibilität und Downloads von IronPDF, besuchen Sie bitte IronPDF auf der offiziellen Website von NuGet: https://www.nuget.org/packages/IronPdf
Installation über DLL
Eine andere Möglichkeit besteht darin, die IronPDF DLL direkt zu installieren. IronPDF kann heruntergeladen und manuell im Projekt oder im GAC installiert werden von https://ironpdf.com/packages/IronPdf.zip
How to Tutorials
Erstellen Sie ein PDF mit einem HTML-String in C# .NET
Wie man: HTML-String in PDF konvertieren? Es ist eine sehr effiziente und lohnende Fähigkeit, eine neue PDF-Datei in C# zu erstellen.
Wir können einfach dieChromePdfRenderer.RenderHtmlAsPdf methode, um jede HTML(HTML5) in eine PDF-Datei umwandeln. Das Rendering von C# HTML zu PDF wird von einer voll funktionsfähigen Version der Google Chromium-Engine übernommen, die in IronPDF DLL eingebettet ist.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-1.cs
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1> Hello IronPdf </h1>");
pdf.SaveAs("pixel-perfect.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf("<h1> Hello IronPdf </h1>")
pdf.SaveAs("pixel-perfect.pdf")
RenderHtmlAsPdf
unterstützt vollständig HTML5, CSS3, JavaScript und Bilder. Wenn sich diese Assets auf einer Festplatte befinden, sollten wir möglicherweise den zweiten Parameter von RenderHtmlAsPdf
auf das Verzeichnis setzen, das die Assets enthält. Diese Methode gibt ein PdfDocument-Objekt zurück, welches eine Klasse ist, die zur Speicherung von PDF-Informationen verwendet wird.
IronPDF rendert Ihr HTML genau so, wie es in Chrome angezeigt wird
Wir haben ein komplettes Tutorial erstellt, in dem Sie Chrome für ein vollständiges HTML-Debugging einrichten können, um sicherzustellen, dass die Änderungen, die Sie dort bei der Bearbeitung von HTML, CSS und JavaScript sehen, pixelgenau mit der PDF-Ausgabe von IronPDF übereinstimmen, wenn Sie sich für das Rendern entscheiden. Die Anleitung dazu finden Sie hier:Debuggen von HTML in Chrome zur Erstellung pixelgenauer PDFs.
BaseUrlPath:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-2.cs
using IronPdf;
// this will render C:\MyProject\Assets\image1.png
var pdf = renderer.RenderHtmlAsPdf("<img src='image1.png'/>", @"C:\MyProject\Assets\");
Imports IronPdf
' this will render C:\MyProject\Assets\image1.png
Private pdf = renderer.RenderHtmlAsPdf("<img src='image1.png'/>", "C:\MyProject\Assets\")
Alle referenzierten CSS-Stylesheets, Bilder und JavaScript-Dateien sind relativ zum BaseUrlPath
und können in einer sauberen und logischen Struktur gehalten werden. Sie können natürlich auch Bilder, Stylesheets und Assets online referenzieren, einschließlich Webfonts wie Google Fonts und sogar jQuery.
PDF mit vorhandener URL exportieren
URL zu PDF
(URL zu PDF)
Das Rendering vorhandener URLs als PDFs mit C# ist sehr effizient und intuitiv. Dies ermöglicht es Teams auch, die Arbeit an der PDF-Gestaltung und dem Backend-PDF-Rendering auf mehrere Teams zu verteilen.
Lassen Sie uns im folgenden Beispiel eine Seite von Wikipedia.com darstellen:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-3.cs
using IronPdf;
// Create a PDF from any existing web page
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia.pdf");
Imports IronPdf
' Create a PDF from any existing web page
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
pdf.SaveAs("wikipedia.pdf")
Sie werden feststellen, dass Hyperlinks und sogar HTML-Formulare in der von unserem C#-Code erzeugten PDF-Datei erhalten bleiben.
Beim Rendern bestehender Webseiten gibt es einige Tricks, die wir vielleicht anwenden möchten:
Druck und Bildschirm-CSS
In modernem CSS3 haben wir css-Direktiven für Druck und Bildschirm. Wir können IronPDF anweisen, "Print"-CSSs zu rendern, die oft vereinfacht oder übersehen werden. Standardmäßig werden die CSS-Stile "Screen" gerendert, dieIronPDF benutzer als besonders intuitiv empfunden haben.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-4.cs
using IronPdf;
using IronPdf.Rendering;
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
// or
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
Imports IronPdf
Imports IronPdf.Rendering
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
' or
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
Hauptseite: Einen vollständigen Vergleich mit Bildern von Bildschirm und Druck finden Sie hierhier.
JavaScript
IronPDF unterstützt JavaScript, jQuery und sogar AJAX. Wir müssen möglicherweise Folgendes anweisenIronPDF wartet auf JS oder Ajax zu beenden, bevor ein Schnappschuss unserer Webseite gerendert wird.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-5.cs
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
IRON VB CONVERTER ERROR developers@ironsoftware.com
Wir können die Übereinstimmung mit dem JavaScript-Standard demonstrieren, indem wir eine erweiterted3.js JavaScript-Akkorddiagramm aus einem CSV-Datensatz wie diesem:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-6.cs
using IronPdf;
// Create a PDF Chart a live rendered dataset using d3.js and javascript
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");
pdf.SaveAs("chart.pdf");
Imports IronPdf
' Create a PDF Chart a live rendered dataset using d3.js and javascript
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006")
pdf.SaveAs("chart.pdf")
Reaktionsfähiges CSS
HTML zu PDF mit Antwort-CSS in .NET! Reaktionsfähige Webseiten sind für die Anzeige in einem Browser konzipiert. IronPDF öffnet kein echtes Browserfenster innerhalb des Betriebssystems Ihres Servers. Dies kann dazu führen, dass responsive Elemente in ihrer kleinsten Größe gerendert werden.
Wir empfehlen die Verwendung von Print css media types, um dieses Problem zu umgehen. Druck-CSS sollte normalerweise nicht responsiv sein.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-7.cs
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Erzeugen einer PDF-Datei aus einer HTML-Seite
Wir können auch jede HTML-Seite auf unserer Festplatte in PDF umwandeln. Alle relativen Assets wie CSS, Bilder und js werden so gerendert, als ob die Datei über das file://-Protokoll geöffnet worden wäre.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-8.cs
using IronPdf;
// Create a PDF from an existing HTML using C#
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");
pdf.SaveAs("Invoice.pdf");
Imports IronPdf
' Create a PDF from an existing HTML using C#
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html")
pdf.SaveAs("Invoice.pdf")
Diese Methode hat den Vorteil, dass der Entwickler die Möglichkeit hat, den HTML-Inhalt während der Entwicklung in einem Browser zu testen. Wir empfehlen Chrome, da dies der Webbrowser ist, auf dem die Rendering-Engine von IronPDF basiert.
UmrechnenXML to PDF können Sie XSLT-Templates verwenden, um Ihre XML-Inhalte im PDF-Format zu drucken.
Benutzerdefinierte Kopf- und Fußzeilen hinzufügen
Kopf- und Fußzeilen können beim Rendern von PDF-Dateien oder mit IronPDF zu bestehenden PDF-Dateien hinzugefügt werden.
Mit IronPDF können Kopf- und Fußzeilen mit der Klasse TextHeaderFooter
einfache textbasierte Inhalte enthalten - oder mit der Klasse HtmlHeaderFooter
Bilder und umfangreiche HTML-Inhalte.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-9.cs
using IronPdf;
// Create a PDF from an existing HTML
var renderer = new ChromePdfRenderer
{
RenderingOptions =
{
MarginTop = 50, //millimeters
MarginBottom = 50,
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print,
TextHeader = new TextHeaderFooter
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
}
}
};
var pdf = renderer.RenderHtmlFileAsPdf("assets/TestInvoice1.html");
pdf.SaveAs("Invoice.pdf");
// This neat trick opens our PDF file so we can see the result
System.Diagnostics.Process.Start("Invoice.pdf");
Imports IronPdf
' Create a PDF from an existing HTML
Private renderer = New ChromePdfRenderer With {
.RenderingOptions = {
MarginTop = 50, MarginBottom = 50, CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print, TextHeader = New TextHeaderFooter With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
},
TextFooter = New TextHeaderFooter With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
}
}
}
Private pdf = renderer.RenderHtmlFileAsPdf("assets/TestInvoice1.html")
pdf.SaveAs("Invoice.pdf")
' This neat trick opens our PDF file so we can see the result
System.Diagnostics.Process.Start("Invoice.pdf")
Erkunden Sie alle Rendering-Optionen im folgenden How-to-Artikel:So verwenden Sie die Rendering-Optionen.
HTML-Kopf- und -Fußzeilen
Die Klasse "HtmlHeaderFooter" ermöglicht die Erstellung umfangreicher Kopf- und Fußzeilen mit HTML5-Inhalten, die sogar Bilder, Stylesheets und Hyperlinks enthalten können.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-10.cs
using IronPdf;
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
};
Imports IronPdf
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
Dynamische Daten in PDF-Kopf- und -Fußzeilen
Wir können Inhalte in den Text und sogar in den HTML-Code von Kopf- und Fußzeilen einfügen, indem wir Platzhalter wie z. B. "mail-merge" verwenden:
- {seite} für die aktuelle Seitenzahl
- {gesamt-Seiten} für die Gesamtzahl der Seiten in der PDF-Datei
- {url} für die URL der gerenderten PDF-Datei, wenn diese von einer Webseite gerendert wird
- {datum} für das heutige Datum
- {zeit} für die aktuelle Zeit
- {html-title} für das Attribut Titel des gerenderten HTML-Dokuments
- {pdf-Titel} für den Dokumententitel, der über ChromePdfRenderOptions festgelegt werden kann
C# HTML-zu-PDF-Konvertierungseinstellungen
Es gibt viele Nuancen, wie unsere Nutzer und Kunden die Darstellung von PDF-Inhalten erwarten.
Die Klasse "ChromePdfRenderer" enthält eine Eigenschaft RenderingOptions, mit der diese Optionen eingestellt werden können.
So können wir beispielsweise festlegen, dass nur CSS3-Direktiven im Stil von "print" akzeptiert werden:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-11.cs
using IronPdf;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Imports IronPdf
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Möglicherweise möchten wir auch die Größe unserer Druckränder ändern, um mehr Leerraum auf der Seite zu schaffen, um Platz für große Kopf- oder Fußzeilen zu schaffen oder sogar Nullränder für den kommerziellen Druck von Broschüren oder Postern festzulegen:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-12.cs
using IronPdf;
renderer.RenderingOptions.MarginTop = 50; // millimeters
renderer.RenderingOptions.MarginBottom = 50; // millimeters
Imports IronPdf
renderer.RenderingOptions.MarginTop = 50 ' millimeters
renderer.RenderingOptions.MarginBottom = 50 ' millimeters
Wir können Hintergrundbilder von HTML-Elementen ein- oder ausschalten:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-13.cs
using IronPdf;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
Imports IronPdf
renderer.RenderingOptions.PrintHtmlBackgrounds = True
Es ist auch möglich, unsere Ausgabe-PDFs so einzustellen, dass sie auf jeder virtuellen Papiergröße gerendert werden - einschließlich Hoch- und Querformat und sogar benutzerdefinierten Größen, die in Millimetern oder Zoll eingestellt werden können.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-14.cs
using IronPdf;
using IronPdf.Rendering;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
Imports IronPdf
Imports IronPdf.Rendering
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
Erkunden Sie alle Renderoptionen im folgenden Anleitungsartikel: "So verwenden Sie die Rendering-Optionen."
HTML-Vorlagen anwenden
Die Erstellung von PDF-Vorlagen oder -Stapeln ist eine häufige Anforderung von Internet- und Website-Entwicklern.
Anstatt ein PDF-Dokument selbst als Vorlage zu erstellen, können wir mit IronPDF unsere HTML-Vorlage mit Hilfe bestehender, bewährter Technologien erstellen. Wenn die HTML-Vorlage mit Daten aus einem Query-String oder einer Datenbank kombiniert wird, entsteht ein dynamisch generiertes PDF-Dokument.
Im einfachsten Fall ist die Verwendung der C#-Methode String.Format für ein einfaches Beispiel geeignet.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-15.cs
using System;
String.Format("<h1>Hello {0} !</h1>", "World");
Imports System
String.Format("<h1>Hello {0} !</h1>", "World")
Wenn die HTML-Datei länger ist, können wir oft beliebige Platzhalter wie verwenden[[NAME]]
und ersetzen sie später durch echte Daten.
Im folgenden Beispiel werden 3 PDFs erstellt, die jeweils auf einen Benutzer zugeschnitten sind.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-16.cs
var htmlTemplate = "<p>[[NAME]]</p>";
var names = new[] { "John", "James", "Jenny" };
foreach (var name in names)
{
var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);
var pdf = renderer.RenderHtmlAsPdf(htmlInstance);
pdf.SaveAs(name + ".pdf");
}
Dim htmlTemplate = "<p>[[NAME]]</p>"
Dim names = { "John", "James", "Jenny" }
For Each name In names
Dim htmlInstance = htmlTemplate.Replace("[[NAME]]", name)
Dim pdf = renderer.RenderHtmlAsPdf(htmlInstance)
pdf.SaveAs(name & ".pdf")
Next name
Erweiterte Vorlagenerstellung mit Handlebars.NET
Eine ausgefeilte Methode zur Zusammenführung von C#-Daten mit HTML für die PDF-Erzeugung ist die Verwendung des Handlebars-Templating-Standards.
Mit Handlebars ist es möglich, dynamisches HTML aus C#-Objekten und Klasseninstanzen einschließlich Datenbankeinträgen zu erstellen. Handlebars ist besonders effektiv, wenn eine Abfrage eine unbekannte Anzahl von Zeilen zurückgibt, wie zum Beispiel bei der Erstellung einer Rechnung.
Zunächst müssen wir ein zusätzliches NuGet-Paket zu unserem Projekt hinzufügen: https://www.nuget.org/packages/Handlebars.NET/
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-17.cs
var source =
@"<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>";
var template = Handlebars.Compile(source);
var data = (title: "My new post", body: "This is my first post!");
var result = template(data);
/* Would render:
<div class="entry">
<h1>My New Post</h1>
<div class="body">
This is my first post!
</div>
</div>
*/
Dim source = "<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>"
Dim template = Handlebars.Compile(source)
Dim data = (title:= "My new post", body:= "This is my first post!")
Dim result = template(data)
' Would render:
'<div class="entry">
' <h1>My New Post</h1>
' <div class="body">
' This is my first post!
' </div>
'</div>
'
Zum Rendern dieses HTML können wir einfach die Methode "RenderHtmlAsPdf" verwenden.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-18.cs
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlInstance);
pdf.SaveAs("Handlebars.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf(htmlInstance)
pdf.SaveAs("Handlebars.pdf")
Sie können mehr über den Handlebars-HTML-Templating-Standard und seine Verwendung mit C# erfahren unter https://github.com/rexm/Handlebars.NET
Seitenumbrüche mit HTML5 hinzufügen
Eine häufige Anforderung in einem PDF-Dokument ist die Seitennummerierung. Entwickler müssen kontrollieren, wo PDF-Seiten beginnen und enden, um ein sauberes, lesbares Layout zu erhalten.
Am einfachsten geht dies mit einem weniger bekannten CSS-Trick, mit dem ein Seitenumbruch in jedes gedruckte HTML-Dokument eingefügt werden kann.
<div style='page-break-after: always;'> </div>
<div style='page-break-after: always;'> </div>
Das mitgelieferte HTML funktioniert zwar, ist aber kaum die beste Praxis. Wir empfehlen, das Media-Attribut wie im folgenden Beispiel anzupassen. Eine so saubere und übersichtliche Art, mehrseitige HTML-Inhalte zu gestalten.
<!DOCTYPE html>
<html>
<head>
<style type="text/css" media="print">
.page{
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="page">
<h1>This is Page 1</h1>
</div>
<div class="page">
<h1>This is Page 2</h1>
</div>
<div class="page">
<h1>This is Page 3</h1>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style type="text/css" media="print">
.page{
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="page">
<h1>This is Page 1</h1>
</div>
<div class="page">
<h1>This is Page 2</h1>
</div>
<div class="page">
<h1>This is Page 3</h1>
</div>
</body>
</html>
Die How-To-Skizze mehrtipps und Tricks mit Seitenumbrüchen
Ein Deckblatt an eine PDF-Datei anhängen
IronPDF macht es einfach, PDF-Dokumente zusammenzuführen. Die häufigste Anwendung dieser Technik ist das Hinzufügen eines Deckblatts oder einer Rückseite zu einem bereits gerenderten PDF-Dokument.
Zu diesem Zweck wird zunächst ein Deckblatt gerendert und dann die Funktion "PdfDocument.Merge()statische Methode, um die 2 Dokumente zu kombinieren.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-19.cs
using IronPdf;
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
var pdfMerged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf).SaveAs("Combined.Pdf");
Imports IronPdf
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
Private pdfMerged = PdfDocument.Merge(New PdfDocument("CoverPage.pdf"), pdf).SaveAs("Combined.Pdf")
Ein vollständiges Codebeispiel finden Sie hier:PDF Deckblatt Code Beispiel
Hinzufügen eines Wasserzeichens
Ein FinaleC# PDF funktion, die IronPDF unterstützt, ist das Hinzufügen eines Wasserzeichens zu Dokumenten. Damit kann auf jeder Seite ein Hinweis angebracht werden, dass ein Dokument "vertraulich" oder ein "Muster" ist.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-20.cs
using IronPdf;
using IronPdf.Editing;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Watermarks all pages with red "SAMPLE" text at a custom location.
// Also adding a link to the watermark on-click
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 0, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
' Watermarks all pages with red "SAMPLE" text at a custom location.
' Also adding a link to the watermark on-click
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 0, VerticalAlignment.Middle, HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
Ein vollständiges Codebeispiel finden Sie hier:Beispiel für einen PDF-Wasserzeichen-Code
Laden Sie C#-Quellcode herunter
Der vollständige Free HTML to PDF Converter C# Source Code für dieses Tutorial steht als gezippte Visual Studio 2022 Projektdatei zum Download bereit. Es wird seine Rendering-Engine verwenden, um PDF-Dokumentobjekte in C# zu generieren.
Laden Sie dieses Lernprogramm als Visual Studio-Projekt herunter
Der kostenlose Download enthält alles, was Sie brauchen, um ein PDF aus HTML zu erstellen - einschließlich funktionierender C#-PDF-Code-Beispiele für:
-
Konvertieren eines HTML-Strings in PDF mit C#
-
HTML-Datei zu PDF in C#(unterstützung von CSS, JavaScript und Bildern)
-
C# HTML zu PDF mit einer URL("URL zu PDF")
-
C#-Beispiele für PDF-Bearbeitung und -Einstellungen
-
Rendering von JavaScript-Canvas-Diagrammen wie d3.js in einer PDF-Datei
- Die PDF-Bibliothek für C#
Klassenreferenz
Für Entwickler ist vielleicht auch die Referenz der Klasse "IronPDF.PdfDocument" interessant:
https://ironpdf.com/object-reference/api/IronPdf.PdfDocument.html
Dieses Objektmodell zeigt, wie PDF-Dokumente aussehen können:
- Verschlüsselt und passwortgeschützt
- Bearbeitet oder mit neuem HTML-Inhalt "gestempelt
- Verbessert mit Vorder- und Hintergrundbildern
- Zusammenführen, Verbinden, Abschneiden und Zusammenfügen auf Seiten- oder Dokumentebene
- OCR verarbeitet, um Klartext und Bilder zu extrahieren
Blazor HTML zu PDF
Das Hinzufügen der HTML-zu-PDF-Funktionalität zu Ihrem Blazor-Server ist ganz einfach und unkompliziert:
-
Erstellen Sie ein neues Blazor-Serverprojekt oder verwenden Sie ein bestehendes Projekt
-
Fügen Sie die IronPDF-Bibliothek mit NuGet zu Ihrem Projekt hinzu
-
Fügen Sie eine neue Razor-Komponente hinzu oder verwenden Sie eine vorhandene Komponente
-
Ein
InputTextArea
hinzufügen und mit IronPDF verknüpfen -
IronPDF kümmert sich um den Rest und stellt
Die vollständige Schritt-für-Schritt-Anleitung mit Bildern und Codebeispielen finden Sie unterhier.
Vergleich mit anderen PDF-Bibliotheken
IronPDF ist eine leistungsstarke und umfassende PDF-Bibliothek, die speziell für moderne .NET-Entwickler entwickelt wurde. Mit der nativen HTML-zu-PDF-Konvertierung, die von einer fortschrittlichen Chromium-Engine angetrieben wird, einer intuitiven API und regelmäßigen Updates, vereinfacht es die Entwicklung und gewährleistet gleichzeitig hochwertige Ergebnisse. Werfen wir einen genaueren Blick darauf, wie es im Vergleich zu anderen Tools abschneidet:
PDFSharp
- Kernfunktionen: PdfSharp ist eine Open-Source-Bibliothek, die grundlegende PDF-Erstellung und -Bearbeitung unterstützt. Allerdings fehlt ihm die eingebaute Konvertierung von HTML zu PDF, die entscheidend für die genaue Darstellung von Webinhalten ist.
- Moderne Standards: IronPDF nutzt moderne Webtechnologien, einschließlich HTML, CSS und JavaScript, durch seine auf Chromium basierende Engine, um sicherzustellen, dass PDFs ein zeitgemäßes Erscheinungsbild behalten.
- Support & Updates: PdfSharp erhält seltene Updates und bietet keinen offiziellen Support, während IronPDF monatliche Updates, Sicherheitspatches und professionelle Unterstützung bietet—was es ideal für Enterprise-Anwendungen macht. wkhtmltopdf
- Einfache Integration: wkhtmltopdf erfordert Befehlszeilenoperationen und die manuelle Konfiguration von Abhängigkeiten, was die Integration mit .NET-Anwendungen umständlicher macht.
- Rendering-Technologie: wkhtmltopdf basiert auf einer veralteten WebKit-Engine, die mit modernem JavaScript und CSS Schwierigkeiten hat und oft zu lange braucht, um Ausgaben zu erzeugen – insbesondere bei dynamischen, inhaltsreichen Websites. Der Chromium-Engine von IronPDF bietet präzises und zuverlässiges Rendering.
- Fortlaufende Entwicklung: wkhtmltopdf hat seit 2022 nur wenig aktive Entwicklung erfahren und bietet eingeschränkten Support, während IronPDF sich mit häufigen Updates und engagiertem Kundenservice ständig weiterentwickelt.
- Sicherheitslücke
iTextSharp
- HTML-zu-PDF Rendering: Die kostenlose Version von iTextSharp bietet keine native HTML-zu-PDF-Konvertierung, was Entwickler oft dazu zwingt, komplizierte Umgehungslösungen zu verwenden. IronPDF hingegen bietet eine nahtlose Umwandlung mit voller Unterstützung für moderne Webtechnologien.
- Entwicklererfahrung: Die Low-Level-API von iTextSharp kann umständlich und zeitaufwendig sein, was die Entwicklung verlangsamen kann. IronPDF bietet eine saubere und intuitive C# API, die das Programmieren vereinfacht und die Projektauslieferung beschleunigt.
- Wartung & Support: IronPDF bietet professionellen Support und regelmäßige Updates, die Sicherheit und Effizienz gewährleisten, während die kostenlose Version von iTextSharp veraltet ist und keinen offiziellen Support bietet.
- Lizenz ist lästig
Aspose.PDF
- Konvertierungsqualität: Aspose.PDF ist ein leistungsfähiges Tool, aber seine HTML-zu-PDF-Konvertierung hat Einschränkungen und kann Schwierigkeiten mit modernem CSS und JavaScript haben. Aspose erlaubt keine direkte URL-zu-PDF-Konvertierung, daher müssen Entwickler das HTML manuell herunterladen oder den Inhalt streamen, was zusätzliche Schritte erfordert. Selbst nach diesen Maßnahmen fehlen dem resultierenden PDF oft Stile, Layoutelemente und dynamische Inhalte. Das Chromium-basierte Engine von IronPDF gewährleistet eine hochpräzise Umwandlung komplexer Weblayouts.
- API-Benutzerfreundlichkeit: Die API von Aspose.PDF kann umständlich und schwierig zu navigieren sein, während IronPDF den Schwerpunkt auf eine entwicklerfreundliche Erfahrung legt, die die Einrichtungszeit minimiert und die Produktivität steigert.
- Leistung: Die optimierte Verarbeitung von IronPDF sorgt für schnellere Umwandlungsgeschwindigkeiten und eine bessere Leistung, was es zu einer starken Wahl für Unternehmensanwendungen mit hohem Volumen an PDF-Generierungsbedarf macht.
Syncfusion PDF
- API-Komplexität: Syncfusion PDF ist ein leistungsstarkes Werkzeug, aber verfügt über eine komplexere API, die die Entwicklung verlangsamen kann. IronPDF bietet im Gegensatz dazu eine unkomplizierte API für die schnelle Integration.
- Rendering Engine: Syncfusion unterstützt sowohl WebKit- als auch Blink-Engines. Obwohl Blink schneller als WebKit ist, zeigen Tests unter realen Bedingungen, dass die Blink-Engine von Syncfusion immer noch langsamer arbeitet als die Chromium-Rendering-Engine von IronPDF. Darüber hinaus hat Syncfusion Schwierigkeiten, komplexe Seiten vollständig zu erfassen und lässt einige dynamisch geladene Abschnitte sowie bestimmte CSS-Stile aus. Der Chromium-Engine von IronPDF sorgt für präzises und konsistentes Rendering, selbst bei modernen Websites mit umfangreichem JavaScript und CSS.
- Erweiterte Funktionen: Neben der Standardkonvertierung bietet IronPDF leistungsstarke Funktionen wie digitale Signaturen, Anmerkungen, Formularausfüllung, OCR und Barcode-Generierung, die Ihren Projekten zusätzlichen Wert verleihen.
Rendering-Vergleich
Um die Qualität der HTML-zu-PDF-Konvertierung dieser Bibliotheken zu vergleichen, haben wir die Reddit-Seite verwendet, die dynamische Inhalte, Live-Updates, moderne CSS und auf JavaScript basierende Elemente enthält:
https://www.reddit.com/
Hier sind die Ergebnisse(Klicken Sie auf jedes Bild, um es vergrößert anzusehen):
IronPDF


Aspose.PDF

Wkhtmltopdf

## HTML zu PDF Tutorial Video ansehen Mit dem PDF-Dokument können Sie den folgenden Link besuchen, um zu erfahren, wie man[eine PDF in Chrome öffnen, ohne sie herunterzuladen](https://knowledge.workspace.google.com/kb/how-to-open-a-pdf-file-without-downloading-it-000002252).
Tutorial Quick Access
Download this Tutorial as C# Source Code
The full free HTML to PDF C# Source Code for this tutorial is available to download as a zipped Visual Studio project file.
DownloadExplore this Tutorial on GitHub
The source code for this project is available in C# and VB.NET on GitHub.
Use this code as an easy way to get up and running in just a few minutes. The project is saved as a Microsoft Visual Studio 2017 project, but is compatible with any .NET IDE.
C# HTML to PDF VB.NET HTML to PDFDownload the C# PDF Quickstart guide
To make developing PDFs in your .NET applications easier, we have compiled a quick-start guide as a PDF document. This "Cheat-Sheet" provide quick access to common functions and examples for generating and editing PDFs in C# and VB.NET - and may help save time in getting started using IronPDF in your .NET project.
DownloadView the API Reference
Explore the API Reference for IronPDF, outlining the details of all of IronPDF’s features, namespaces, classes, methods fields and enums.
View the API Reference