Zum Fußzeileninhalt springen
IRONPDF NUTZEN

C# PDF generieren 7 Bibliothekenvergleich (Kostenlose & Kostenpflichtige Tools)

Die Funktion zur PDF-Erstellung mit C# ist für viele moderne Anwendungen entscheidend, von der Erstellung von Berichten bis zu Abrechnungssystemen. In diesem Artikel werden wir sechs beliebte Methoden zur Erstellung von PDF-Dateien mit C# untersuchen, wobei sowohl codebasierte Bibliotheken wie IronPDF als auch Online-APIs und Tools hervorgehoben werden. Egal, ob Sie PDF-Dateien dynamisch in einer Webanwendung erstellen oder einfach PDF-Dateien aus vorhandenen Dokumenten erzeugen müssen, diese Tools stehen Ihnen zur Verfügung.

1. IronPDF

IronPDF ist eine erstklassige .NET PDF-Bibliothek, die für Entwickler entwickelt wurde, die eine hochwertige HTML-zu-PDF-Dateikonvertierung benötigen. IronPDF verwendet ein Chromium-basiertes Rendering, um präzise Konvertierungen sicherzustellen und ist damit die perfekte Wahl für Webanwendungen, die HTML-Seiten oder webbasierte Berichte in PDF-Dateien in C# umwandeln möchten. Das Tool ist bekannt für seine robuste Handhabung bestehender PDF-Dokumente und bietet Funktionen zum Bearbeiten, Zusammenführen oder Teilen von PDFs.

IronPDF lässt sich leicht über den NuGet Paket-Manager in C#-Projekte integrieren, und mit nur wenigen Codezeilen können Sie mit der Erstellung von PDF-Dokumenten beginnen. Es ist ein vielseitiges Tool für dynamische HTML-Inhalte und servergenerierte PDF-Dateien.

Wichtige Merkmale

  • HTML-zu-PDF-Konvertierung: IronPDF zeichnet sich durch die direkte Konvertierung komplexer HTML-Seiten in ein PDF aus, einschließlich der Unterstützung für die Ausführung von JavaScript und modernem CSS. Es verwendet ein Chromium-basiertes Rendering, das sicherstellt, dass das Ergebnis identisch aussieht wie in einem Webbrowser.
  • PDF-Bearbeitung: Mit IronPDF können Sie bestehende PDF-Dokumente einfach zusammenführen, aufteilen und bearbeiten.
  • Erweiterte Gestaltungsoptionen: IronPDF unterstützt externe Stylesheets, benutzerdefinierte Schriftarten und JavaScript, sodass Sie aufwendig gestaltete Dokumente erstellen können. Es ist ideal für Rechnungen, Berichte und webbasierte Inhalte.
  • Sicherheitsfunktionen: IronPDF bietet Funktionen zum Hinzufügen von Passwortschutz, digitalen Signaturen und zum Festlegen von Berechtigungen, um Aktionen wie Drucken, Kopieren oder Bearbeiten der PDF-Datei einzuschränken.
  • Formularverarbeitung: IronPDF ermöglicht es Entwicklern, PDF-Formulare programmatisch zu erstellen, auszufüllen und zu lesen, wodurch es sich gut für Anwendungen eignet, die Benutzereingaben im PDF-Format benötigen.
  • NuGet Paketmanager: Einfache Installation und Verwaltung über die Paketmanagerkonsole in Visual Studio.

Codebeispiel

using IronPdf;

class Program
{
    static void Main()
    {
        string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>";

        // Create an instance of ChromePdfRenderer
        ChromePdfRenderer renderer = new ChromePdfRenderer(); 

        // Render the HTML as a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html); 

        // Save the PDF to a specified file
        pdf.SaveAs("Generated.pdf"); 
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>";

        // Create an instance of ChromePdfRenderer
        ChromePdfRenderer renderer = new ChromePdfRenderer(); 

        // Render the HTML as a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html); 

        // Save the PDF to a specified file
        pdf.SaveAs("Generated.pdf"); 
    }
}
$vbLabelText   $csharpLabel
  1. Namespace-Import: using IronPdf; importiert die IronPDF Bibliothek, um auf deren Klassen und Methoden zuzugreifen.
  2. HTML-Zeichenkette: Die Variable 'html' enthält den HTML-Inhalt, den Sie in PDF konvertieren möchten.
  3. Renderer-Instanz: new ChromePdfRenderer(); erstellt eine Instanz der Klasse ChromePdfRenderer, die Methoden zum Rendern von HTML-Inhalten in das PDF-Format bereitstellt.
  4. PDF rendern: PdfDocument pdf = renderer.RenderHtmlAsPdf(html); wandelt die HTML-Zeichenkette in ein PDF-Dokument um.
  5. PDF speichern: pdf.SaveAs("Generated.pdf"); speichert die generierte PDF-Datei unter dem angegebenen Dateipfad.

