Zum Fußzeileninhalt springen
PRODUKTVERGLEICHE

Ein Vergleich zwischen IronPDF und ExpertPDF für .NET

Entwickler in C# standen schon immer vor Herausforderungen beim Lesen, Schreiben, Erstellen oder Konvertieren von PDFs zwischen verschiedenen Dateiformaten. Mit dem Aufkommen zahlreicher Bibliotheken wurden diese Probleme jedoch gelöst, und die einfache Integration dieser Bibliotheken hat sie populärer und einfacher in C#-Anwendungen einsetzbar gemacht.

Dieser Artikel zielt darauf ab, zwei der beliebtesten PDF-Bibliotheken für .NET Framework- und .NET Core-Entwickler zu vergleichen:

  • IronPDF
  • ExpertPDF

Beide dieser Bibliotheken sind .NET C#-Bibliotheken, die Methoden zum Erzeugen, Konvertieren und Bearbeiten von PDFs in .NET und .NET Core bieten. Die Hauptfrage ist, zu entscheiden, welche dieser C# PDF-Bibliotheken sich am besten für unser Projekt eignet. In diesem Artikel werden wir diese beiden Bibliotheken auf die umfassendste Weise vergleichen, ihre herausragenden Funktionen hervorheben, damit Sie eine fundierte Entscheidung bei der Wahl der richtigen Bibliothek für Ihr Projekt treffen können.

Schauen wir uns zunächst an, was beide Bibliotheken zu bieten haben, und dann gehen wir zum Vergleich selbst über.

Die IronPDF-Bibliothek

IronPDF ist eine umfassende .NET PDF-Bibliothekslösung, die besonders für C#-Entwickler von Vorteil ist. Mit dieser Bibliothek können Sie problemlos alle Funktionen implementieren, die erforderlich sind, um einen hervorragenden PDF-Reader oder PDF-Viewer in C# zu erstellen.

IronPDF verfügt über eine .NET Chromium-Engine, die HTML-Inhalte in PDF-Dokumente rendert, wodurch es einfacher wird, PDFs zu gestalten oder zu positionieren, ohne komplexe APIs zu benötigen. Sein HTML-zu-PDF-Konverter ermöglicht die Erstellung einer .NET PDF-Bibliothek unter Verwendung von HTML5, CSS, JavaScript und Bildern. Darüber hinaus können Sie PDFs bearbeiten, Kopf- und Fußzeilen hinzufügen und Bilder problemlos aus PDFs extrahieren. Es erleichtert auch das Lesen von PDF-Text.

Funktionen

Erstellen von PDF-Dateien (HTML zu PDF)

  • PDF-Dateien aus HTML, CSS und JavaScript erstellen
  • PDF-Dokumente aus Website-URLs generieren
  • Webseiten-URLs mit benutzerdefinierten Anmeldeinformationen laden

PDF-Editor ohne Adobe Acrobat Reader

  • Datenfelder in vollständig editierbaren PDF-Formularen ausfüllen und lesen
  • Text und Bilder aus PDFs extrahieren
  • HTML-Inhalte auf jede vorhandene Seite stempeln
  • HTML-Kopf- und Fußzeilen hinzufügen
  • Anmerkungen hinzufügen und PDF-Dokumente digital signieren

Manipulation von PDF-Dokumenten

  • Vorhandene Dokumente laden und analysieren
  • Inhalt in Dokumenten zusammenführen und aufteilen
  • Wasserzeichen, Text und Assets hinzufügen

Konvertieren aus mehreren Dateiformaten

  • ASPX-WebForms mit nur drei Codezeilen konvertieren
  • HTML in PDF-Dateien konvertieren
  • Bilder (PNG, JPG, GIF, TIFF) in PDF konvertieren

Speichern und Drucken

  • Datei in Binärdaten oder MemoryStreams speichern
  • CSS-Medientypen drucken
  • PDF-Dateien in ein druckbares Dokumentobjekt umwandeln und ohne Adobe drucken

ExpertPDF

Besuchen Sie die offizielle Website von ExpertPDF für detaillierte Informationen über ihre .NET-Bibliothek, die Entwicklern ermöglicht, on-the-fly von HTML zu PDF zu konvertieren. Wenn Sie PDF-Berichte erstellen oder einen PDF-Reader erstellen müssen, müssen Sie keine komplexen Berichtserstellungssoftware mehr verwenden.

