PRODUKT-VERGLEICHE

PDFsharp vs QuestPDF (C# PDF-Bibliothek im ausführlichen Vergleich)

Kannaopat Udonpant
Kannapat Udonpant
26. Februar 2025
Teilen Sie:

Wenn Entwickler mit PDF-Dokumenten in .NET arbeiten, vergleichen sie oft verschiedene Bibliotheken, um festzustellen, welche am besten zu ihren Projektanforderungen passt. Drei beliebte Optionen im .NET-Ökosystem sindPDFsharp, QuestPDFundIronPDF. Jede Bibliothek richtet sich an unterschiedliche Anwendungsfälle und bietet einzigartige Stärken und Schwächen. In diesem Artikel werden wir einen ausführlichen Vergleich dieser Bibliotheken bieten und wie sie die grundlegende PDF-Erstellung mitthis URLum Ihnen bei einer fundierten Entscheidung zu helfen.

Was ist PDFsharp?

PDFsharp ist eine Open-Source-Bibliothek, die zum Erstellen, Bearbeiten und Rendern von PDF-Dokumenten entwickelt wurde. Mit einem Fokus auf Einfachheit und grundlegende PDF-Funktionalität ist PDFsharp ein zuverlässiges Werkzeug für Entwickler, die nach unkomplizierten PDF-Bearbeitungsmöglichkeiten suchen.

Hauptmerkmale von PDFsharp

  • PDF-Erstellung und -Bearbeitung: Erstellen Sie neue PDFs oder ändern Sie bestehende.
  • Grafikzeichnen: Beinhaltet Unterstützung für das Zeichnen von Formen, Text und Bildern.
  • Open Source: Lizenziert unter MIT, was bedeutet, dass es kostenlos genutzt und modifiziert werden kann.

Einrichtung

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

Install-Package PDFsharp
Install-Package PDFsharp

PDFsharp Code Beispiel

Nun schauen wir uns an, wie PDFsharp möglicherweise das Erstellen eines neuen PDF-Dokuments aus einer gegebenen URL handhabt. Da PDFsharp allein keine HTML- oder URL-zu-PDF-Konvertierung durchführen kann, müssen wir eine Web-Rendering-Engine wie HtmlRenderer.PdfSharp integrieren, um zu helfen. Darüber hinaus müssen wir HttpClient verwenden, um den HTML-Inhalt von der angegebenen 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 System.Threading.Tasks.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 System.Threading.Tasks.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'.");
        }
    }
}

PDF-Datei ausgeben

PDFsharp vs QuestPDF(C# PDF-Bibliothek im detaillierten Vergleich): Abbildung 1

Wie Sie sehen, kann PDFsharp zwar verwendet werden, um HTML-Inhalte und Webseiten in PDF-Dateien zu konvertieren, aber es benötigt die Hilfe zusätzlicher Bibliotheken und ist nicht in der Lage, das CSS und die Formatierung der ursprünglichen Webseite beizubehalten. Obwohl es sich um eine großartige kostenlose PDF-Entwicklerbibliothek handelt, fehlen ihr einige der fortschrittlicheren 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 erstellen. Sein innovativer Ansatz für Dokumentenlayout und -wiedergabe macht es zu einem starken Anwärter für Anwendungen, die dynamische und komplexe Designs erfordern.

Hauptmerkmale von QuestPDF

  • Fluent API: Bietet einen deklarativen Ansatz zur Definition von Dokumentlayouts.
  • Modernes Layout-System: Inspiriert von CSS, unterstützt es Raster, Komponenten und flexible Layout-Strukturen. Manipulieren Sie PDF-Dateien mit diesen Stiloptionen.
  • Hohe Leistung: Optimiert für das schnelle Rendern von großen und komplexen Dokumenten.

Einrichtung

Dank der Verfügbarkeit dieser Bibliothek als NuGet-Paket ist die Installation ein unkomplizierter Prozess, der nur eine Zeile erfordert, die in der NuGet-Konsole ausgeführt werden muss:

Install-Package QuestPDF
Install-Package QuestPDF

QuestPDF-Codebeispiel

Nun ist es an der Zeit, zu sehen, wie QuestPDF unsere Beispiel-URL in das PDF-Format konvertiert. Während QuestPDF die URL-zu-PDF-Konvertierung nicht nativ unterstützt, können Sie einen HTTP-Client verwenden, um den HTML-Inhalt abzurufen und mit der Fluent-API von QuestPDF in ein PDF 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 System.Threading.Tasks.Task Main(string[] args)
    {
        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 System.Threading.Tasks.Task Main(string[] args)
    {
        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'.");
        }
    }
}