Pros

  • Ausgezeichnete Rendering-Qualität für Web-Inhalte.
  • Robuste Unterstützung für Formulare, Hyperlinks und Lesezeichen.

Kosten

  • Lizenzgebühren können bei größeren Projekten eine Überlegung sein.
  • Fortgeschrittene Funktionen erfordern möglicherweise ein tieferes Lernen.

2. iTextSharp

C# Vergleich von 7 Bibliotheken zur PDF-Generierung (kostenlose und kostenpflichtige Tools): Abbildung 2

iTextSharp ist eine etablierte .NET PDF-Bibliothek, die umfangreiche Funktionalitäten zur Erstellung und Bearbeitung von PDF-Dateien bietet. Sie wird häufig in Branchen wie dem Finanzwesen und der Rechtsprechung eingesetzt, wo Dokumente angepasst und gesichert werden müssen. iTextSharp ermöglicht es, PDF-Dateien von Grund auf zu erstellen, Formulare auszufüllen und PDF-Dateien zu ändern, und bietet umfassende Kontrolle über den Inhalt des Dokuments. Es ist besonders nützlich für Unternehmensanwendungen, die PDF-Dateien mit präzisen Layouts und dynamischen Daten generieren müssen, wie z.B. Rechnungen oder Verträge.

Wichtige Merkmale

  • Umfassende PDF-Erstellungsfunktionen: Mit iTextSharp können Entwickler auf einfache Weise eine PDF-Datei in C# von Grund auf erstellen und so Text, Bilder, Tabellen und Vektorgrafiken hinzufügen. Es bietet vollständige Kontrolle über das Dokumentlayout, einschließlich der Möglichkeit, Seitengrößen, Ränder und Metadaten zu definieren.
  • Formularausfüllung: Eine wesentliche Stärke von iTextSharp ist die Fähigkeit, PDF-Formulare (AcroForms) zu verarbeiten. Sie können Formulare mit verschiedenen Eingabefeldern erstellen und diese später programmatisch ausfüllen, eine Funktion, die in automatisierten Dokumenterstellungs-Workflows nützlich ist.
  • XML-zu-PDF-Konvertierung: iTextSharp bietet umfassende Unterstützung für die Konvertierung von XML-Daten in PDF mittels XFA (XML Forms Architecture). Dies ist besonders wertvoll in Branchen, in denen XML-Daten in standardisierte Formulare oder Berichte formatiert werden müssen.
  • PDF-Sicherheit: iTextSharp bietet erweiterte Funktionen wie das Hinzufügen von Verschlüsselung, digitalen Signaturen und Wasserzeichen, um die Authentizität von Dokumenten zu gewährleisten und sensible Daten zu schützen.
  • Textextraktion und -manipulation: Sie können Text aus bestehenden PDFs extrahieren, Dokumentinhalte neu anordnen oder Seitenelemente bearbeiten. Dies macht das Tool nützlich für die Nachbearbeitung von Dokumenten oder die Erstellung von zusammenfassenden Berichten aus komplexen PDFs.

Codebeispiel

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

namespace Helpers
{
    public class PdfGenerator
    {
        public static byte[] GeneratePdfFromFragment(string htmlFragment)
        {
            var html = string.Format(@"
            <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
            <head>
            <style type='text/css'>
            table,td {{border: 1px solid black;}}
            div {{ white-space: nowrap; padding: 2px;}}
            table{{ border-collapse: collapse; width: 100%; empty-cells: show;}}
            body table {{font-size: 50%;}}
            th {{width:500px; height: 28px;}}
            td {{width:300px; height: 28px;}}
            </style>
            </head><body>{0}</body></html>", htmlFragment);
            return Generate(html);
        }

        public static byte[] GeneratePdfFromPage(string htmlPage)
        {
            return Generate(htmlPage);
        }

        private static byte[] Generate(string html)
        {
            using (var memoryStream = new MemoryStream())
            {
                var pdfDocument = new Document(PageSize.LETTER);
                var pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream);
                pdfDocument.Open();
                using (var fw = new StringReader(html))
                {
                    XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw);
                }
                pdfDocument.Close();
                return memoryStream.ToArray();
            }
        }
    }
}
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

