Zum Fußzeileninhalt springen
PRODUKTVERGLEICHE

PDFsharp vs QuestPDF (C# PDF-Bibliotheken in der tiefgehenden Analyse)

Bei der Arbeit mit PDF-Dokumenten in .NET sehen sich Entwickler oft mit dem Vergleich verschiedener Bibliotheken konfrontiert, um festzustellen, welche am besten zu den Anforderungen ihres Projekts passt. Drei beliebte Entscheidungen im .NET-Ökosystem sind PDFsharp, QuestPDF und IronPDF. Jede Bibliothek bedient unterschiedliche Anwendungsfälle und bietet einzigartige Stärken und Schwächen. In diesem Artikel werden wir einen umfassenden Vergleich dieser Bibliotheken und ihrer Handhabung der grundlegenden PDF-Erstellung mithilfe von diesem URL anbieten, um Ihnen bei Ihrer fundierten Entscheidung zu helfen.

Was ist PDFsharp?

PDFsharp ist eine Open-Source-Bibliothek, die für das Erstellen, Bearbeiten und Rendern von PDF-Dokumenten entwickelt wurde. Mit dem Fokus auf Einfachheit und grundlegende PDF-Funktionalität ist PDFsharp ein zuverlässiges Werkzeug für Entwickler, die nach einfachen PDF-Bearbeitungsfähigkeiten suchen.

Wichtige Merkmale von PDFsharp

  • PDF-Erstellung und -Bearbeitung: Neue PDFs erstellen oder bestehende bearbeiten.
  • Grafische Zeichnung: Beinhaltet Unterstützung für das Zeichnen von Formen, Text und Bildern.
  • Open Source: Lizenziert unter MIT, daher frei nutzbar und veränderbar.

Installation

Durch die Verwendung des NuGet-Paketmanagers ist es einfach, PDFsharp in Ihre Projekte zu installieren. Führen Sie einfach die folgende Zeile in der NuGet-Paketmanager-Konsole aus:

Install-Package PDFsharp

PDFsharp Code Beispiel

Schauen wir uns nun an, wie PDFsharp ein neues PDF-Dokument von einer gegebenen URL erstellen könnte. Da PDFsharp alleine kein HTML- oder URL-zu-PDF-Umwandlung durchführen kann, müssen wir eine Web-Rendering-Engine wie HtmlRenderer.PdfSharp integrieren. Zusätzlich verwenden wir HttpClient, um den HTML-Inhalt von der gegebenen URL abzurufen.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;

public class Program
{
    static async Task Main(string[] args)
    {
        // Ensure proper encoding support
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Generate PDF from the fetched HTML content
            var pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4);
            pdf.Save("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;

public class Program
{
    static async Task Main(string[] args)
    {
        // Ensure proper encoding support
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Generate PDF from the fetched HTML content
            var pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4);
            pdf.Save("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
$vbLabelText   $csharpLabel

Ausgabe PDF-Datei

PDFsharp Beispielausgabe

Wie Sie sehen können, kann PDFsharp HTML-Inhalte und Webseiten in PDF-Dateien umwandeln, benötigt jedoch die Hilfe zusätzlicher Bibliotheken und kann keine CSS und Formatierungen der Originalwebsite beibehalten. Während es eine großartige kostenlose PDF-Entwicklerbibliothek ist, fehlen einige der fortgeschritteneren Funktionen, die in kostenpflichtigen Bibliotheken wie IronPDF zu finden sind.

Was ist QuestPDF?

QuestPDF ist eine moderne Open-Source-Bibliothek, die sich darauf konzentriert, visuell ansprechende PDFs mit einer fließenden API zu erzeugen. Ihr innovativer Ansatz für Layouts und das Rendern von Dokumenten macht sie zu einem starken Kandidaten für Anwendungen, die dynamische und komplexe Designs erfordern.

Hauptmerkmale von QuestPDF

  • Fluent API: Bietet einen deklarativen Ansatz zur Definition von Dokumentlayouts.
  • Modernes Layoutsystem: Inspiriert von CSS, unterstützt es Raster, Komponenten und flexible Layoutstrukturen.
  • Hohe Leistungsfähigkeit: Optimiert für die schnelle Darstellung großer und komplexer Dokumente.

Installation

Dank der Verfügbarkeit dieser Bibliothek als NuGet-Paket ist die Installation ein einfacher Prozess, der nur eine Zeile innerhalb der NuGet-Konsole erfordert:

Install-Package QuestPDF

QuestPDF Code Beispiel

Nun ist es an der Zeit zu sehen, wie QuestPDF unser Beispiel-URL in das PDF-Format umwandeln wird. Während QuestPDF die Umwandlung von URLs in PDFs nicht nativ unterstützt, kann ein HTTP-Client verwendet werden, um den HTML-Inhalt abzurufen und ihn mit der fließenden API von QuestPDF in PDFs zu rendern.

using System;
using System.Net.Http;
using System.Threading.Tasks;
using HtmlAgilityPack;
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

public class Program
{
    static async Task Main(string[] args)
    {
        // Configure QuestPDF to use the community license
        QuestPDF.Settings.License = LicenseType.Community;

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Parse the HTML content using HtmlAgilityPack
            var htmlDoc = new HtmlDocument();
            htmlDoc.LoadHtml(htmlContent);

            // Extract meaningful content (e.g., text inside <body>)
            var bodyContent = htmlDoc.DocumentNode.SelectSingleNode("//body")?.InnerText ?? "No content found";

            // Generate PDF using QuestPDF
            Document.Create(container =>
            {
                container.Page(page =>
                {
                    page.Size(PageSizes.A4);
                    page.Margin(20);
                    page.Content().Text(bodyContent);
                });
            }).GeneratePdf("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
using HtmlAgilityPack;
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

public class Program
{
    static async Task Main(string[] args)
    {
        // Configure QuestPDF to use the community license
        QuestPDF.Settings.License = LicenseType.Community;

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Parse the HTML content using HtmlAgilityPack
            var htmlDoc = new HtmlDocument();
            htmlDoc.LoadHtml(htmlContent);

            // Extract meaningful content (e.g., text inside <body>)
            var bodyContent = htmlDoc.DocumentNode.SelectSingleNode("//body")?.InnerText ?? "No content found";

            // Generate PDF using QuestPDF
            Document.Create(container =>
            {
                container.Page(page =>
                {
                    page.Size(PageSizes.A4);
                    page.Margin(20);
                    page.Content().Text(bodyContent);
                });
            }).GeneratePdf("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
$vbLabelText   $csharpLabel

Ausgabe PDF-Datei

QuestPDF Beispielausgabe

Ähnlich wie bei PDFSharp kann auch QuestPDF in der Lage sein, mit Hilfe externer Bibliotheken wie HtmlAgilityPack HTML-Inhalte in PDF umzuwandeln, es kann jedoch keine CSS-Styling und Formatierungen beibehalten. Während QuestPDF eine ausgezeichnete Wahl für jeden ist, der PDF-Dokumente von Grund auf neu erstellen möchte, ist HTML-zu-PDF-Umwandlung nicht die Stärke dieser Bibliothek.

IronPDF: Eine leistungsfähige PDF-Bibliothek

IronPDF ist eine robuste PDF-Bibliothek, die auf .NET-Entwickler zugeschnitten ist, die erweiterte und umfassende PDF-Funktionen benötigen. Ihr Fokus auf HTML-zu-PDF-Rendering in Kombination mit zusätzlichen Funktionen wie erweiterten Optionen zur Manipulation von PDF-Dokumenten, Verschlüsselung und PDF/A-Konformität macht sie zu einer leistungsstarken Wahl für unternehmensgerechte Anwendungen.

Hauptfunktionen von IronPDF

  • HTML zu PDF: Webseiten oder HTML-Zeichenketten lassen sich einfach als PDFs rendern.
  • PDF/A-Konformität: Dokumente erstellen, die den Standards für die Langzeitarchivierung entsprechen.
  • Erweiterte Sicherheit: Unterstützt Verschlüsselung, Passwortschutz und digitale Signaturen .
  • PDFs bearbeiten: Vorhandene PDF-Dateien ändern, zusammenführen und aufteilen.
  • Plattformübergreifend: Vollständig kompatibel mit .NET Framework, .NET Core und .NET 5+.

Installation

Um IronPDF zu installieren, verwenden Sie den NuGet-Paketmanager in Visual Studio:

Verwendung des NuGet-Paketmanagers:

  1. Öffnen Sie Ihr Projekt in Visual Studio.
  2. Klicken Sie mit der rechten Maustaste auf das Projekt im Solution Explorer und wählen Sie "Manage NuGet Packages".
  3. Suchen Sie nach "IronPDF" und klicken Sie auf "Installieren".

IronPDF Installationsvisualisierungen

Verwendung der NuGet-Paketverwaltungskonsole:

Install-Package IronPdf

Beispiel: URL mit IronPDF in PDF konvertieren

IronPDF bietet eine einfache und direkte API zur Umwandlung von URLs in PDFs. Hier ist ein Beispiel:

using IronPdf;

public class PdfConverter
{
    public static void Main(string[] args)
    {
        // Create a renderer with IronPdf
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render the URL as a PDF
        PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");

        // Save the PDF
        pdf.SaveAs("url.pdf");
    }
}
using IronPdf;

public class PdfConverter
{
    public static void Main(string[] args)
    {
        // Create a renderer with IronPdf
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render the URL as a PDF
        PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");

        // Save the PDF
        pdf.SaveAs("url.pdf");
    }
}
$vbLabelText   $csharpLabel

Ausgabe PDF-Datei

IronPDF Beispielausgabe

Das obige Codebeispiel zeigt, wie IronPDF URL-Inhalte mit nur wenigen Codezeilen in PDF umwandeln kann. Wie Sie sehen können, wurde nicht nur das HTML umgewandelt, sondern auch das CSS-Styling und die Layouts, sodass das ausgegebene PDF dem ursprünglichen Format treu bleibt. Durch die Verwendung der ChromePdfRenderer-Rendering-Engine erzeugt IronPDF pixelgenaue PDF-Dokumente, die nichts von der ursprünglichen Qualität des Inhalts bei der Umwandlung verlieren.

Wie hier gezeigt, ist IronPDF eine starke Wahl für die HTML-zu-PDF-Umwandlung sowie die Umwandlung anderer Dokumentarten in PDF. Es bewältigt hochwertige Umwandlungsaufgaben in einem prägnanten, einfach zu implementierenden Codeblock.

Detaillierte Analyse

Benutzerfreundlichkeit

PDFsharp ist einfach zu handhaben und zu verwenden, was es zu einer hervorragenden Wahl für Anfänger oder Entwickler mit grundlegenden PDF-Anforderungen macht. Sein prozeduraler Ansatz ermöglicht eine schnelle Einrichtung und Implementierung für Aufgaben wie das Hinzufügen von Text, Formen oder Bildern zu einem PDF. Allerdings benötigt es eine externe Bibliothek, um HTML- und URL-zu-PDF-Umwandlungsaufgaben durchzuführen.

QuestPDF bietet hingegen einen moderneren Ansatz mit seiner fließenden API. Entwickler mit Erfahrung im Web- oder UI-Design werden es intuitiv finden, aber Anfänger könnten auf eine kleine Lernkurve stoßen, während sie sich an die layoutzentrierte Designphilosophie gewöhnen. Erneut fehlen die eingebauten Tools zur Behandlung von HTML-zu-PDF-Umwandlungen.

IronPDF bietet das einfachste Erlebnis für HTML-zu-PDF-Umwandlungen und erweiterte PDF-Funktionen. Seine intuitive API verkürzt die Implementierungszeit und bietet umfangreiche Dokumentationen und Beispiele. IronPDF kann die Umwandlung vieler verschiedener Dokumentarten in PDF bewältigen, wie das in diesem Artikel untersuchte URL-zu-PDF-Beispiel, alles ohne Qualitätsverlust des Dokuments.

Leistung

Leistung ist ein kritischer Faktor, insbesondere bei Anwendungen, die PDFs dynamisch erzeugen müssen. PDFsharp ist für kleine und einfache Dokumente geeignet, hat jedoch Schwierigkeiten mit groß angelegten oder komplexen Layouts.

QuestPDF glänzt bei der Darstellung von dynamischen und optisch ansprechenden Dokumenten. Es ist optimiert für die Handhabung von strukturierten Layouts mit hoher Effizienz.

IronPDF balanciert Leistung und Funktionalität außergewöhnlich gut, insbesondere für Anwendungen, die HTML-Rendering, CSS- und JavaScript-Unterstützung erfordern. Es ist auch in der Lage, unternehmensgerechte PDF-Aufgaben mühelos zu bewältigen.

Zusammenfassung des Vergleichs

  • PDFsharp ist eine leichte und Open-Source-Bibliothek, die sich am besten für grundlegende PDF-Erstellungs- und -Bearbeitungsaufgaben eignet. Es ist ideal für kleine Projekte, jedoch fehlt die Unterstützung für moderne Layouts und erweiterte Funktionen.
  • QuestPDF glänzt bei der Erstellung von dynamischen, komplexen und optisch ansprechenden PDFs mit seiner fließenden API. Es konzentriert sich jedoch ausschließlich auf die PDF-Erstellung und unterstützt nicht das Bearbeiten vorhandener Dokumente.
  • IronPDF bietet das umfassendste Funktionsset, einschließlich integrierter HTML-zu-PDF-Konvertierung, OCR und erweiterter Sicherheitsoptionen. Während es eine kommerzielle Lizenz erfordert, macht seine Funktionalität es zur ersten Wahl für Unternehmens- und professionelle Anwendungen.

Abschluss

Die Wahl der richtigen PDF-Bibliothek für Ihr .NET-Projekt hängt von Ihren spezifischen Anforderungen ab. Wenn Sie ein leichtes, quelloffenes Tool für grundlegende PDF-Aufgaben benötigen, ist PDFsharp eine solide Option. Zum Erstellen dynamischer, optisch ansprechender Dokumente fällt QuestPDF mit seinem modernen Ansatz auf.

Wenn Sie jedoch erweiterte Funktionen, eine nahtlose HTML-zu-PDF-Umwandlung und unternehmensgerechte Fähigkeiten benötigen, sollten Sie sehen, was IronPDF zu bieten hat.

Indem Sie die Stärken und Einschränkungen jeder Bibliothek verstehen, können Sie eine fundierte Entscheidung treffen, die den Anforderungen Ihres Projekts entspricht.

Hinweis:PDFsharp und QuestPDF sind eingetragene Warenzeichen der jeweiligen Eigentümer. Diese Seite ist nicht mit PDFsharp oder QuestPDF verbunden, wird nicht von ihnen unterstützt oder gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Die Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich verfügbare Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Was ist der Unterschied zwischen PDFsharp, QuestPDF und IronPDF?

PDFsharp ist bekannt für seine Einfachheit und grundlegenden PDF-Funktionen und eignet sich für einfache Aufgaben. QuestPDF bietet eine moderne API für visuell ansprechende Dokumente, hat jedoch keine native HTML-Konvertierung. IronPDF glänzt in der HTML-zu-PDF-Darstellung und fortgeschrittener Manipulation, ideal für Unternehmensanwendungen.

Wie kann ich HTML in .NET in PDF rendern?

Sie können IronPDF verwenden, um HTML in .NET in PDF zu rendern. Es unterstützt CSS und JavaScript vollständig, was eine hochwertige Dokumentkonvertierung ermöglicht.

Warum könnte ich QuestPDF für mein Projekt wählen?

QuestPDF ist ideal für Projekte, die dynamische und visuell komplexe PDF-Dokumente erfordern. Seine fließende API ermöglicht flexible Layouts, obwohl es keine native Unterstützung für HTML-zu-PDF-Konvertierungen bietet.

Was sind die Einschränkungen bei der Verwendung von PDFsharp?

PDFsharp ist begrenzt, da es keine native Unterstützung für HTML-zu-PDF-Konvertierung bietet. Es eignet sich am besten für grundlegende PDF-Erstellungs- und Bearbeitungsaufgaben.

Wie unterstützt IronPDF erweiterte PDF-Manipulation?

IronPDF bietet erweiterte Funktionen wie PDF-Bearbeitung, Verschlüsselung und Unterstützung für PDF/A-Konformität. Es ist für Unternehmensanwendungen konzipiert, die eine robuste PDF-Verarbeitung erfordern.

Kann ich mit PDFsharp visuell ansprechende PDFs erstellen?

Während PDFsharp grundlegende PDF-Erstellungs- und Bearbeitungsfunktionen bietet, fehlen die erweiterten Layout- und Designfähigkeiten, die in QuestPDF und IronPDF zu finden sind und die besser für visuell komplexe Dokumente geeignet sind.

Was sind die Installationsschritte für diese PDF-Bibliotheken?

Alle drei Bibliotheken können über den NuGet-Paket-Manager in Visual Studio installiert werden. Verwenden Sie den Befehl Install-Package [LibraryName] in der NuGet Package Manager-Konsole und ersetzen Sie [LibraryName] durch PDFsharp, QuestPDF oder IronPDF.

Gibt es Kosten, die mit der Verwendung von IronPDF verbunden sind?

Ja, IronPDF erfordert eine kommerzielle Lizenz für die Bereitstellung und bietet umfassenden Support und erweiterte Funktionen für Unternehmensanwendungen.

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
QuestPDF Logo

Sind Sie es leid, teure Erneuerungen und veraltete Produktaktualisierungen zu haben?

Machen Sie sich den Umstieg von QuestPDF leicht - mit unserer technischen Unterstützung bei der Migration und einem besseren Angebot.

IronPDF Logo