PDF-Datei ausgeben

PDFsharp vs QuestPDF(C# PDF-Bibliothek Detaillierter Vergleich): Abbildung 2

Ähnlich wie bei PDFSharp kann QuestPDF zwar zur Umwandlung von HTML-Inhalten in PDF mithilfe externer Bibliotheken wie HtmlAgilityPack genutzt werden, es ist jedoch nicht in der Lage, das CSS-Styling und die Formatierung beizubehalten. Während QuestPDF eine ausgezeichnete Wahl für alle ist, die PDF-Dokumente von Grund auf neu erstellen möchten, ist die HTML-zu-PDF-Konvertierung kein starker Punkt dieser Bibliothek.

IronPDF: Eine leistungsstarke PDF-Bibliothek

IronPDFist eine robuste PDF-Bibliothek, die für .NET-Entwickler entwickelt wurde, die erweiterte und umfassende PDF-Funktionen benötigen. Sein Fokus auf HTML-zu-PDF-Rendering, kombiniert mit zusätzlichen Funktionen wie erweiterten Optionen zum Manipulieren von PDF-Dokumenten, Verschlüsselung und PDF/A-Konformität, macht es zu einer leistungsstarken Wahl für Unternehmensanwendungen.

Hauptmerkmale von IronPDF

  • HTML zu PDF: Einfach vollständige Webseiten rendern oderHTML-Zeichenfolgen als PDF-Dateien.
  • PDF/A-Konformität: Dokumente erzeugen, die den langfristigen Anforderungen entsprechenArchivierungsstandards.
  • Erweiterte Sicherheit: Unterstützt Verschlüsselung,passwortschutzunddigitale Signaturen.
  • Bearbeiten von PDFs: Vorhandene PDF-Dateien ändern, zusammenführen und aufteilen.
  • Plattformübergreifend: Vollständig kompatibel mit .NET Framework, .NET Core und .NET 5+.

Einrichtung

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

Verwendung des NuGet-Paket-Managers:

  1. Öffnen Sie Ihr Projekt in Visual Studio.

  2. Klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und wählen Sie "NuGet-Pakete verwalten"

  3. Suche nach "IronPDF" und klicke auf "Installieren".

    PDFsharp vs QuestPDF(C# PDF-Bibliothek eingehender Vergleich): Abbildung 3

    Verwendung der NuGet-Paket-Manager-Konsole:

Install-Package IronPdf
Install-Package IronPdf

Beispiel: URL in PDF umwandeln mit IronPDF

IronPDF bietet eine einfache und direkte API zur UmwandlungURLs zu PDFs. Hier ist ein Beispiel:

using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");
pdf.SaveAs("url.pdf");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");
pdf.SaveAs("url.pdf");

PDF-Datei ausgeben

PDFsharp vs QuestPDF(C# PDF-Bibliothek Detaillierter Vergleich): Abbildung 4

Das obige Codebeispiel zeigt, wie IronPDF URL-Inhalte mit nur wenigen Codezeilen leicht in PDF konvertieren kann. Wie Sie sehen können, wurde nicht nur das HTML konvertiert, sondern auch das CSS-Styling und die Layouts wurden umgewandelt, sodass das ausgegebene PDF dem ursprünglichen Format treu bleibt. Durch die Nutzung vonChromePdfRenderer Rendering-EngineIronPDF erzeugt pixelgenaue PDF-Dokumente, die im Umwandlungsprozess keine Qualität des ursprünglichen Inhalts verlieren.

Wie hier zu sehen ist, ist IronPDF eine starke Wahl für die Umwandlung von HTML in PDF sowie für die Umwandlung anderer Dokumenttypen in PDF. Es verarbeitet hochwertige Konvertierungsaufgaben in einem präzisen, leicht zu implementierenden Codeblock.

Detaillierte Analyse

Benutzerfreundlichkeit

PDFsharp ist unkompliziert und einfach zu bedienen, was es zu einer ausgezeichneten 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 Texten, Formen oder Bildern zu einer PDF. Es erfordert jedoch eine externe Bibliothek, um HTML und URL in PDF-Konvertierungsaufgaben zu bearbeiten.

QuestPDF hingegen bietet mit seiner Fluent API einen moderneren Ansatz. Entwickler mit Erfahrung im Web- oder UI-Design werden es intuitiv finden, aber Neueinsteiger könnten auf eine leichte Lernkurve stoßen, während sie sich an die layoutzentrierte Designphilosophie gewöhnen. Aber erneut fehlen die integrierten Werkzeuge, um HTML in PDF umzuwandeln.

IronPDF bietet das einfachste Erlebnis für die Umwandlung von HTML in PDF und erweiterte PDF-Funktionen. Die intuitive API verkürzt die Implementierungszeit und bietet eine umfassende Dokumentation sowie Beispiele. IronPDF kann die Umwandlung vieler verschiedener Dokumenttypen in PDF übernehmen, wie das URL-zu-PDF-Beispiel, das wir in diesem Artikel betrachtet haben, und das alles ohne Qualitätsverlust des Dokuments.

Leistung

Leistung ist ein kritischer Faktor, besonders für Anwendungen, die PDFs dynamisch generieren müssen. PDFsharp eignet sich für kleine und einfache Dokumente, hat jedoch Schwierigkeiten mit umfangreichen oder komplexen Layouts.

QuestPDF ist hervorragend im Erstellen dynamischer und optisch ansprechender Dokumente. Es ist optimiert für die Verarbeitung strukturierter 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 äußerst fähig, unternehmensgerechte PDF-Aufgaben mühelos zu bewältigen.

Vergleichszusammenfassung

  • PDFsharp ist eine leichtgewichtige und quelloffene Bibliothek, die sich am besten für grundlegende PDF-Erstellungs- und Bearbeitungsaufgaben eignet. Es ist ideal für kleine Projekte, bietet jedoch keine Unterstützung für moderne Layouts und erweiterte Funktionen.
  • QuestPDF glänzt bei der Erstellung dynamischer, komplexer und visuell ansprechender PDFs mithilfe seiner fließenden API. Jedoch konzentriert es sich ausschließlich auf die PDF-Erstellung und unterstützt nicht die Bearbeitung bestehender Dokumente.
  • IronPDF bietet das umfassendste Funktionsset, einschließlich integrierter HTML-zu-PDF-Konvertierung, OCR und erweiterten Sicherheitsoptionen. Obwohl eine kommerzielle Lizenz erforderlich ist, macht seine Funktionalität es zu einer erstklassigen Wahl für Unternehmens- und professionelle Anwendungen.

Schlussfolgerung

Die Wahl der richtigen PDF-Bibliothek für Ihr .NET-Projekt hängt von Ihren spezifischen Anforderungen ab. Wenn Sie ein leichtgewichtiges, quelloffenes Werkzeug für grundlegende PDF-Aufgaben benötigen,PDFsharpist eine solide Option. Für die Erstellung dynamischer, visuell ansprechender Dokumente,QuestPDFzeichnet sich durch seinen modernen Ansatz aus.

Wenn Sie jedoch erweiterte Funktionen, nahtlose HTML-zu-PDF-Konvertierung und Fähigkeiten auf Unternehmensniveau benötigen,IronPDFdie es zu bieten hat.

Indem Sie die Stärken und Schwächen jeder Bibliothek verstehen, können Sie eine fundierte Entscheidung treffen, die den Bedürfnissen Ihres Projekts entspricht.

Kannaopat Udonpant
Software-Ingenieur
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS
Erkunden Sie die besten PDF-zu-Bild-Alternativen zu PDFsharp
NÄCHSTES >
PDFsharp Seitenzahlen zu PDF hinzufügen VS IronPDF (Beispiel)