ExpertPDF ist einfach zu verwenden, aber dennoch ein leistungsfähiger PDF-Editor. Es enthält einen hochwertigen HTML-zu-PDF-Konverter, der in jede .NET-Anwendung innerhalb weniger Minuten implementiert werden kann. Es arbeitet mit .NET Framework, .NET Core, .NET 5 und .NET 6.

Es ist eine leistungsstarke .NET-Bibliothek, die Ihnen hilft, PDF-Viewer und Dokumente aus jeder Webseiten-URL oder rohem HTML-Markup, String oder Datei in .NET Framework- oder .NET Core-Anwendungen zu erstellen.

Hervorstechende Merkmale

Im Folgenden sind die wichtigen Funktionen:

  • URL-Webseite in PDF konvertieren
  • HTML-String in PDF konvertieren
  • Mehrere Ausgabedateioptionen
  • Seitenränder und -größe setzen
  • Kopf- und Fußzeilen setzen
  • Automatische und benutzerdefinierte Seitenumbrüche hinzufügen
  • Nur einen bestimmten Teil der Webseite in PDF konvertieren
  • Bestimmte Elemente beim Konvertieren in PDF von der Seite ausblenden
  • Mehrere Webseiten in eine einzige PDF zusammenführen
  • Webseiten in PDF konvertieren, die eine Authentifizierung erfordern
  • CSS-Media-Typ (Bildschirm oder Druck) zum Rendern auswählen
  • Lesezeichen-Unterstützung
  • Unterstützung für digitales Signieren
  • HTML-Elementpositionen in PDF abrufen
  • Unterstützung für neueste HTML5/CSS3
  • Unterstützung für Web-Schriften wie Open Type und True Type
  • Dateitypkonvertierungen:
  • PDF zu Text-Konverter
  • HTML zu PDF-Konverter
  • HTML zu Bild-Konverter
  • PDF zu Bild-Konverter
  • RTF zu PDF-Konverter

Der Rest des Artikels behandelt die folgenden Themen:

  1. Konsolenprojekt erstellen
  2. IronPDF Installation
  3. ExpertPDF Installation
  4. PDF aus einer URL erstellen
  5. PDF aus HTML-Input-String erstellen
  6. Mehrere PDFs zu einem einzigen PDF zusammenführen
  7. Bilder in PDF konvertieren
  8. Lizenzierung und Preisgestaltung
  9. Fazit

1. Konsolenprojekt erstellen

Folgen Sie den Schritten, um eine Konsolenanwendung in C# mit Visual Studio 2022 zu erstellen:

  • Öffnen Sie Visual Studio 2022 und klicken Sie auf ein neues Projekt erstellen

Visual Studio 2022

  • Wählen Sie C# Konsolen-App und klicken Sie auf weiter

Neues Projekt-Dialogfeld

  • Geben Sie auf dem nächsten Bildschirm den Namen Ihres Projekts ein und klicken Sie auf weiter

Web Forms

  • Wählen Sie das .NET Framework für Ihre Anwendung. Wir verwenden die neueste Version 6.0.

Zusätzliche Informationen

Jetzt ist unser Konsolenprojekt erstellt und wir sind bereit, unsere Bibliotheken zu testen. Wir müssen sie jedoch noch in unserem Projekt einrichten. Lassen Sie uns zuerst IronPDF installieren.

2. IronPDF-Installation

Es gibt mehrere Möglichkeiten, die IronPDF-Bibliothek herunterzuladen und zu installieren. Diese sind wie folgt:

  1. Verwenden von Visual Studio
  2. Herunterladen des NuGet-Pakets direkt
  3. Herunterladen der IronPDF .DLL-Bibliothek

2.1. Verwenden von Visual Studio

Visual Studio selbst bietet den NuGet-Paket-Manager an, um alle NuGet-Pakete in C#-Projekten zu installieren. Sie können darauf entweder über:

  • Projektmenü Werkzeuge oder
  • Rechtsklicken Sie auf das Projekt im Projektmappen-Explorer

Projektmappen-Explorer

![Project Menu > Manage NuGet Packages](/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-6.webp)

Sobald es ausgewählt ist, suchen Sie nach dem IronPDF NuGet-Paket und installieren Sie es:

2.2. Direktes Herunterladen des NuGet-Pakets