namespace Helpers
{
    public class PdfGenerator
    {
        public static byte[] GeneratePdfFromFragment(string htmlFragment)
        {
            var html = string.Format(@"
            <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
            <head>
            <style type='text/css'>
            table,td {{border: 1px solid black;}}
            div {{ white-space: nowrap; padding: 2px;}}
            table{{ border-collapse: collapse; width: 100%; empty-cells: show;}}
            body table {{font-size: 50%;}}
            th {{width:500px; height: 28px;}}
            td {{width:300px; height: 28px;}}
            </style>
            </head><body>{0}</body></html>", htmlFragment);
            return Generate(html);
        }

        public static byte[] GeneratePdfFromPage(string htmlPage)
        {
            return Generate(htmlPage);
        }

        private static byte[] Generate(string html)
        {
            using (var memoryStream = new MemoryStream())
            {
                var pdfDocument = new Document(PageSize.LETTER);
                var pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream);
                pdfDocument.Open();
                using (var fw = new StringReader(html))
                {
                    XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw);
                }
                pdfDocument.Close();
                return memoryStream.ToArray();
            }
        }
    }
}
$vbLabelText   $csharpLabel
  1. GeneratePdfFromFragment: Nimmt ein HTML-Fragment (wie ein partielles HTML-Dokument) und wandelt es in eine vollständige HTML-Struktur um, indem es es in eine einfache <html> und <body> Vorlage einbettet. Anschließend wird die interne Methode Generate aufgerufen.
  2. GeneratePdfFromPage: Akzeptiert eine vollständige HTML-Seite und ruft direkt die Methode Generate auf.
  3. Generieren: Diese Methode übernimmt die Konvertierung von HTML in PDF.
    • Initialisiert einen MemoryStream, um das erzeugte PDF im Speicher zu halten.
    • Erstellt ein iTextSharp Document-Objekt mit Briefgrößen-Seiten.
    • Der XMLWorkerHelper analysiert den HTML-Inhalt und schreibt ihn mit dem bereitgestellten StringReader in das PDF-Dokument.

Pros

  • Hochgradig anpassbar mit einem umfangreichen Funktionsumfang.
  • Umfangreiche Dokumentation und Community-Unterstützung.

Kosten

  • iTextSharp (das für den privaten Gebrauch kostenlos, für groß angelegte Projekte jedoch eine kommerzielle Lizenz erfordert) kann Einschränkungen bei der Handhabung komplexer CSS oder JavaScript haben.
  • XMLWorker (das hier verwendet wird) ist ein veraltetes Werkzeug von iTextSharp zur HTML/CSS-Analyse. iText7 (die neuere Version von iText) verwendet einen robusteren HTML-Parser, pdfHTML, der möglicherweise bessere Unterstützung für moderne Webstandards bietet.
  • Steilere Lernkurve für Anfänger.

3. PDFsharp

C# Vergleich der 7 Bibliotheken zur PDF-Generierung (kostenlose und kostenpflichtige Tools): Abbildung 3

PDFSharp ist eine leichte, Open-Source .NET PDF-Bibliothek, die ideal für grundlegende PDF-Erstellungsaufgaben ist. Wenn Ihre Anwendung nur einfache Vorgänge wie das Hinzufügen von Text, Bildern oder Tabellen erfordert, ist PDFSharp eine benutzerfreundliche Option zur Generierung von PDF-Dokumenten in C#. Es fehlen erweiterte Funktionen wie die HTML-zu-PDF-Konvertierung, aber es überzeugt durch seine Einfachheit bei der Erstellung kleiner bis mittelgroßer PDF-Dateien in C#.

Wichtige Merkmale

  • Grundlegende PDF-Erstellung: Einfache und benutzerfreundliche API zum Zeichnen von Text und Grafiken. Ideal zur Erstellung unkomplizierter Dokumente.
  • Dokumentenmanipulation: Vorhandene PDFs lassen sich einfach zusammenführen und bearbeiten, was eine flexible Dokumentenverwaltung ermöglicht.
  • Zeichen- und Grafikunterstützung: PDFsharp bietet eine Reihe von Werkzeugen zum Zeichnen auf PDF-Seiten, darunter Linien, Rechtecke und andere Vektorgrafiken. Es unterstützt auch das Einbetten von Bildern in Ihre PDFs.
  • Kostenlos und Open Source: PDFsharp ist für die kommerzielle und nichtkommerzielle Nutzung völlig kostenlos und stellt somit eine attraktive Option für kleine Unternehmen und Entwickler dar, die an Open-Source-Projekten arbeiten.

Codebeispiel

using PdfSharp.Pdf;
using PdfSharp.Drawing;

