Zum Fußzeileninhalt springen
PRODUKTVERGLEICHE

iTextsharp HTML zu PDF mit CSS-Stilen C# Beispiel vs IronPDF

Das Konvertieren von HTML zu PDF ist eine entscheidende Aufgabe in vielen modernen Softwareentwicklungs-Workflows, sei es für die Erstellung von Berichten, Rechnungen oder Dokumentationen. 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 leistungsstarke Funktionalitäten, unterscheiden sich jedoch in wesentlichen Bereichen wie Benutzerfreundlichkeit, PDF-Erstellungstools, CSS-Stilunterstützung und Lizenzierung. Egal, ob Sie ein Anfänger oder ein erfahrener Entwickler sind, dieser Leitfaden hilft Ihnen, ihre Kernfunktionen zu verstehen und zu entscheiden, welche am besten zu Ihnen passt, basierend auf Ihren Bedürfnissen und Projektanforderungen.

Möchten Sie mitmachen? Laden Sie die kostenlose Testversion von IronPDF herunter, um die leistungsstarken Funktionen von IronPDF selbst zu erkunden.

Vergleich der Top-Bibliotheken: iTextSharp und IronPDF

Sowohl iTextSharp als auch IronPDF bieten Entwicklern die Werkzeuge, die sie für die Umwandlung von HTML zu PDF in C# benötigen. Jede hat jedoch ihre eigenen Stärken und Schwächen.

  • iTextSharp ist eine Open-Source-Bibliothek, die schon lange existiert. Sie bietet Flexibilität und umfangreiche Anpassungsmöglichkeiten, kann jedoch etwas komplex einzurichten und zu verwenden sein, insbesondere bei der Bearbeitung von fortgeschrittenem HTML und CSS-Rendering. Es sei jedoch darauf hingewiesen, 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 Benutzerfreundlichkeit. Es integriert sich nahtlos in C#-Anwendungen und ist damit eine ausgezeichnete Wahl für Entwickler, die eine schnelle und effiziente PDF-Generierung benötigen, ohne auf die Qualität zu verzichten.

Bevor wir uns damit befassen, wie HTML mit diesen beiden Bibliotheken in das PDF-Format umgewandelt wird, sehen wir uns zunächst ein einfaches Vergleichsbeispiel an, das zeigt, wie diese beiden Bibliotheken die Umwandlung von CSS- und JavaScript-lastigen Webseiten/HTML-Inhalten in ein PDF-Dokument handhaben.

iTextSharp vs IronPDF URL zu PDF

Wie Sie an den resultierenden PDF-Dokumenten sehen können, zeigt dies, wie iTextSharp nur den rohen HTML-Inhalt von der angegebenen URL verarbeiten kann, während IronPDF in der Lage ist, das ursprüngliche CSS-Layout und -Styling beizubehalten, was sicherstellt, dass das generierte PDF-Dokument der ursprünglichen Webseite stark ähnelt.

Schritt-für-Schritt-Installationsanleitung

Einrichten von iTextSharp

  1. Installation über die NuGet-Konsole: Um iTextSharp zu verwenden, können Sie es direkt von NuGet installieren. Öffnen Sie Ihr Visual Studio-Projekt, gehen Sie zum NuGet-Paketmanager und führen Sie den folgenden Befehl aus:
Install-Package iTextSharp

Installation von iTextSharp über die NuGet-Konsole

  1. Installation über den NuGet-Paketmanager: Alternativ können Sie es über den NuGet-Paketmanager für den Lösungsbildschirm installieren. Navigieren Sie dazu zu "Tools > NuGet Paketmanager > NuGet-Pakete für Lösung verwalten".

Dropdown-Menü Tools

Dann suchen Sie nach der iTextSharp-Bibliothek und klicken Sie auf 'Installieren'.

iTextSharp NuGet-Bildschirm

  1. Verweise hinzufügen: Sobald es installiert ist, fügen Sie die notwendigen Verweise in Ihrem Projekt hinzu, insbesondere solche, 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;
$vbLabelText   $csharpLabel

Einrichten von IronPDF

  1. Installation über die NuGet-Konsole: Um IronPDF zu verwenden, können Sie es direkt von NuGet installieren. Öffnen Sie Ihr Visual Studio-Projekt, gehen Sie zum NuGet-Paketmanager und führen Sie den folgenden Befehl aus:
Install-Package IronPdf
  1. Installation über den NuGet-Paketmanager: Alternativ können Sie es über den NuGet-Paketmanager für den Lösungsbildschirm installieren, wie wir es oben für iTextSharp beschrieben haben. Dieses Mal suchen Sie jedoch nach IronPDF, bevor Sie auf 'Installieren' klicken.

IronPDF's NuGet-Bildschirm

  1. Verweise hinzufügen: Nachdem die Installation abgeschlossen ist, importieren Sie IronPDF in Ihr Projekt:
using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