Eine andere Methode besteht darin, IronPDF von der NuGet-Website herunterzuladen. Besuchen Sie direkt die IronPDF NuGet-Seite und laden Sie das Paket herunter. Folgen Sie den Schritten:

  • Gehen Sie zu NuGet IronPDF-Paket
  • Wählen Sie „Paket herunterladen“
  • Doppelklicken Sie auf das heruntergeladene Paket
  • Das Paket wird dann installiert
  • Laden Sie Visual Studio neu und beginnen Sie mit seiner Nutzung

2.4. IronPDF installieren: Herunterladen der Bibliothek

Sie können die IronPDF .DLL-Datei auch direkt von der IronPDF-Website herunterladen. Klicken Sie auf IronPDF DLL herunterladen , um die Installation zu starten.

Nun referenzieren Sie IronPDF in Ihrem Projekt, indem Sie die folgenden Schritte ausführen:

  • Rechtsklicken Sie auf die Lösung im Projektmappen-Explorer
  • Wählen Sie „Verweis hinzufügen“
  • Suchen Sie nach der IronPDF.dll-Bibliothek
  • Klicken Sie auf OK und es ist erledigt!

Alles erledigt! IronPDF ist jetzt installiert und einsatzbereit. Bevor wir jedoch dazu kommen, installieren wir ExpertPDF zum Vergleich.

3. die Installation von ExpertPDF

Es gibt zwei Möglichkeiten, die ExpertPDF-Bibliothek herunterzuladen und zu installieren:

  • Verwenden des Visual Studio NuGet-Paket-Managers für .NET Framework, .NET Core, .NET 5, .NET 6
  • Herunterladen von Assemblies (ältere .NET Framework-Versionen)

Wir werden mit dem neuen .NET Framework arbeiten, daher installieren wir ExpertPDF mit dem NuGet-Paket-Manager.

3.1. Verwenden von Visual Studio NuGet Package Manager

Genau wie bei IronPDF, können Sie den NuGet-Paket-Manager aufrufen, indem Sie:

  • Projektmenü Werkzeuge
  • Rechtsklicken Sie auf das Projekt im Projektmappen-Explorer

Projektmappen-Explorer

![Project Menu > Manage NuGet Packages](/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-8.webp)

Sobald es ausgewählt ist, suchen Sie nach dem ExpertPDF NuGet-Paket und installieren Sie es:

Hinweis: ExpertPDF unterstützt nur das Windows-Betriebssystem.

4. PDF aus einer URL erstellen

Beide Bibliotheken sind in der Lage, HTML-Markup in PDF zu konvertieren. Schauen wir uns nun den C#-Code für jede Bibliothek einzeln an.

4.1. URL in PDF mit IronPDF

IronPDF ist sehr unkompliziert beim Rendern von HTML aus bestehenden URLs als PDF. Es bietet eine sehr hohe Unterstützung für CSS, JavaScript, Bilder und Formulare.

Das folgende Codebeispiel erstellt direkt ein PDF von einer Website-URL.

// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the specified URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the rendered PDF to a file
pdf.SaveAs("url.pdf");
// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the specified URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the rendered PDF to a file
pdf.SaveAs("url.pdf");
' Import the IronPdf library
Imports IronPdf

' Initialize a new renderer
Private renderer As New ChromePdfRenderer()
' Render the specified URL as a PDF
Private pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")
' Save the rendered PDF to a file
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

4.2. URL in PDF mit ExpertPDF

ExpertPDF konvertiert URL zu PDF mit einer Methode savePdfFromUrlToFile, die schnell, sicher und effizient ist. Das Seitenlayout wird gespeichert, wie es im tatsächlichen Webbrowser ist.

// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save a webpage URL directly to a PDF file
pdfConverter.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save a webpage URL directly to a PDF file
pdfConverter.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
' Import the ExpertPdf.HtmlToPdf namespace
Imports ExpertPdf.HtmlToPdf

' Initialize a new PdfConverter
Private pdfConverter As New PdfConverter()
' Use PdfConverter to save a webpage URL directly to a PDF file
pdfConverter.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf")
$vbLabelText   $csharpLabel

5. PDF aus HTML-Input-String erstellen

IronPDF und ExpertPDF bieten beide die Möglichkeit, PDFs aus einem Markup-String mit HTML zu erstellen.

5.1. HTML-Eingabezeichenfolge mit IronPDF

Das folgende Code-Snippet zeigt, wie ein PDF-Dokumentbild mit einem HTML-Input-String gerendert wird.

// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render a PDF from HTML string and save it
var pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
pdfDoc1.SaveAs("pixel-perfect.pdf");