class Program
{
    static void Main()
    {
        // Create a new PDF document
        PdfDocument document = new PdfDocument();
        document.Info.Title = "Created with PdfSharp";

        // Add a page to the document
        PdfPage page = document.AddPage();

        // Create an XGraphics object to draw on the page
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Set a font to use for drawing text
        XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

        // Draw the text on the PDF page
        gfx.DrawString("Hello, World!", font, XBrushes.Black, 
                       new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

        // Save the document to disk
        document.Save("Generated.pdf");
    }
}
using PdfSharp.Pdf;
using PdfSharp.Drawing;

class Program
{
    static void Main()
    {
        // Create a new PDF document
        PdfDocument document = new PdfDocument();
        document.Info.Title = "Created with PdfSharp";

        // Add a page to the document
        PdfPage page = document.AddPage();

        // Create an XGraphics object to draw on the page
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Set a font to use for drawing text
        XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

        // Draw the text on the PDF page
        gfx.DrawString("Hello, World!", font, XBrushes.Black, 
                       new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

        // Save the document to disk
        document.Save("Generated.pdf");
    }
}
$vbLabelText   $csharpLabel
  • PdfDocument: Stellt das gesamte PDF-Dokument dar. Sie können Seiten hinzufügen, Metadaten festlegen und das Dokument manipulieren.
  • PdfPage: Stellt eine einzelne Seite innerhalb des Dokuments dar. Neue Seiten werden mit der AddPage-Methode hinzugefügt.
  • XGraphics: Wird verwendet, um Text, Bilder und Formen auf einer bestimmten Seite zu zeichnen. Es ist ähnlich wie GDI+ in .NET.
  • XFont: Legt Schriftart und Stil für die Textwiedergabe fest. In diesem Beispiel wird "Verdana" mit Fettschrift verwendet.
  • DrawString: Zeichnet die angegebene Zeichenkette an der definierten Position innerhalb des Dokuments.

Pros

  • Kostenlos und quelloffen ohne Lizenzbeschränkungen.
  • Einfach und leicht, was den Einstieg in die grundlegende PDF-Erstellung erleichtert.
  • Funktioniert gut für Projekte, die keine komplexen Funktionen erfordern.

Kosten

  • Begrenzte Funktionalität im Vergleich zu anderen Bibliotheken.
  • Keine native Unterstützung für die Umwandlung von HTML in PDF.

4. syncfusion PDF-Bibliothek

C# Vergleich der 7 Bibliotheken zur PDF-Generierung (kostenlose und kostenpflichtige Tools): Abbildung 4

Syncfusion PDF-Bibliothek ist ein leistungsstarkes, umfassendes Werkzeug, das für Unternehmen entwickelt wurde, die mit PDFs in einer Vielzahl von Anwendungen arbeiten müssen. Es ist Teil der breiteren Syncfusion-Suite, die Bibliotheken für eine Vielzahl von Formaten und Plattformen bietet. Die PDF-Bibliothek sticht durch ihren umfangreichen Funktionsumfang hervor, der über die einfache Dokumentenerstellung hinausgeht und detaillierte Manipulationen ermöglicht, einschließlich Formularausfüllung, digitale Signaturen und Dokumentsicherheit.

Wichtige Merkmale

  • Umfassende PDF-API: Kann hochgradig individualisierte PDFs generieren, einschließlich solcher mit komplexen Layouts, eingebetteten Schriftarten und hochauflösenden Bildern. Bietet detaillierte Kontrolle über alle Aspekte der PDF-Erstellung, von der Seitenformatierung bis hin zu erweiterten Layoutoptionen.
  • Formularverarbeitung: Die Bibliothek eignet sich hervorragend zum Erstellen, Ausfüllen und Extrahieren von Daten aus interaktiven PDF-Formularen (AcroForms). Nützlich für die Erstellung von ausfüllbaren PDFs für Benutzereingaben, Automatisierung von Dateneingaben oder Verarbeitung ausgefüllter Formulare.
  • Digitale Signaturen und Verschlüsselung: Bietet robuste Sicherheitsfunktionen, darunter die Möglichkeit, PDF-Dokumente zu verschlüsseln, Passwortschutz hinzuzufügen und digitale Signaturen anzuwenden. Essentiell für Branchen wie Gesundheitswesen und Rechtsdienstleistungen, die Dokumentenauthentizität und -sicherheit erfordern.

Codebeispiel

using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;

class Program
{
    static void Main()
    {
        // Create a new PDF document.
        PdfDocument document = new PdfDocument();

        // Add a page to the document.
        PdfPage page = document.Pages.Add();

        // Create PDF graphics for the page.
        PdfGraphics graphics = page.Graphics;

        // Set the standard font.
        PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20);

        // Draw the text.
        graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, new PointF(0, 0));

        // Save the document.
        document.Save("Output.pdf");

        // Close the document.
        document.Close(true);
    }
}
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;

class Program
{
    static void Main()
    {
        // Create a new PDF document.
        PdfDocument document = new PdfDocument();

        // Add a page to the document.
        PdfPage page = document.Pages.Add();

        // Create PDF graphics for the page.
        PdfGraphics graphics = page.Graphics;

        // Set the standard font.
        PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20);

        // Draw the text.
        graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, new PointF(0, 0));

        // Save the document.
        document.Save("Output.pdf");

        // Close the document.
        document.Close(true);
    }
}
$vbLabelText   $csharpLabel
  • PdfDocument: Stellt das PDF-Dokument dar. Sie können Seiten hinzufügen, Eigenschaften festlegen und den Inhalt manipulieren.
  • PdfPage: Stellt eine Seite innerhalb des PDF-Dokuments dar.
  • PdfFont: Definiert die Schriftart für die Textdarstellung. In diesem Fall wird eine Standard-Helvetica-Schrift verwendet.
  • DrawString: Zeichnet die angegebene Zeichenkette an den angegebenen Koordinaten auf die PDF-Seite.

