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 glänzt bei der Konvertierung komplexer HTML-Seiten und unterstützt sogar die Ausführung von JavaScript und moderne CSS, direkt in ein PDF. Es verwendet ein Chromium-basiertes Rendering, das sicherstellt, dass das Ergebnis identisch aussieht wie in einem Webbrowser.
  • PDF-Manipulation: IronPDF ermöglicht es Ihnen, bestehende PDF-Dokumente einfach zusammenzuführen, zu teilen und zu ändern.
  • Erweiterte Stiloptionen: IronPDF unterstützt externe Stylesheets, benutzerdefinierte Schriftarten und JavaScript, sodass Sie hochstilisierte Dokumente erstellen können. Es ist ideal für Rechnungen, Berichte und webbasierte Inhalte.
  • Sicherheitsfunktionen: IronPDF bietet Funktionen zur Hinzufügung von Passwortschutz, digitalen Signaturen und zur Festlegung von Berechtigungen, um Aktionen wie Drucken, Kopieren oder Bearbeiten der PDF-Datei zu beschränken.
  • Formularhandhabung: IronPDF erlaubt es Entwicklern, programmatisch PDF-Formulare zu erstellen, auszufüllen und zu lesen, was es für Anwendungen, die Benutzereingaben im PDF-Format benötigen, geeignet macht.
  • NuGet Paket-Manager: Einfaches Installieren und Verwalten über die Konsolen des Paket-Managers 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"); 
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		Dim html As String = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>"

		' Create an instance of ChromePdfRenderer
		Dim renderer As New ChromePdfRenderer()

		' Render the HTML as a PDF document
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

		' Save the PDF to a specified file
		pdf.SaveAs("Generated.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel
  1. Namespace-Import: using IronPdf; importiert die IronPDF-Bibliothek, um auf ihre Klassen und Methoden zuzugreifen.
  2. HTML-String: Die Variable 'html' enthält den HTML-Inhalt, den Sie in PDF umwandeln möchten.
  3. Renderer-Instanz: new ChromePdfRenderer(); erstellt eine Instanz der ChromePdfRenderer-Klasse, die Methoden zum Rendern von HTML-Inhalten in PDF-Format bereitstellt.
  4. PDF-Rendern: PdfDocument pdf = renderer.RenderHtmlAsPdf(html); konvertiert den HTML-String in ein PDF-Dokument.
  5. PDF speichern: pdf.SaveAs("Generated.pdf"); speichert das erstellte PDF 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# Erstellen von PDF 7 Bibliotheken Vergleich (Kostenlose & Bezahlte 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

  • Vollständige PDF-Entwicklungsmöglichkeiten: iTextSharp macht es einfach, eine PDF-Datei in C# von Grund auf zu erstellen und erlaubt es Entwicklern, Text, Bilder, Tabellen und Vektorgrafiken hinzuzufü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 bedeutende Stärke von iTextSharp ist seine Fähigkeit, mit PDF-Formularen (AcroForms) umzugehen. 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 robuste Unterstützung für die Konvertierung von XML-Daten zu PDF unter Verwendung von 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 beinhaltet erweiterte Funktionen wie das Hinzufügen von Verschlüsselung, digitalen Signaturen und Wasserzeichen, um die Dokumentenauthentizität sicherzustellen und sensible Daten zu schützen.
  • Textextraktion und -manipulation: Sie können Text aus bestehenden PDFs extrahieren, Dokumenteninhalte neu ordnen oder Seiteninhalte manipulieren, was es nützlich für die Nachbearbeitung von Dokumenten oder die Erstellung von Übersichtsberichten aus komplexen PDFs macht.

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();
            }
        }
    }
}
Imports System
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.tool.xml

Namespace Helpers
	Public Class PdfGenerator
		Public Shared Function GeneratePdfFromFragment(ByVal htmlFragment As String) As Byte()
			Dim 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)
		End Function

		Public Shared Function GeneratePdfFromPage(ByVal htmlPage As String) As Byte()
			Return Generate(htmlPage)
		End Function

		Private Shared Function Generate(ByVal html As String) As Byte()
			Using memoryStream As New MemoryStream()
				Dim pdfDocument = New Document(PageSize.LETTER)
				Dim pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream)
				pdfDocument.Open()
				Using fw = New StringReader(html)
					XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw)
				End Using
				pdfDocument.Close()
				Return memoryStream.ToArray()
			End Using
		End Function
	End Class