// Render HTML with external assets and save it
var pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
pdfDoc2.SaveAs("html-with-assets.pdf");
// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render a PDF from HTML string and save it
var pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
pdfDoc1.SaveAs("pixel-perfect.pdf");

// Render HTML with external assets and save it
var pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
pdfDoc2.SaveAs("html-with-assets.pdf");
' Import the IronPdf library
Imports IronPdf

' Initialize a new renderer
Private renderer As New ChromePdfRenderer()
' Render a PDF from HTML string and save it
Private pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
pdfDoc1.SaveAs("pixel-perfect.pdf")

' Render HTML with external assets and save it
Dim pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
pdfDoc2.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

5.2. HTML-Eingabe-String mit Expert PDF

Der ExpertPDF HTML-to-PDF-Konverter unterstützt die Konvertierung von HTML-Strings in PDF. Der Code ist einfach und selbsterklärend wie URL zu PDF:

// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save an HTML string to a PDF file
pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save an HTML string to a PDF file
pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
' Import the ExpertPdf.HtmlToPdf namespace
Imports ExpertPdf.HtmlToPdf

' Initialize a new PdfConverter
Private pdfConverter As New PdfConverter()
' Use PdfConverter to save an HTML string to a PDF file
pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf")
$vbLabelText   $csharpLabel

Das erste Argument ist der eigentliche HTML-String, und das zweite Argument ist der Dateiname, unter dem das gescannte Dokument gespeichert wird.

Bootstrap-Dokumentationsbeispiel

Technische Bibliotheken profitieren von klarer Dokumentation mit Codebeispielen. Diese Bootstrap-5-Demonstration zeigt die Fähigkeit von IronPDF, technische Dokumentationen mit Syntaxhervorhebung, Warnungen und strukturierten Layouts zu rendern.

using IronPdf;

var renderer = new ChromePdfRenderer();