Pros

  • Reicher Funktionsumfang, geeignet für die Erstellung komplexer PDFs.
  • Professioneller Support und Dokumentation machen es ideal für groß angelegte Anwendungen.
  • Unterstützt erweiterte PDF-Fähigkeiten wie Formularausfüllung, Verschlüsselung und Anmerkungen.

Kosten

  • Lizenzgebühren sind relativ hoch für die kommerzielle Nutzung.
  • Komplexe API, die Zeit zum Erlernen erfordern kann.

5. PDFShift (Online-Werkzeug)

C# Vergleich der 7 Bibliotheken zur PDF-Generierung (kostenlose und kostenpflichtige Tools): Abbildung 5

PDFShift ist ein cloudbasierter Dienst, der entwickelt wurde, um HTML in PDF-Dateien zu konvertieren. Es integriert sich reibungslos mit C#-Anwendungen über seine API und ermöglicht es Ihnen, dynamisch generierte HTML-Webseiten in professionelle PDFs zu konvertieren. PDFShift ist besonders nützlich für Webentwickler, die PDF-Dokumente nach Bedarf aus HTML-Inhalten erstellen möchten, z.B. Rechnungen oder Berichte. Da PDFShift vollständig über seine REST-API arbeitet, können Sie lediglich ein paar Zeilen HTML an den Dienst senden und erhalten im Gegenzug eine herunterladbare PDF-Datei. Es ist eine einfache, skalierbare Lösung für webbasierte PDF-Dateigenerierung.

Wichtige Merkmale

  • HTML-zu-PDF-Konvertierung: PDFShift zeichnet sich durch die Konvertierung von HTML-Dokumenten in qualitativ hochwertige PDFs aus. Es verarbeitet komplexe CSS-Stile, JavaScript und responsive Design-Layouts und stellt sicher, dass Ihre Webseite im PDF-Format genauso aussieht.
  • API-Integration: Die PDFShift-API ist für die nahtlose Integration in Webanwendungen konzipiert. Es ist einfach zu verwenden: Senden Sie einfach eine HTTP-POST-Anfrage mit dem HTML-Inhalt, und der Dienst gibt ein PDF-Dokument zurück.
  • Anpassungsoptionen: Ermöglicht die Anpassung des generierten PDFs, einschließlich der Festlegung von Seitengröße, Ausrichtung, Rändern und Kopf-/Fußzeilen. Sie können auch dynamische Inhalte zu den Kopf- und Fußzeilen hinzufügen, wie Seitenzahlen oder Dokumentenmetadaten.

Wie es funktioniert

  • Senden Sie eine POST-Anfrage mit HTML-Inhalt an den PDFShift-API-Endpunkt.
  • Erhalten Sie das erzeugte PDF als Antwort, bereit zum Herunterladen oder Speichern.

Beispielcode