End Namespace
$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 in eine grundlegende <html> und <body>-Vorlage eingebettet wird. Es ruft dann die interne Generate-Methode auf.
  2. GeneratePdfFromPage: Akzeptiert eine vollständige HTML-Seite und ruft direkt die Generate-Methode auf.
  3. Generate: Diese Methode übernimmt die Konvertierung von HTML zu 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# Erstellen von PDF 7 Bibliotheken Vergleich (Kostenlose & Bezahlte 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: Einfaches und benutzerfreundliches API zum Zeichnen von Text und Grafiken. Ideal zur Erstellung unkomplizierter Dokumente.
  • Dokumentenmanipulation: Einfaches Zusammenführen und Ändern bestehender PDFs, was Flexibilität im Dokumentenmanagement bietet.
  • Zeichen- und Grafikunterstützung: PDFsharp bietet ein Set von Tools zum Zeichnen auf PDF-Seiten, einschließlich Linien, Rechtecke und andere Vektorgrafiken. Es unterstützt auch das Einbetten von Bildern in Ihre PDFs.
  • Kostenlos und Open-Source: PDFsharp ist vollständig kostenlos für kommerzielle und nichtkommerzielle Nutzung, was es zu einer attraktiven Option für kleine Unternehmen und Entwickler von Open-Source-Projekten macht.

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");
    }
}
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing

Friend Class Program
	Shared Sub Main()
		' Create a new PDF document
		Dim document As New PdfDocument()
		document.Info.Title = "Created with PdfSharp"

		' Add a page to the document
		Dim page As PdfPage = document.AddPage()

		' Create an XGraphics object to draw on the page
		Dim gfx As XGraphics = XGraphics.FromPdfPage(page)

		' Set a font to use for drawing text
		Dim font As 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")
	End Sub
End Class
$vbLabelText   $csharpLabel
  • PdfDocument: Repräsentiert das gesamte PDF-Dokument. Sie können Seiten hinzufügen, Metadaten festlegen und das Dokument manipulieren.
  • PdfPage: Repräsentiert eine einzelne Seite innerhalb des Dokuments. 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: Bestimmt Schriftart und Stil für die Textdarstellung. In diesem Beispiel wird "Verdana" mit Fettschrift verwendet.
  • DrawString: Zeichnet die angegebene Zeichenkette an der definierten Position im Dokument.

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# Erstellen von PDF 7 Bibliotheken Vergleich (Kostenlose & Bezahlte 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: In der Lage, hochgradig angepasste PDFs zu erstellen, 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 glänzt bei der Erstellung, Ausfüllung und Extraktion 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, einschließlich der 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);
    }
}
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Graphics

Friend Class Program
	Shared Sub Main()
		' Create a new PDF document.
		Dim document As New PdfDocument()

		' Add a page to the document.
		Dim page As PdfPage = document.Pages.Add()

		' Create PDF graphics for the page.
		Dim graphics As PdfGraphics = page.Graphics

		' Set the standard font.
		Dim font As PdfFont = 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)
	End Sub
End Class
$vbLabelText   $csharpLabel
  • PdfDocument: Repräsentiert das PDF-Dokument. Sie können Seiten hinzufügen, Eigenschaften festlegen und den Inhalt manipulieren.
  • PdfPage: Repräsentiert eine Seite innerhalb des PDF-Dokuments.
  • PdfFont: Definiert die Schriftart für die Textwiedergabe. In diesem Fall wird eine Standard-Helvetica-Schrift verwendet.
  • DrawString: Zeichnet die angegebene Zeichenkette auf die PDF-Seite an den gegebenen Koordinaten.

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# Erstellen von PDF 7 Bibliotheken Vergleich (Kostenlose & Bezahlte 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 glänzt bei der Konvertierung von HTML-Dokumenten in hochwertige PDFs. 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 eine 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: Bietet die Möglichkeit zur Anpassung des erzeugten PDFs, einschließlich der Einstellung 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);
        }
    }
}
Imports System.Net.Http
Imports System.Text
Imports System.Threading.Tasks