string technicalDocs = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .code-block { background: #f8f9fa; border-left: 3px solid #0d6efd; padding: 15px; border-radius: 4px; }
        .api-method { font-family: 'Courier New', monospace; color: #0d6efd; }
        @media print { .card, .alert { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='card shadow-sm mb-4'>
            <div class='card-header bg-dark text-white'>
                <h2 class='mb-0'>API Reference - HTML to PDF Conversion</h2>
            </div>
            <div class='card-body'>
                <h4>RenderHtmlAsPdf() Method</h4>
                <p class='lead'>Converts HTML content to PDF with full CSS3 and JavaScript support.</p>

                <div class='code-block mb-3'>
                    <code class='api-method'>PdfDocument RenderHtmlAsPdf(string htmlContent)</code>
                </div>

                <div class='row mt-4'>
                    <div class='col-md-6'>
                        <h5 class='text-primary'>Parameters</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>htmlContent</code></td>
                                <td>String containing HTML to convert</td>
                            </tr>
                        </table>
                    </div>
                    <div class='col-md-6'>
                        <h5 class='text-success'>Returns</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>PdfDocument</code></td>
                                <td>Generated PDF document object</td>
                            </tr>
                        </table>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='alert alert-success mb-0'>
                    <h6 class='alert-heading'>✓ Supported Features</h6>
                    <ul class='mb-0 small'>
                        <li>HTML5 semantic tags</li>
                        <li>CSS3 with Flexbox/Grid</li>
                        <li>JavaScript execution</li>
                        <li>External stylesheets</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-info mb-0'>
                    <h6 class='alert-heading'>ⓘ Rendering Engine</h6>
                    <ul class='mb-0 small'>
                        <li>Chrome V8 Engine</li>
                        <li>98% browser fidelity</li>
                        <li>Sub-second rendering</li>
                        <li>Async/await support</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-warning mb-0'>
                    <h6 class='alert-heading'>⚠ ExpertPDF Notes</h6>
                    <ul class='mb-0 small'>
                        <li>Complex API structure</li>
                        <li>Limited CSS3 support</li>
                        <li>No native JavaScript</li>
                        <li>Requires configuration</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>Code Example Comparison</h5>
            </div>
            <div class='card-body'>
                <div class='row'>
                    <div class='col-md-6'>
                        <h6 class='text-primary'>IronPDF (Simple)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");</code></pre>
                        </div>
                        <div class='badge bg-success mt-2'>3 Lines</div>
                    </div>
                    <div class='col-md-6'>
                        <h6 class='text-warning'>ExpertPDF (Complex)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var converter = new HtmlToPdfConverter();
converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
converter.NavigationTimeout = 60;
byte[] result = converter.GetPdfBytesFromHtmlString(html);
File.WriteAllBytes("output.pdf", result);</code></pre>
                        </div>
                        <div class='badge bg-warning text-dark mt-2'>5+ Lines</div>
                    </div>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Comparison:</strong> IronPDF provides a more intuitive API with less configuration overhead for common use cases.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(technicalDocs);
pdf.SaveAs("technical-documentation.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string technicalDocs = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .code-block { background: #f8f9fa; border-left: 3px solid #0d6efd; padding: 15px; border-radius: 4px; }
        .api-method { font-family: 'Courier New', monospace; color: #0d6efd; }
        @media print { .card, .alert { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='card shadow-sm mb-4'>
            <div class='card-header bg-dark text-white'>
                <h2 class='mb-0'>API Reference - HTML to PDF Conversion</h2>
            </div>
            <div class='card-body'>
                <h4>RenderHtmlAsPdf() Method</h4>
                <p class='lead'>Converts HTML content to PDF with full CSS3 and JavaScript support.</p>

                <div class='code-block mb-3'>
                    <code class='api-method'>PdfDocument RenderHtmlAsPdf(string htmlContent)</code>
                </div>

                <div class='row mt-4'>
                    <div class='col-md-6'>
                        <h5 class='text-primary'>Parameters</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>htmlContent</code></td>
                                <td>String containing HTML to convert</td>
                            </tr>
                        </table>
                    </div>
                    <div class='col-md-6'>
                        <h5 class='text-success'>Returns</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>PdfDocument</code></td>
                                <td>Generated PDF document object</td>
                            </tr>
                        </table>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='alert alert-success mb-0'>
                    <h6 class='alert-heading'>✓ Supported Features</h6>
                    <ul class='mb-0 small'>
                        <li>HTML5 semantic tags</li>
                        <li>CSS3 with Flexbox/Grid</li>
                        <li>JavaScript execution</li>
                        <li>External stylesheets</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-info mb-0'>
                    <h6 class='alert-heading'>ⓘ Rendering Engine</h6>
                    <ul class='mb-0 small'>
                        <li>Chrome V8 Engine</li>
                        <li>98% browser fidelity</li>
                        <li>Sub-second rendering</li>
                        <li>Async/await support</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-warning mb-0'>
                    <h6 class='alert-heading'>⚠ ExpertPDF Notes</h6>
                    <ul class='mb-0 small'>
                        <li>Complex API structure</li>
                        <li>Limited CSS3 support</li>
                        <li>No native JavaScript</li>
                        <li>Requires configuration</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>Code Example Comparison</h5>
            </div>
            <div class='card-body'>
                <div class='row'>
                    <div class='col-md-6'>
                        <h6 class='text-primary'>IronPDF (Simple)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");</code></pre>
                        </div>
                        <div class='badge bg-success mt-2'>3 Lines</div>
                    </div>
                    <div class='col-md-6'>
                        <h6 class='text-warning'>ExpertPDF (Complex)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var converter = new HtmlToPdfConverter();
converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
converter.NavigationTimeout = 60;
byte[] result = converter.GetPdfBytesFromHtmlString(html);
File.WriteAllBytes("output.pdf", result);</code></pre>
                        </div>
                        <div class='badge bg-warning text-dark mt-2'>5+ Lines</div>
                    </div>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Comparison:</strong> IronPDF provides a more intuitive API with less configuration overhead for common use cases.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(technicalDocs);
pdf.SaveAs("technical-documentation.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe: Eine professionelle technische Dokumentations-PDF mit Bootstrap 5-Karten, Warnungen, Tabellen und Code-Blöcken. IronPDF rendert zuverlässig alle Typografien, Abstands-Utilities und Raster-Layouts und demonstriert überlegene Dokumentationsgenerierungsmöglichkeiten.

Für umfassende Details zur Unterstützung von CSS-Frameworks sehen Sie sich den Bootstrap & Flexbox CSS Guide an.

6. mehrere PDF-Dateien zu einer einzigen PDF-Datei zusammenführen

Sowohl IronPDF als auch ExpertPDF bieten die Möglichkeit, mehrere PDF-Dateien zu einer einzigen PDF-Datei zusammenzuführen. Diese Funktion ist nützlich, um verstreute Daten zu konsolidieren und effizienter über das Internet zu senden.

6.1. Zusammenführen mit IronPDF

Der folgende Code rendert zwei PDFs, die aus verschiedenen HTML-Strings erstellt wurden, und kombiniert sie dann mit der Merge-Methode. Dies ist ein Einzeiler und sehr einfach zu verwenden. Weitere Optionen können zu den PDF-Einstellungen beim Rendern hinzugefügt werden.

// Import the IronPdf library
using IronPdf;

// Define HTML strings to convert to PDF
var htmlA = @"<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_A] 2nd Page</p>";

var htmlB = @"<p> [PDF_B] </p>
        <p> [PDF_B] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_B] 2nd Page</p>";

// Initialize a new renderer
var renderer = new ChromePdfRenderer();

// Render HTML strings as PDFs
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the PDF documents
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF
mergedPdf.SaveAs("Merged.pdf");
// Import the IronPdf library
using IronPdf;

// Define HTML strings to convert to PDF
var htmlA = @"<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_A] 2nd Page</p>";

var htmlB = @"<p> [PDF_B] </p>
        <p> [PDF_B] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_B] 2nd Page</p>";

// Initialize a new renderer
var renderer = new ChromePdfRenderer();

// Render HTML strings as PDFs
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the PDF documents
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF
mergedPdf.SaveAs("Merged.pdf");
' Import the IronPdf library
Imports IronPdf

' Define HTML strings to convert to PDF
Private htmlA = "<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_A] 2nd Page</p>"

Private htmlB = "<p> [PDF_B] </p>
        <p> [PDF_B] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_B] 2nd Page</p>"

' Initialize a new renderer
Private renderer = New ChromePdfRenderer()

' Render HTML strings as PDFs
Private pdfDocA = renderer.RenderHtmlAsPdf(htmlA)
Private pdfDocB = renderer.RenderHtmlAsPdf(htmlB)

' Merge the PDF documents
Private mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB)

' Save the merged PDF
mergedPdf.SaveAs("Merged.pdf")
$vbLabelText   $csharpLabel

Die Merge-Methode hat auch eine Überladung, die mehrere Dokumente in Form von aufzählbaren Objekten akzeptiert. In diesem IronPDF-Codebeispiel für das Zusammenführen von PDFs sehen Sie ein Beispiel für deren Verwendung.

Beachten Sie, dass, wenn die zusammengeführten PDF-Dateien bearbeitbare Formulare enthalten, die Formularfelder der resultierenden PDF die Namen mit der Indexnummer haben.

6.2. Zusammenführen mit ExpertPDF

ExpertPDF verwendet ein Merge-PDF-Komponente, um diese Aufgabe zu erledigen. Dies muss vom NuGet-Paket-Manager installiert werden, um es zu nutzen. Es gibt eine Methode AppendPDFFile, die einer PDFMerge-Klassenobjekt eine PDF-Datei anhängt. Der folgende Code wird verwendet, um die beiden zuvor von ExpertPDF erstellten PDFs zu zusammenführen:

// Import the ExpertPdf.MergePdf namespace
using ExpertPdf.MergePdf;

// Initialize a new PDFMerge object
PDFMerge pdfMerge = new PDFMerge();
// Append PDF files to the merge object
pdfMerge.AppendPDFFile("output.pdf");
pdfMerge.AppendPDFFile("html-to-pdf.pdf");
// Save the merged PDF to a file
pdfMerge.SaveMergedPDFToFile("merged.pdf");
// Import the ExpertPdf.MergePdf namespace
using ExpertPdf.MergePdf;

// Initialize a new PDFMerge object
PDFMerge pdfMerge = new PDFMerge();
// Append PDF files to the merge object
pdfMerge.AppendPDFFile("output.pdf");
pdfMerge.AppendPDFFile("html-to-pdf.pdf");
// Save the merged PDF to a file
pdfMerge.SaveMergedPDFToFile("merged.pdf");
' Import the ExpertPdf.MergePdf namespace
Imports ExpertPdf.MergePdf

' Initialize a new PDFMerge object
Private pdfMerge As New PDFMerge()
' Append PDF files to the merge object
pdfMerge.AppendPDFFile("output.pdf")
pdfMerge.AppendPDFFile("html-to-pdf.pdf")
' Save the merged PDF to a file
pdfMerge.SaveMergedPDFToFile("merged.pdf")
$vbLabelText   $csharpLabel

7. Bilder in PDF konvertieren

IronPDF bietet die Möglichkeit, eine Vielzahl von Bildern in PDF-Dateien zu konvertieren, während ExpertPDF diese Funktion nicht bietet. ExpertPDF kann jedoch Bilder aus PDF-Dateien extrahieren und auch PDF-Dateien in Bilder konvertieren, was IronPDF ebenfalls bietet.

7.1. Bilder in PDF mit IronPDF

In IronPDF können PDF-Dokumente einfach aus einem oder mehreren Bildern mit der ImageToPdfConverter-Klasse erstellt werden. Sie können die Bilder aus jedem Ordner in Ihrer Anwendung laden.

// Import the IronPdf namespace
using IronPdf;

// Specify the folder containing the image files
var imageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets")
                  .Where(file => file.EndsWith(".jpg") || file.EndsWith(".jpeg"));

// Convert the images to a PDF document
var pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles);
// Save the PDF document
pdfDocument.SaveAs(@"C:\project\composite.pdf");
// Import the IronPdf namespace
using IronPdf;

// Specify the folder containing the image files
var imageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets")
                  .Where(file => file.EndsWith(".jpg") || file.EndsWith(".jpeg"));

// Convert the images to a PDF document
var pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles);
// Save the PDF document
pdfDocument.SaveAs(@"C:\project\composite.pdf");
' Import the IronPdf namespace
Imports IronPdf

' Specify the folder containing the image files
Private imageFiles = System.IO.Directory.EnumerateFiles("C:\project\assets").Where(Function(file) file.EndsWith(".jpg") OrElse file.EndsWith(".jpeg"))

' Convert the images to a PDF document
Private pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles)
' Save the PDF document
pdfDocument.SaveAs("C:\project\composite.pdf")
$vbLabelText   $csharpLabel

Zusätzlich zur Konvertierung einer Vielzahl von Bildern in PDF-Dateien kann IronPDF auch gescannte Dokumente, Papierdokumente und Geschäftsdokumente in separate Bilder konvertieren. Es kann auch Bilder aus diesen Dateitypen extrahieren.

8. Lizenzierung und Preisgestaltung

IronPDF ist eine vollständig freigegebene kommerzielle C# PDF-Bibliothek, die auf der IronPDF-Website verfügbar ist. Sie ist kostenlos für die private Entwicklung und kann jederzeit für kommerzielle Nutzungen lizenziert werden. Es sind verschiedene Lizenzen verfügbar für einzelne Projekte, einzelne oder mehrere Entwickler, Agenturen und global tätige Unternehmen. Es unterstützt auch SaaS- und OEM-Weiterverbreitung.

IronPDF-Lizenzoptionen

Alle Lizenzen bieten eine 30-tägige Geld-zurück-Garantie sowie ein Jahr Unterstützung und Produktupdates. Die Lizenzen sind unbefristet, das heißt, sie stellen einen einmaligen Kauf ohne zusätzliche Gebühren dar. Das Lite-Paket für einen einzelnen Entwickler und ein einziges Projekt beginnt bei $799.

ExpertPDF bietet den Kauf von Lizenzen pro Entwickler oder pro Unternehmen an. Sie können ExpertPDF kostenlos ausprobieren. Sie können die Liste der Lizenzfunktionen in der untenstehenden Abbildung einsehen.

ExpertPDF-Lizenzoptionen

ExpertComponents Toolkit Total Entwicklerlizenz beginnt bei $850, und das ExpertPDF Toolkit beginnt bei $750. Sie können auch einzelne Komponenten erwerben. Die komplette Preisliste für ExpertPDF ist auf der Website verfügbar.

9. Fazit

IronPDF rendert HTML zu PDF lokal und benötigt daher keine Internetverbindung. Tatsächlich startet es implizit ein Objekt eines wirklich standardkonformen Webbrowsers. Das HTML-Rendering ist vollständig genau und im Vektorformat, welches für höchste Standards beim kommerziellen Druck geeignet ist. Das Ergebnis ist sauber und es wird ein hochwertiges PDF erstellt. Es kann für kommerzielle Zwecke lizenziert werden, und alle Preise sind auf der Website ohne versteckte Gebühren aufgelistet.

Die HTML-zu-PDF-Konverterbibliothek von ExpertPDF ist ein vielseitiges Werkzeug, das Webseiten und HTML-Code in PDF-Dokumente umwandeln, PDF-Berichte aus ASP.NET-Webseiten generieren und sogar Verträge mit elektronischen Signaturen unterzeichnen kann. Es ist kostenlos zu verwenden, kann aber auch für zusätzliche Funktionen lizenziert werden.

Während beide Bibliotheken in der Lage sind, mit PDF-Dateien zu arbeiten und aus populären Formaten zu konvertieren, hat IronPDF einige Vorteile gegenüber ExpertPDF. IronPDF bietet Konvertierung aus einem breiteren Formatbereich an, einschließlich XML, Bilder und AngularJS, sowie robustere Funktionen zum Erzeugen, Formatieren und Bearbeiten von PDFs. IronPDF ist eine zeitsparende Lösung und wird für pragmatische Entwickler empfohlen, die Effizienz suchen.

ExpertPDF kommt in separaten Komponenten, die einzeln installiert werden müssen, während IronPDF eine komplette Software mit allen Funktionen an einem Ort ist. ExpertPDF könnte eine gute Wahl für Projekte sein, die nur eine einzige Komponente erfordern, wie zum Beispiel HTML-zu-PDF-Konvertierung. Die Pakete von IronPDF bieten lebenslange Lizenzen ohne laufende Kosten, während ExpertPDF Erneuerungen erfordert.

Hinweis:ExpertPDF ist ein eingetragenes Warenzeichen seines jeweiligen Eigentümers. Diese Seite ist nicht mit ExpertPDF verbunden, wird nicht von ihm unterstützt oder gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Wie kann ich HTML in PDF in C# konvertieren?

Sie können die RenderHtmlAsPdf-Methode von IronPDF verwenden, um HTML-Strings in PDFs zu konvertieren. Sie können auch HTML-Dateien mit RenderHtmlFileAsPdf in PDFs konvertieren.

Was sind die Hauptunterschiede zwischen IronPDF und ExpertPDF?

IronPDF bietet breitere Formatunterstützung und integrierte Funktionalität, einschließlich der Erstellung von PDFs aus HTML, Bearbeitung und Formatkonvertierung. ExpertPDF bietet eine einfache HTML-zu-PDF-Konvertierung mit Optionen für Ausgabedateikonfigurationen und digitale Signaturen.

Kann ich Text und Bilder aus einem PDF mit diesen Bibliotheken extrahieren?

Ja, IronPDF ermöglicht es Ihnen, Text und Bilder aus PDF-Dokumenten zu extrahieren, was die Manipulation und Analyse von PDF-Inhalten innerhalb von .NET-Anwendungen erleichtert.

Welche Installationsoptionen stehen für diese PDF-Bibliotheken zur Verfügung?

Sowohl IronPDF als auch ExpertPDF können mit dem NuGet-Paketmanager von Visual Studio installiert werden. Zusätzlich kann die .DLL-Bibliothek von IronPDF direkt von der IronPDF-Website heruntergeladen werden.

Ist es möglich, mehrere PDF-Dateien zu einem einzigen Dokument zusammenzuführen?

Ja, IronPDF bietet eine Merge-Methode, um mehrere PDFs zu einem Dokument zu kombinieren. ExpertPDF bietet ebenfalls eine PDFMerge-Komponente zum Zusammenfügen von PDFs.

Benötigt IronPDF eine Internetverbindung für die HTML-zu-PDF-Konvertierung?

Nein, IronPDF benötigt keine Internetverbindung für die HTML-zu-PDF-Konvertierung, was es zu einer zuverlässigen Option für Offline-Anwendungen macht.

Welche Lizenzoptionen stehen für IronPDF zur Verfügung?

IronPDF bietet verschiedene Lizenzoptionen, darunter Einzelprojekt-, Entwickler-, Agentur- und Firmenlizenzen. Alle Lizenzen sind unbefristet und beinhalten eine 30-tägige Geld-zurück-Garantie sowie ein Jahr Unterstützung und Updates.

Kann ExpertPDF digitale Signaturen für PDF-Dokumente verarbeiten?

Ja, ExpertPDF unterstützt das digitale Signieren von PDF-Dokumenten, was sichere und authentifizierte PDF-Dateien ermöglicht.

Welche Herausforderungen stehen C#-Entwicklern beim Arbeiten mit PDFs gegenüber und wie helfen diese Bibliotheken?

C#-Entwickler stehen oft vor Herausforderungen beim Lesen, Schreiben, Erstellen und Konvertieren von PDFs. Bibliotheken wie IronPDF und ExpertPDF vereinfachen diese Aufgaben, indem sie leistungsstarke Werkzeuge für die HTML-zu-PDF-Konvertierung, PDF-Bearbeitung und mehr bieten und eine einfache Integration in C# Anwendungen ermöglichen.

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