using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>";
            var content = new StringContent(htmlContent, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync("https://api.pdfshift.io/v3/convert", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>";
            var content = new StringContent(htmlContent, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync("https://api.pdfshift.io/v3/convert", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
$vbLabelText   $csharpLabel
  • HttpClient: Sendet den HTML-Inhalt als POST-Anfrage an die PDFShift-API.
  • PostAsync: Sendet die Anfrage an die API, die das HTML verarbeitet und das PDF zurückgibt.
  • ReadAsByteArrayAsync: Liest die PDF-Antwort als Byte-Array, das dann als Datei gespeichert werden kann.

Pros

  • Einfache API mit minimaler Einrichtung.
  • Ideal für Webanwendungen, die eine dynamische HTML-zu-PDF-Konvertierung benötigen.
  • Keine Notwendigkeit, PDF-Bibliotheken oder -Server zu verwalten.

Kosten

  • Begrenzung auf HTML-zu-PDF-Konvertierung; unterstützt keine komplexeren PDF-Funktionen.
  • Erfordert eine Internetverbindung und verursacht Kosten nach einem bestimmten Nutzungslimit.

6. DocRaptor (Online-Tool)

C# Vergleich der 7 Bibliotheken zur PDF-Generierung (kostenlose und kostenpflichtige Tools): Abbildung 6

DocRaptor ist ein weiteres leistungsstarkes API-basiertes PDF-Erstellungs-Tool, das HTML und CSS in hochwertige PDFs umwandelt. Es ist bekannt für seine hervorragende Darstellung von HTML-Dokumenten, insbesondere im Umgang mit komplexen CSS-Stilen, Media-Queries und Web-Schriftarten. Dies macht DocRaptor zu einer ausgezeichneten Wahl für die Erstellung von professionellen Dokumenten wie Berichten, Rechnungen und eBooks, direkt aus HTML-Vorlagen.

Wichtige Merkmale

  • HTML- und CSS-Unterstützung: Konvertiert HTML-Dokumente mit komplexen CSS-Stilen, einschließlich Media Queries und Schriftarten.
  • API-Integration: REST-API für die nahtlose Integration in Webanwendungen.
  • Benutzerdefinierte Kopf- und Fußzeilen: Fügen Sie dynamische Kopf- und Fußzeilen hinzu, einschließlich Seitenzahlen und benutzerdefinierter Formatierung.
  • PDF-Sicherheit: Unterstützt Verschlüsselung und Passwortschutz.

Wie es funktioniert

  • Senden Sie eine POST-Anfrage an die DocRaptor-API mit HTML-Inhalt.
  • Passen Sie die PDF-Ausgabe mit Parametern für Seitengröße, Ränder und Kopf-/Fußzeilen an.
  • Erhalten Sie das erzeugte PDF als Antwort.

Beispielcode

using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string apiKey = "YOUR_API_KEY";
            string htmlContent = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>";
            string jsonData = $"{{\"test\": true, \"document_content\": \"{htmlContent}\", \"name\": \"Generated.pdf\", \"document_type\": \"pdf\"}}";
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string apiKey = "YOUR_API_KEY";
            string htmlContent = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>";
            string jsonData = $"{{\"test\": true, \"document_content\": \"{htmlContent}\", \"name\": \"Generated.pdf\", \"document_type\": \"pdf\"}}";
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
$vbLabelText   $csharpLabel
  • API-Schlüssel: Sie müssen einen API-Schlüssel zur Authentifizierung angeben, wenn Sie DocRaptor verwenden. Ersetzen Sie "YOUR_API_KEY" durch Ihren tatsächlichen Schlüssel.
  • JsonData: Diese JSON-Zeichenfolge enthält den HTML-Inhalt, den Dokumentnamen und den Typ (in diesem Fall PDF).
  • PostAsync: Sendet den HTML-Inhalt und die Parameter an die DocRaptor-API zur PDF-Generierung.

Pros

  • Hochwertige Darstellung mit vollständiger Unterstützung für HTML, CSS und JavaScript.
  • Erweiterte Anpassungsoptionen für Dokumentlayout und -sicherheit.
  • Keine Notwendigkeit zur Pflege von PDF-Erstellungsbibliotheken oder Infrastruktur.

Kosten

  • Bezahlter Dienst nach Überschreiten eines freien Nutzungslimits.
  • Abhängig von der Internetkonnektivität.

7. code-freie Online-Tools

Wenn Sie keinen Code schreiben oder eine schnelle Lösung zur Erstellung von PDFs benötigen, stehen verschiedene Online-Tools zur Verfügung, mit denen Sie PDFs schnell und einfach erstellen können. Hier sind einige bemerkenswerte Optionen:

7.1. Smallpdf

C# Vergleich von 7 Bibliotheken zur PDF-Generierung (kostenlose und kostenpflichtige Tools): Abbildung 7

Smallpdf ist eine Online-Plattform, die eine Vielzahl von PDF-bezogenen Tools bietet, einschließlich der Möglichkeit, PDFs aus einer Vielzahl von Dateiformaten zu erstellen. Es ist für Benutzer konzipiert, die eine einfache Drag-and-Drop-Oberfläche ohne Programmierung wünschen. Smallpdf wird häufig für schnelle Dateikonvertierungen genutzt, wie das Umwandeln von Word-Dokumenten, Excel-Tabellen oder Bildern in PDFs. Es bietet auch Tools zum Zusammenführen, Komprimieren und Teilen von PDFs, was es zu einem vielseitigen Werkzeug für grundlegende PDF-Aufgaben macht.

Wichtige Merkmale

  • Dateikonvertierung: Unterstützt die Konvertierung von Word-, Excel-, PowerPoint- und Bilddateien (JPG, PNG) in PDF. Dies macht es ideal für Benutzer, die schnell PDFs aus einer Vielzahl von Dokumenttypen erstellen müssen.
  • Zusammenführen und Aufteilen von PDFs: Bietet eine einfache Benutzeroberfläche zum Zusammenführen mehrerer PDFs zu einer einzigen Datei oder zum Aufteilen einer PDF-Datei in einzelne Seiten.
  • Cloud-Speicherintegration: Sie können Dateien einfach von Google Drive oder Dropbox hochladen und die konvertierten PDFs wieder auf diesen Plattformen speichern, wodurch die Dateiverwaltung optimiert wird.
  • PDF-Bearbeitungswerkzeuge: Bietet grundlegende PDF-Bearbeitungswerkzeuge zum Bearbeiten beliebiger vorhandener PDF-Dokumente, wie z. B. das Hinzufügen von Anmerkungen, das Ausfüllen von Formularen und das digitale Signieren von Dokumenten.

Pros

  • Sehr einfach für Nicht-Entwickler zu verwenden.
  • Kostenlos für die grundlegende Nutzung mit Upgrade-Optionen für mehr Funktionen.
  • Bietet eine Vielzahl von PDF-bezogenen Tools wie Zusammenfügen, Teilen und Komprimieren von PDFs.

Kosten

  • Begrenzte Anpassungsmöglichkeiten im Vergleich zu codebasierten Lösungen.
  • Kostenlose Nutzung kann bestimmte Funktionsbeschränkungen haben.

7.2. PDFescape

C# Vergleich von 7 Bibliotheken zur PDF-Generierung (kostenlose und kostenpflichtige Tools): Abbildung 8

PDFescape ist ein benutzerfreundlicher webbasierter PDF-Editor, der es Benutzern ermöglicht, PDFs zu erstellen, zu bearbeiten und anzusehen, ohne Software installieren zu müssen. Es ist ein großartiges Tool für diejenigen, die schnelle Änderungen an PDFs vornehmen müssen, z.B. Formulare ausfüllen, Textkommentare hinzufügen oder Bilder einfügen. PDFescape bietet auch Tools zur Erstellung neuer PDFs von Grund auf, was es zu einer flexiblen Wahl für die grundlegende Dokumentenerstellung macht.

Wichtige Merkmale

  • Ausfüllen und Bearbeiten von Formularen: Ausgezeichnete Fähigkeiten im Umgang mit PDF-Formularen. Benutzer können Formulare einfach ausfüllen oder vorhandene Felder in PDF-Dokumenten bearbeiten, nützlich für Verträge, Anwendungen und andere Formulare.
  • Grundlegende PDF-Erstellung: Bietet Werkzeuge zum Hinzufügen von Text, Formen, Bildern und Formularfeldern. Nützlich für die Erstellung einfacher Dokumente wie Briefe oder Formulare.
  • Anmerkungen und Kommentare: Fügen Sie Kommentaren, Haftnotizen und andere Anmerkungen zu bestehenden PDFs hinzu, wodurch PDFescape zu einem hervorragenden Werkzeug für die Dokumentenprüfung und Zusammenarbeit wird.
  • Keine Installation erforderlich: Funktioniert komplett im Browser, daher ist keine Softwareinstallation notwendig. Dies macht es ideal für Benutzer, die schnellen Zugriff auf PDF-Tools unterwegs benötigen.

Pros

  • Einfach zu bedienen für nicht-technische Benutzer.
  • Kostenlos für die grundlegende PDF-Erstellung und -Bearbeitung.
  • Geeignet für kleinere PDF-Bearbeitungsaufgaben.

Kosten

  • Fehlende erweiterte Funktionen für komplexe PDF-Erstellung.
  • Begrenzte Design- und Formatierungsoptionen.

7.3. PDF-Bonbon

C# Vergleich der 7 Bibliotheken zur PDF-Generierung (kostenlose und kostenpflichtige Tools): Abbildung 9

PDF Candy ist eine Suite von kostenlosen Online-PDF-Tools, die eine Vielzahl von PDF-bezogenen Aufgaben abdeckt, von der Dateikonvertierung bis hin zur Bearbeitung. Es ist eine ausgezeichnete Wahl für Benutzer, die schnell PDF-Operationen durchführen müssen, ohne ein Konto zu registrieren oder Software zu installieren. PDF Candy unterstützt die Konvertierung verschiedener Dateitypen, wie Word-Dokumente, Bilder und Textdateien, in PDFs. Es bietet auch Tools zum Zusammenführen, Aufteilen und Komprimieren von PDFs.

Wichtige Merkmale

  • Breites Spektrum an Konvertierungsoptionen: Kann zahlreiche Dateiformate, darunter Word-Dokumente, Bilder und Textdateien, in PDFs konvertieren. Dies macht es zu einem flexiblen Tool zur Handhabung verschiedener Inhaltstypen.
  • Zusammenführen und Aufteilen von PDFs: Ermöglicht es Benutzern, mehrere PDFs zu einer einzigen zusammenzuführen oder große PDFs in kleinere, besser handhabbare Dateien aufzuteilen.
  • Dateidatenschutz: Löscht Dateien nach kurzer Zeit automatisch von den Servern, um sicherzustellen, dass Ihre Dokumente privat bleiben.
  • Kostenlos nutzbar: Die meisten Tools können ohne Registrierung kostenlos genutzt werden und sind somit für ein breites Publikum zugänglich. Es wird jedoch auch eine Premium-Version mit umfangreicheren Funktionen für diejenigen angeboten, die häufiger nutzen oder größere Dateikonvertierungen benötigen.

Pros

  • Einfach und völlig kostenlos für die meisten Benutzer.
  • Unterstützt eine Vielzahl von Dateitypen für die Konvertierung in PDF.
  • Kein Konto erforderlich für die grundlegende Nutzung.

Kosten

  • Begrenzte erweiterte PDF-Anpassungsfunktionen.
  • Einige Tools können Einschränkungen bezüglich der Dateigröße oder Konvertierungskomplexität haben.

Abschluss

C# Vergleich der 7 Bibliotheken zur PDF-Generierung (kostenlose und kostenpflichtige Tools): Abbildung 10

Die Wahl des richtigen Tools zur Erstellung von PDF-Dateien in C# hängt von Ihren Bedürfnissen ab. Wenn Sie PDF-Dokumente aus HTML-Inhalten erstellen müssen, sind IronPDF und PDFShift ausgezeichnete Optionen. iTextSharp und Syncfusion bieten umfangreiche Anpassungsmöglichkeiten und Kontrolle über die Dokumentenstruktur für komplexere Projekte. Für einfachere, quelloffene Lösungen ist PDFsharp eine zuverlässige Wahl zum Ändern von PDF-Dateien oder Erstellen grundlegender PDFs. Für Nicht-Entwickler bieten Smallpdf, PDFescape und PDF Candy einfache, codefreie Optionen zur Bearbeitung von PDF-Dateien.

Für diejenigen, die daran interessiert sind, [IronPDF](trial license) auszuprobieren, ist es eine exzellente Option für Entwickler, um seine HTML-zu-PDF-Konvertierung und PDF-Manipulationsfunktionen vor dem Kauf einer kostenpflichtigen Lizenz zu testen. Die Testversion ermöglicht es Ihnen, seine Premium-Funktionen wie hochwertige PDF-Dateierstellung, Sicherheitsoptionen und das Bearbeiten bestehender PDF-Dokumente zu erkunden, indem Sie praktische Erfahrungen mit den Möglichkeiten des Tools sammeln. Wenn Ihr Projekt häufige HTML-zu-PDF-Konvertierungen oder komplexe PDF-Bearbeitungen erfordert, ist die kostenlose Testversion von IronPDF eine großartige Möglichkeit, zu sehen, ob es Ihre Bedürfnisse erfüllt.

Durch die Bewertung der spezifischen Funktionen jedes Tools und den Umfang Ihres Projekts können Sie die beste Lösung zur effizienten Erstellung von PDF-Dateien in C# wählen.

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 Unterschiede zwischen kostenlosen und kostenpflichtigen C#-PDF-Bibliotheken?

Kostenlose Bibliotheken wie PDFsharp sind hervorragend für die grundlegende Erstellung und Bearbeitung von PDFs geeignet, während kostenpflichtige Bibliotheken wie IronPDF erweiterte Funktionen wie HTML-zu-PDF-Konvertierung, Formularverarbeitung und erweiterte Sicherheit bieten.

Was ist die beste Open-Source-Bibliothek für grundlegende PDF-Aufgaben in C#?

PDFsharp ist eine leichte, quelloffene .NET-PDF-Bibliothek, die ideal für grundlegende Aufgaben zur PDF-Erstellung ist. Sie ist sowohl für kommerzielle als auch nicht-kommerzielle Nutzung kostenlos.

Wie unterstützt iTextSharp die Erstellung sicherer PDF-Dokumente?

iTextSharp bietet umfangreiche Anpassungsmöglichkeiten zur Erstellung sicherer PDF-Dokumente, einschließlich Unterstützung für digitale Signaturen und Verschlüsselung, was es für Branchen, die sichere Dokumentenverwaltung erfordern, geeignet macht.

Kann ich Online-Tools zur HTML-zu-PDF-Konvertierung in C#-Anwendungen verwenden?

Ja, Online-Tools wie PDFShift und DocRaptor bieten API-basierte HTML-zu-PDF-Konvertierungen an, die ideal für Webanwendungen mit dynamischer PDF-Erstellung sind.

Was sind die Vorteile der Verwendung einer Bibliothek mit einer Chromium-basierten Rendering-Engine zur PDF-Erstellung?

Bibliotheken wie IronPDF, die eine Chromium-basierte Rendering-Engine verwenden, bieten qualitativ hochwertige HTML-zu-PDF-Konvertierungen mit Unterstützung für komplexes Styling und JavaScript.

Wie profitieren Unternehmensanwendungen von der Syncfusion-PDF-Bibliothek?

Die Syncfusion-PDF-Bibliothek bietet umfassende Funktionen für Unternehmensanwendungen, darunter Formularverarbeitung, digitale Signaturen und Verschlüsselung, was sie für komplexe professionelle Anforderungen sehr geeignet macht.

Ist IronPDF mit der kommenden .NET 10-Version kompatibel?

Ja – IronPDF unterstützt .NET 10 standardmäßig. Es ist neben den Versionen 9, 8, 7, 6, Core, Standard und Framework als kompatibel mit .NET 10 aufgeführt, und es sind keine speziellen Anpassungen erforderlich. (ironpdf.com)

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me