Es ist wichtig zu beachten, dass IronPDF einen Lizenzschlüssel für die kommerzielle Nutzung/Nutzung außerhalb der Entwicklung erfordert.

Implementierung der Konvertierung von HTML in PDF

Verwendung von iTextSharp

Sobald iTextSharp eingerichtet ist, stellen Sie sicher, dass das itextsharp.xmlworker-Paket in Ihr Projekt installiert ist, bevor Sie mit der Erstellung von PDFs aus HTML-Inhalten beginnen können. Sie werden jedoch Herausforderungen bei komplexeren HTML-Inhalten haben, insbesondere wenn CSS-Stile involviert sind. iTextSharp erfordert oft zusätzlichen Aufwand, um perfektes Styling zu erreichen, verglichen mit IronPDF. Es ist wichtig zu beachten, dass iTextSharp nur grundlegendes HTML/CSS2 verarbeitet (kein Flexbox, kein Grid, begrenztes CSS).

using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

// Register provider for specific code pages
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

// Define HTML content with CSS styling
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>";

// Create PDF from HTML content
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))
    {
        // Use XMLWorkerHelper to parse and add HTML content to the PDF document
        XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
    }
    pdfDoc.Close();
    writer.Close();
}
Console.WriteLine("PDF generation completed successfully.");
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

// Register provider for specific code pages
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

// Define HTML content with CSS styling
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>";

// Create PDF from HTML content
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))
    {
        // Use XMLWorkerHelper to parse and add HTML content to the PDF document
        XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
    }
    pdfDoc.Close();
    writer.Close();
}
Console.WriteLine("PDF generation completed successfully.");
$vbLabelText   $csharpLabel

Ausgabendatei PDF

iTextSharp HTML zu PDF-Ausgabe

Verwendung von IronPDF

IronPDF vereinfacht den PDF-Erstellungsprozess und kann HTML-Inhalte leicht in neue PDF-Dokumente umwandeln – in nur wenigen Codezeilen, wie das untenstehende Codebeispiel zeigt. Es kann mit fortgeschrittenen HTML-Dokumenten arbeiten, mit CSS-Dateien, die für das Styling verwendet werden, HTML-Strings sowie CSS/JavaScript-lastigen Webinhalten.

Hier ist ein einfaches Beispiel, das Inline-CSS beinhaltet:

using IronPdf;