Friend Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		Using client As New HttpClient()
			Dim htmlContent As String = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>"
			Dim content = New StringContent(htmlContent, Encoding.UTF8, "application/json")

			Dim response As HttpResponseMessage = Await client.PostAsync("https://api.pdfshift.io/v3/convert", content)

			Dim pdfBytes() As Byte = Await response.Content.ReadAsByteArrayAsync()
			System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes)
		End Using
	End Function
End Class
$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# Erstellen von PDF 7 Bibliotheken Vergleich (Kostenlose & Bezahlte 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 eine nahtlose Integration in Webanwendungen.
  • Anpassbare Kopf-/Fußzeilen: Dynamische Kopf- und Fußzeilen hinzufügen, einschließlich Seitenzahlen und benutzerdefinierter Formatierungen.
  • 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);
        }
    }
}
Imports System.Net.Http
Imports System.Text
Imports System.Threading.Tasks

Friend Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		Using client As New HttpClient()
			Dim apiKey As String = "YOUR_API_KEY"
			Dim htmlContent As String = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>"
			Dim jsonData As String = $"{{""test"": true, ""document_content"": ""{htmlContent}"", ""name"": ""Generated.pdf"", ""document_type"": ""pdf""}}"
			Dim content = New StringContent(jsonData, Encoding.UTF8, "application/json")

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

			Dim pdfBytes() As Byte = Await response.Content.ReadAsByteArrayAsync()
			System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes)
		End Using
	End Function
End Class
$vbLabelText   $csharpLabel
  • API-Schlüssel: Sie müssen einen API-Schlüssel zur Authentifizierung bei der Verwendung von DocRaptor bereitstellen. Ersetzen Sie "YOUR_API_KEY" durch Ihren tatsächlichen Schlüssel.
  • JsonData: Diese JSON-Zeichenkette 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-Erzeugung.

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# Erstellen von PDF 7 Bibliotheken Vergleich (Kostenlose & Bezahlte 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 Teilen von PDFs: Bietet eine einfache Oberfläche zum Zusammenfügen mehrerer PDFs in eine einzelne Datei oder zum Aufteilen eines PDFs in einzelne Seiten.
  • Cloud-Storage-Integration: Sie können Dateien einfach von Google Drive oder Dropbox hochladen und die konvertierten PDFs wieder auf diesen Plattformen speichern, wodurch das Dateimanagement vereinfacht wird.
  • PDF-Bearbeitungstools: Bietet grundlegende PDF-Bearbeitungstools, um vorhandene PDF-Dokumente zu bearbeiten, z.B. Kommentare hinzufügen, Formulare ausfüllen und Dokumente digital unterschreiben.

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# Erstellen von PDF 7 Bibliotheken Vergleich (Kostenlose & Bezahlte 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

  • Formularausfüllung und Bearbeitung: Hervorragend beim 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: Kommentare, Notizen und andere Anmerkungen zu bestehenden PDFs hinzufügen, was PDFescape zu einem großartigen Tool für die Dokumentenprüfung und -zusammenarbeit macht.
  • Keine Installation erforderlich: Funktioniert vollständig im Browser, so dass keine Software installiert werden muss. 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# Erstellen von PDF 7 Bibliotheken Vergleich (Kostenlose & Bezahlte 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

  • Breite Palette an Konvertierungsoptionen: Kann mehrere Dateiformate, einschließlich Word-Dokumente, Bilder und Textdateien, in PDFs umwandeln. Dies macht es zu einem flexiblen Tool zur Handhabung verschiedener Inhaltstypen.
  • Zusammenführen und Teilen von PDFs: Ermöglicht es Benutzern, mehrere PDFs zu einem zu kombinieren oder große PDFs in kleinere, handlichere Dateien zu teilen.
  • Dateischutz: Löscht Dateien automatisch nach kurzer Zeit von seinen Servern, um sicherzustellen, dass Ihre Dokumente privat bleiben.
  • Kostenlos zu verwenden: Die meisten Tools sind ohne Registrierung kostenlos nutzbar, was es für ein breites Publikum zugänglich macht. 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# Erstellen von PDF 7 Bibliotheken Vergleich (Kostenlose & Bezahlte 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