PRODUKT-VERGLEICHE

iTextsharp HTML zu PDF mit CSS Styles C# Beispiel vs IronPDF

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.

    iTextSharp vs IronPDF URL zu PDF

    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

  1. 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 von iTextSharp über die NuGet-Konsole

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

    Werkzeuge Dropdown-Menü

    Anschließend suchen Sie nach der iTextSharp-Bibliothek und klicken auf "Installieren".

    iTextSharp NuGet-Bildschirm

  2. 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;
Imports iTextSharp.text.pdf
Imports iTextSharp.text.html.simpleparser
$vbLabelText   $csharpLabel

IronPDF einrichten

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

    NuGet-Bildschirm von IronPDF

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

iTextSharp HTML zu PDF Ausgabe

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:

using IronPdf;

class Program
{
    static void Main()
    {
        var content = @"
        <html>
        <head>
            <style>
                body {
                    font-family: 'Segoe UI', sans-serif;
                    margin: 40px;
                    background-color: #f8f9fa;
                }
                h1 {
                    color: #2c3e50;
                    border-bottom: 2px solid #2980b9;
                    padding-bottom: 10px;
                }
                table {
                    width: 100%;
                    border-collapse: collapse;
                    margin-top: 20px;
                }
                table, th, td {
                    border: 1px solid #ccc;
                }
                th {
                    background-color: #2980b9;
                    color: white;
                    padding: 10px;
                }
                td {
                    padding: 10px;
                    background-color: #ecf0f1;
                }
                .footer {
                    margin-top: 40px;
                    text-align: center;
                    font-size: 0.9em;
                    color: #7f8c8d;
                }
                img {
                    width: 120px;
                    float: right;
                }
            </style>
        </head>
        <body>
            <img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg' alt='Company Logo' />
            <h1>Monthly Report - April 2025</h1>
            <p>This report outlines performance statistics and key updates for the development team.</p>

            <table>
                <tr>
                    <th>Metric</th>
                    <th>Value</th>
                    <th>Change</th>
                </tr>
                <tr>
                    <td>Feature Releases</td>
                    <td>12</td>
                    <td style='color: green;'>+20%</td>
                </tr>
                <tr>
                    <td>Bugs Resolved</td>
                    <td>89</td>
                    <td style='color: green;'>+45%</td>
                </tr>
                <tr>
                    <td>Downtime</td>
                    <td>2 hrs</td>
                    <td style='color: red;'>+15%</td>
                </tr>
            </table>

            <div class='footer'>
                Generated with IronPDF 
 © 2025 DevCorp
            </div>
        </body>
        </html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("AdvancedStyledReport.pdf");

    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        var content = @"
        <html>
        <head>
            <style>
                body {
                    font-family: 'Segoe UI', sans-serif;
                    margin: 40px;
                    background-color: #f8f9fa;
                }
                h1 {
                    color: #2c3e50;
                    border-bottom: 2px solid #2980b9;
                    padding-bottom: 10px;
                }
                table {
                    width: 100%;
                    border-collapse: collapse;
                    margin-top: 20px;
                }
                table, th, td {
                    border: 1px solid #ccc;
                }
                th {
                    background-color: #2980b9;
                    color: white;
                    padding: 10px;
                }
                td {
                    padding: 10px;
                    background-color: #ecf0f1;
                }
                .footer {
                    margin-top: 40px;
                    text-align: center;
                    font-size: 0.9em;
                    color: #7f8c8d;
                }
                img {
                    width: 120px;
                    float: right;
                }
            </style>
        </head>
        <body>
            <img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg' alt='Company Logo' />
            <h1>Monthly Report - April 2025</h1>
            <p>This report outlines performance statistics and key updates for the development team.</p>

            <table>
                <tr>
                    <th>Metric</th>
                    <th>Value</th>
                    <th>Change</th>
                </tr>
                <tr>
                    <td>Feature Releases</td>
                    <td>12</td>
                    <td style='color: green;'>+20%</td>
                </tr>
                <tr>
                    <td>Bugs Resolved</td>
                    <td>89</td>
                    <td style='color: green;'>+45%</td>
                </tr>
                <tr>
                    <td>Downtime</td>
                    <td>2 hrs</td>
                    <td style='color: red;'>+15%</td>
                </tr>
            </table>

            <div class='footer'>
                Generated with IronPDF 
 © 2025 DevCorp
            </div>
        </body>
        </html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("AdvancedStyledReport.pdf");

    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		Dim content = "
        <html>
        <head>
            <style>
                body {
                    font-family: 'Segoe UI', sans-serif;
                    margin: 40px;
                    background-color: #f8f9fa;
                }
                h1 {
                    color: #2c3e50;
                    border-bottom: 2px solid #2980b9;
                    padding-bottom: 10px;
                }
                table {
                    width: 100%;
                    border-collapse: collapse;
                    margin-top: 20px;
                }
                table, th, td {
                    border: 1px solid #ccc;
                }
                th {
                    background-color: #2980b9;
                    color: white;
                    padding: 10px;
                }
                td {
                    padding: 10px;
                    background-color: #ecf0f1;
                }
                .footer {
                    margin-top: 40px;
                    text-align: center;
                    font-size: 0.9em;
                    color: #7f8c8d;
                }
                img {
                    width: 120px;
                    float: right;
                }
            </style>
        </head>
        <body>
            <img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg' alt='Company Logo' />
            <h1>Monthly Report - April 2025</h1>
            <p>This report outlines performance statistics and key updates for the development team.</p>

            <table>
                <tr>
                    <th>Metric</th>
                    <th>Value</th>
                    <th>Change</th>
                </tr>
                <tr>
                    <td>Feature Releases</td>
                    <td>12</td>
                    <td style='color: green;'>+20%</td>
                </tr>
                <tr>
                    <td>Bugs Resolved</td>
                    <td>89</td>
                    <td style='color: green;'>+45%</td>
                </tr>
                <tr>
                    <td>Downtime</td>
                    <td>2 hrs</td>
                    <td style='color: red;'>+15%</td>
                </tr>
            </table>

            <div class='footer'>
                Generated with IronPDF 
 © 2025 DevCorp
            </div>
        </body>
        </html>"

		Dim renderer = New ChromePdfRenderer()
		Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
		pdf.SaveAs("AdvancedStyledReport.pdf")

	End Sub
End Class
$vbLabelText   $csharpLabel

PDF-Ausgabedatei

IronPDF HTML-zu-PDF-Ausgabe

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.

Funktion IronPDF iTextSharp Apryse Aspose.PDF


Benutzerfreundlichkeit Hoch Mittel Hoch Mittel

CSS-Unterstützung Voll Teilweise Voll Voll

Lizenzierung Kommerziell Open Source Kommerziell Kommerziell

Unterstützung Ausgezeichnet Gemeinschaft Premium Premium

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
Software-Ingenieur
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