class Program
{
    static void Main()
    {
        // Define HTML content with inline CSS styling
        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>";

        // Use ChromePdfRenderer to render the HTML content as a PDF
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(content);
        pdf.SaveAs("AdvancedStyledReport.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        // Define HTML content with inline CSS styling
        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>";

        // Use ChromePdfRenderer to render the HTML content as a PDF
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(content);
        pdf.SaveAs("AdvancedStyledReport.pdf");
    }
}
$vbLabelText   $csharpLabel

Ausgabendatei PDF

IronPDF HTML zu PDF-Ausgabe

Mit IronPDF können Sie ein poliertes PDF-Dokument mit akkuratem CSS-Styling erwarten, wie mit dem obigen Codebeispiel gezeigt. Es ist eine beliebte Wahl für viele Entwickler, die mit komplexen HTML-Dateien, Strings und mehr arbeiten. Über einfache HTML-zu-PDF-Dokumentkonvertierungsaufgaben hinaus ist IronPDF in der Lage, fortgeschrittene PDF-Bearbeitungsaufgaben und PDF-Sicherheit zu erledigen. Dies macht es zu einer ausgezeichneten All-in-One-PDF-Bibliothek.

Schlüsselunterschiede und Konkurrenzlandschaft

Bei der Bewertung von iTextSharp und IronPDF ist es wichtig, nicht nur deren Funktionen, sondern auch die Wettbewerbssituation zu berücksichtigen. Andere Wettbewerber wie Apryse und Aspose.PDF bieten ähnliche HTML-zu-PDF-Lösungen an, jedoch mit ihren eigenen Kompromissen in Bezug auf Preis und Funktionalität.

Feature IronPDF iTextSharp Apryse Aspose.PDF
Benutzerfreundlichkeit Hoch Mittel Hoch Mittel
CSS-Unterstützung Full Teilweise Full Vollständig
Licensing Commercial Open Source Commercial Kommerziell
Support Exzellent Community Premium Premium
Pricing Ab $799 Kostenlose/Kommerzielle Lizenz Angebotsabhängig 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 heute entscheidend ist. Seine erweiterte Unterstützung für die Bearbeitung von PDF-Dokumenten, die Kontrolle über die Erstellung von PDF-Dokumenten, die Einfachheit des Konvertierungsprozesses und vieles mehr machen IronPDF zu einer beliebten PDF-Bibliothek.

Schlussfolgerung und Empfehlungen

Zusammenfassend bieten sowohl IronPDF als auch iTextSharp starke Fähigkeiten zur Konvertierung von HTML zu PDF in C#, richten sich jedoch an verschiedene Entwickler. Wenn Sie eine Open-Source-Lösung mit starker Community-Unterstützung suchen, könnte iTextSharp die richtige Wahl sein. Für Entwickler, die Benutzerfreundlichkeit, robuste CSS-Unterstützung und eine kommerzielle Lösung suchen, bietet IronPDF jedoch eine weitaus effizientere und funktionsreichere Erfahrung. Egal, ob Sie ein Tool suchen, das die automatisierte Erstellung von Rechnungen, die Erstellung von gebrandeten PDF-Dokumenten oder die Konvertierung ganzer Webseiten in PDF-Dateien unterstützt, IronPDF hat für Sie das Richtige.

Probieren Sie noch heute die benutzerfreundlichen Funktionen von IronPDF aus – laden Sie die kostenlose Testversion herunter, um es selbst zu erleben, und sehen Sie, wie einfach die HTML-zu-PDF-Konvertierung sein kann.

Hinweis:iTextSharp ist eine eingetragene Marke des jeweiligen Eigentümers. Diese Seite ist nicht mit iTextSharp verbunden, genehmigt oder gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Inhaber. Die Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich verfügbare Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Wie kann ich HTML in PDF in C# konvertieren?

Sie können IronPDF verwenden, um HTML in PDF zu konvertieren, indem Sie die Methode RenderHtmlAsPdf für HTML-Strings oder RenderHtmlFileAsPdf für HTML-Dateien verwenden. Diese Bibliothek unterstützt modernes HTML5 und CSS3, was eine genaue Stilisierung und Darstellung gewährleistet.

Was sind die Hauptvorteile der Verwendung von IronPDF für die HTML-zu-PDF-Konvertierung?

IronPDF bietet robuste Unterstützung für modernes HTML5 und CSS3, was es ideal für die Bearbeitung komplexer Webinhalte macht. Seine benutzerfreundliche API ermöglicht eine nahtlose Integration mit C# und es unterstützt auch JavaScript-lastige Inhalte, wodurch sichergestellt wird, dass dynamische Webseiten genau konvertiert werden.

Warum iTextSharp statt IronPDF wählen?

Ein Entwickler könnte sich für iTextSharp entscheiden, wenn er eine Open-Source-Lösung mit flexiblen Anpassungsmöglichkeiten bevorzugt. iTextSharp, heute bekannt als iText7, eignet sich für diejenigen, die das Fachwissen haben, seine Komplexität zu bewältigen, insbesondere wenn fortgeschrittenes HTML und CSS beteiligt sind.

Kann IronPDF JavaScript in HTML-Inhalten verarbeiten?

Ja, IronPDF kann JavaScript innerhalb von HTML-Inhalten aufgrund seiner fortgeschrittenen Renderfähigkeiten verarbeiten und ist damit eine geeignete Wahl für die Umwandlung dynamischer und interaktiver Webseiten in PDFs.

Wie installiere ich IronPDF in einem C#-Projekt?

Sie können IronPDF über den NuGet-Paket-Manager in Visual Studio installieren. Nutzen Sie den Befehl Install-Package IronPdf in der Paket-Manager-Konsole oder suchen Sie nach IronPDF im NuGet-Paket-Manager-UI.

Was sollte bei der Wahl zwischen IronPDF und iTextSharp berücksichtigt werden?

Bei der Auswahl zwischen den beiden sollten Sie Ihren Bedarf an Benutzerfreundlichkeit, CSS- und JavaScript-Unterstützung, Lizenzanforderungen und die Komplexität der HTML-Inhalte berücksichtigen. IronPDF glänzt in modernen Webtechnologien und nahtloser Integration, während iTextSharp eine gute Wahl für diejenigen ist, die eine Open-Source-Lösung bevorzugen.

Gibt es eine Lizenzanforderung für IronPDF?

Ja, IronPDF erfordert eine kommerzielle Lizenz für die Nutzung über Entwicklungsumgebungen hinaus. Lizenzen können basierend auf dem benötigten Unterstützungs- und Funktionsniveau erworben werden.

Was sind einige häufige Probleme bei der Konvertierung von HTML in PDF mit iTextSharp?

Häufige Probleme mit iTextSharp umfassen die Handhabung komplexer HTML- und CSS-Strukturen, da möglicherweise zusätzliche Konfigurationen und Anpassungen erforderlich sind. Entwickler müssen oft ihren Code anpassen, um eine ordnungsgemäße Stilisierung und Darstellung fortgeschrittener Webinhalte zu gewährleisten.

Wie vergleicht sich IronPDF mit anderen PDF-Bibliotheken wie Aspose.PDF?

IronPDF bietet Benutzerfreundlichkeit und umfassende Unterstützung für moderne Webstandards, ähnlich wie Aspose.PDF. Sein wettbewerbsfähiger Preis und Funktionsumfang machen es zu einer starken Wahl für Entwickler, die eine zuverlässige HTML-zu-PDF-Konvertierung benötigen, ohne Qualität und Leistung zu beeinträchtigen.

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