using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
iTextsharp HTML zu PDF mit CSS Styles C# Beispiel vs IronPDF
Chipego Kalinda
24. April 2025
Teilen Sie:
Die Umwandlung von HTML in PDF ist eine entscheidende Aufgabe in vielen modernen Softwareentwicklungs-Workflows, sei es zur Erstellung von Berichten, Rechnungen oder für die Dokumentation. Als C#-Entwickler stehen Ihnen mehrere Bibliotheken zur Verfügung, um diesen Prozess zu optimieren.
In diesem Artikel vergleichen wir zwei der beliebtesten Bibliotheken im .NET-Ökosystem: IronPDF und iTextSharp. Beide Bibliotheken bieten robuste Funktionalität, unterscheiden sich jedoch in wichtigen Bereichen wie Benutzerfreundlichkeit, PDF-Erstellungstools, CSS-Styling-Unterstützung und Lizenzierung. Egal, ob Sie ein Anfänger oder ein erfahrener Entwickler sind, dieser Leitfaden wird Ihnen helfen, die Kernfunktionen zu verstehen und zu entscheiden, welche am besten zu Ihren Bedürfnissen und Projektanforderungen passt.
Möchten Sie mitverfolgen? Downloaden Sie die kostenlose Testversion von IronPDF, um die leistungsstarken Funktionen von IronPDF selbst zu erkunden.*
Vergleich der besten Bibliotheken: iTextSharp und IronPDF
Sowohl iTextSharp als auch IronPDF bieten Entwicklern die Werkzeuge, die sie für die Umwandlung von HTML in PDF in C# benötigen. Jedes hat jedoch seine eigenen Stärken und Schwächen.
iTextSharp ist eine Open-Source-Bibliothek, die schon seit langer Zeit existiert. Sie bietet Flexibilität und umfangreiche Anpassungsmöglichkeiten, kann jedoch etwas komplex in der Einrichtung und Nutzung sein, insbesondere bei der Verarbeitung von fortschrittlichem HTML- und CSS-Rendering. Es sollte jedoch beachtet werden, dass iTextSharp ein Legacy-Produkt ist und nur noch sicherheitsrelevante Updates erhält.
IronPDF hingegen ist ein kommerzielles Produkt, das von Iron Software entwickelt wurde. Es ist bekannt für seine benutzerfreundliche Oberfläche, robuste CSS-Unterstützung und einfache Handhabung. Es integriert sich nahtlos in C#-Anwendungen und ist daher eine ausgezeichnete Wahl für Entwickler, die eine schnelle und effiziente PDF-Erstellung benötigen, ohne Kompromisse bei der Qualität einzugehen.
Bevor wir uns damit befassen, wie man HTML mit diesen beiden Bibliotheken in das PDF-Format konvertiert, werfen wir zunächst einen Blick auf einen grundlegenden Beispielvergleich, der den Unterschied zeigt, wie diese beiden Bibliotheken umfangreiche CSS- und JavaScript-Webseiten/HTML-Inhalte in ein PDF-Dokument umwandeln.
Wie Sie aus den resultierenden PDF-Dokumenten ersehen können, zeigt dies, dass iTextSharp wirklich nur den rohen HTML-Inhalt von der bereitgestellten URL verarbeiten kann, während IronPDF in der Lage ist, das ursprüngliche CSS-Layout und Styling beizubehalten, wodurch das generierte PDF-Dokument der ursprünglichen Webseite stark ähnelt.
Schritt-für-Schritt-Installationsanleitung
Einrichtung von iTextSharp
Installation über die NuGet-Konsole: Um mit der Verwendung von iTextSharp zu beginnen, können Sie es direkt von NuGet installieren. Öffnen Sie Ihr Visual Studio-Projekt, gehen Sie zum NuGet-Paket-Manager und führen Sie den folgenden Befehl aus:
Install-Package iTextSharp
Install-Package iTextSharp
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package iTextSharp
$vbLabelText $csharpLabel
Installation über den NuGet-Paket-Manager: Alternativ können Sie es über den NuGet-Paket-Manager für die Solution-Bildschirm installieren. Um dies zu tun, navigieren Sie zu "Tools > NuGet-Paket-Manager > NuGet-Pakete für Lösung verwalten".
Anschließend suchen Sie nach der iTextSharp-Bibliothek und klicken auf "Installieren".
Referenzen hinzufügen: Nach der Installation fügen Sie die erforderlichen Referenzen in Ihrem Projekt hinzu, insbesondere diejenigen, die sich auf die Umwandlung von HTML zu PDF beziehen.
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
Installation über die NuGet-Konsole: Um mit IronPDF zu beginnen, können Sie es direkt von NuGet installieren. Öffnen Sie Ihr Visual Studio-Projekt, gehen Sie zum NuGet-Paket-Manager und führen Sie den folgenden Befehl aus:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText $csharpLabel
Installation über den NuGet-Paket-Manager: Alternativ können Sie es über den NuGet-Paket-Manager für die Lösung installieren, genau wie wir es in den obigen Schritten für iTextSharp getan haben. Suchen Sie jedoch diesmal nach IronPDF, bevor Sie auf "Installieren" klicken.
Referenzen hinzufügen: Nach der Installation fügen Sie IronPDF in Ihr Projekt ein:
using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText $csharpLabel
Es ist wichtig, daran zu denken, dass IronPDF einen Lizenzschlüssel für die kommerzielle Nutzung/verwendung außerhalb der Entwicklung erfordert.
Implementierung der HTML-zu-PDF-Konvertierung
Verwendung von iTextSharp
Sobald iTextSharp eingerichtet ist, müssen Sie auch sicherstellen, dass das Paket itextsharp.xmlworker in Ihrem Projekt installiert ist, bevor Sie beginnen können, PDFs aus HTML-Inhalten zu erstellen. Allerdings werden Sie bei komplexeren HTML-Strukturen auf Herausforderungen stoßen, insbesondere wenn CSS-Stile im Spiel sind. iTextSharp erfordert tendenziell zusätzlichen Aufwand, um perfektes Styling zu erreichen, verglichen mit IronPDF. Es ist wichtig zu beachten, dass iTextSharp nur grundlegendes HTML/CSS2 unterstützt (kein Flexbox, kein Grid, begrenztes CSS).
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
string html = @"
<html>
<head>
<style>
body { font-family: Arial; color: #333; }
h1 { background: #3498db; color: #fff; padding: 10px; }
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { border: 1px solid #ccc; padding: 6px; }
th { background: #2980b9; color: #fff; }
.footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
</style>
</head>
<body>
<h1>April Report</h1>
<p>Here’s a quick overview of this month’s performance metrics.</p>
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Features</td><td>12</td></tr>
<tr><td>Bugs Fixed</td><td>89</td></tr>
</table>
<p class='footer'>Generated by iTextSharp</p>
</body>
</html>";
using (FileStream stream = new FileStream("report.pdf", FileMode.Create))
{
Document pdfDoc = new Document(PageSize.A4, 25, 25, 30, 30);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
pdfDoc.Open();
using (StringReader sr = new StringReader(html))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
}
pdfDoc.Close();
writer.Close();
}
Console.WriteLine("PDF generation completed successfully.");
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
string html = @"
<html>
<head>
<style>
body { font-family: Arial; color: #333; }
h1 { background: #3498db; color: #fff; padding: 10px; }
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { border: 1px solid #ccc; padding: 6px; }
th { background: #2980b9; color: #fff; }
.footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
</style>
</head>
<body>
<h1>April Report</h1>
<p>Here’s a quick overview of this month’s performance metrics.</p>
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Features</td><td>12</td></tr>
<tr><td>Bugs Fixed</td><td>89</td></tr>
</table>
<p class='footer'>Generated by iTextSharp</p>
</body>
</html>";
using (FileStream stream = new FileStream("report.pdf", FileMode.Create))
{
Document pdfDoc = new Document(PageSize.A4, 25, 25, 30, 30);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
pdfDoc.Open();
using (StringReader sr = new StringReader(html))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
}
pdfDoc.Close();
writer.Close();
}
Console.WriteLine("PDF generation completed successfully.");
Imports System
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.tool.xml
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)
Dim html As String = "
<html>
<head>
<style>
body { font-family: Arial; color: #333; }
h1 { background: #3498db; color: #fff; padding: 10px; }
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { border: 1px solid #ccc; padding: 6px; }
th { background: #2980b9; color: #fff; }
.footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
</style>
</head>
<body>
<h1>April Report</h1>
<p>Here’s a quick overview of this month’s performance metrics.</p>
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Features</td><td>12</td></tr>
<tr><td>Bugs Fixed</td><td>89</td></tr>
</table>
<p class='footer'>Generated by iTextSharp</p>
</body>
</html>"
Using stream As New FileStream("report.pdf", FileMode.Create)
Dim pdfDoc As New Document(PageSize.A4, 25, 25, 30, 30)
Dim writer As PdfWriter = PdfWriter.GetInstance(pdfDoc, stream)
pdfDoc.Open()
Using sr As New StringReader(html)
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr)
End Using
pdfDoc.Close()
writer.Close()
End Using
Console.WriteLine("PDF generation completed successfully.")
$vbLabelText $csharpLabel
PDF-Ausgabedatei
IronPDF verwenden
IronPDF vereinfacht den PDF-Erstellungsprozess und kann HTML-Inhalte mühelos in neue PDF-Dokumente umwandeln, und das in nur wenigen Codezeilen, wie im folgenden Codebeispiel gezeigt. Es ist in der Lage, mit fortschrittlichen HTML-Dokumenten zu arbeiten, die CSS-Dateien zur Stilgestaltung verwenden, HTML-Strings und CSS/JavaScript-lastige Webinhalte.
Hier ist ein einfaches Beispiel, das inline-CSS enthält:
Mit IronPDF können Sie eine ausgereifte PDF-Datei mit präziser CSS-Stilgestaltung erwarten, wie im obigen Codebeispiel zu sehen ist, und es ist eine bevorzugte Wahl für viele Entwickler, die mit komplexen HTML-Dateien, Strings und mehr arbeiten. Über die einfache HTML-zu-PDF-Dokumentkonvertierung hinaus ist IronPDF in der Lage, erweiterte PDF-Manipulationsaufgaben und PDF-Sicherheitsaufgaben durchzuführen. Dies macht es zu einer hervorragenden All-in-One-PDF-Bibliothek.
Wichtige Unterschiede und Wettbewerbslandschaft
Beim Vergleich von iTextSharp und IronPDF ist es wichtig, nicht nur deren Funktionen, sondern auch das Wettbewerbsumfeld zu berücksichtigen. Andere Wettbewerber wie Apryse und Aspose.PDF bieten ähnliche HTML-zu-PDF-Lösungen an, jedoch mit eigenen Kompromissen in Bezug auf Preisgestaltung und Funktionalität.
FunktionIronPDFiTextSharpApryseAspose.PDF
Benutzerfreundlichkeit Hoch Mittel Hoch Mittel
CSS-Unterstützung Voll Teilweise Voll Voll
Lizenzierung Kommerziell Open Source Kommerziell Kommerziell
Preise Ab $749 Freie/Kommerzielle Lizenz Angebotsbasiert Ab $1.679 pro Jahr
IronPDF zeichnet sich durch seine umfassende Unterstützung für modernes HTML5 und CSS3 aus, was für die meisten Entwickler heutzutage entscheidend ist. Seine erweiterte Unterstützung für die Manipulation von PDF-Dokumenten, die Kontrolle über die Erstellung von PDF-Dokumenten, die einfache Umwandlung und mehr machen IronPDF zu einer beliebten PDF-Bibliothek.
Schlussfolgerung und Empfehlungen
Abschließend bieten sowohl IronPDF als auch iTextSharp starke Fähigkeiten für die Umwandlung von HTML in PDF in C#, jedoch sprechen sie verschiedene Arten von Entwicklern an. Wenn Sie nach einer Open-Source-Lösung mit starker Community-Unterstützung suchen, könnte iTextSharp die richtige Wahl sein. Für Entwickler, die Benutzerfreundlichkeit, umfassende CSS-Unterstützung und eine kommerzielle Lösung benötigen, bietet IronPDF jedoch ein weitaus schlankeres und funktionsreicheres Erlebnis. Ob Sie nach einem Tool suchen, das die Erstellung von Rechnungen automatisieren, gebrandete PDF-Dokumente erstellen oder ganze Webseiten in PDF-Dateien umwandeln kann, IronPDF bietet Ihnen genau das.
Probieren Sie noch heute die benutzerfreundlichen Funktionen von IronPDF aus – laden Sie die kostenlose Testversion herunter, um einen ersten Eindruck zu gewinnen und zu sehen, wie einfach die Umwandlung von HTML in PDF sein kann.
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS IronPDF und Puppeteer C#: Ein Vergleich
NÄCHSTES > PDF-Dateien mit iTextSharp zusammenführen