IRONPDF VERWENDEN

C# PDF-Erstellung: Vergleich von 7 Bibliotheken (Kostenlose & Kostenpflichtige Tools)

Veröffentlicht 16. Dezember 2024
Teilen Sie:

Die PDF-Erzeugungsfunktionalität in C# ist für viele moderne Anwendungen von entscheidender Bedeutung, von der Erstellung von Berichten bis hin zu Abrechnungssystemen. In diesem Artikel werden wir sechs beliebte Methoden zur Generierung erkunden.PDFDateien mit C# bearbeiten, wobei beide codebasierte Bibliotheken hervorgehoben werden, wie z.B.IronPDF, und Online-APIs und Tools. Egal, ob Sie PDF-Dateien dynamisch in einer Webanwendung erzeugen oder einfach PDF-Dateien aus bestehenden Dokumenten erstellen müssen, diese Tools bieten Ihnen alles, was Sie benötigen.

1. IronPDF

Defektes Bild Von Pixabay hinzufügen, aus Ihren Dateien auswählen oder ein Bild hierher ziehen.

IronPDFist eine Premium-.NET-PDF-Bibliothek, die für Entwickler entwickelt wurde, die eine hochwertige HTML-zu-PDF-Dateikonvertierung benötigen. IronPDF verwendet eine auf Chromium basierende Rendering-Engine, um präzise Umwandlungen sicherzustellen, was es zu einer perfekten Wahl für Webanwendungen macht, die HTML-Seiten oder webbasierte Berichte in PDF-Dateien in C# umwandeln möchten. Das Tool ist bekannt für seine robuste Verarbeitung bestehender PDF-Dokumente und bietet Funktionen zum Bearbeiten, Zusammenführen oder Teilen von PDFs.

IronPDF lässt sich problemlos über den NuGet-Paket-Manager in C#-Projekte integrieren, und mit nur wenigen Zeilen Code können Sie mit der Erstellung von PDF-Dokumenten beginnen. Es ist ein vielseitiges Werkzeug sowohl für dynamische HTML-Inhalte als auch für servergenerierte PDF-Dateiausgaben.

Wesentliche Merkmale

  • HTML zu PDF-Konvertierung: IronPDF glänzt bei der Umwandlung komplexer HTML-Seiten, einschließlich der Unterstützung für die Ausführung von JavaScript und modernen CSS, direkt in ein PDF. Es verwendet eine auf Chromium basierende Rendering-Engine, die sicherstellt, dass die Ausgabe identisch mit der Darstellung in einem Webbrowser aussieht.
  • PDF-Bearbeitung: Mit IronPDF können Sie vorhandene PDF-Dokumente ganz einfach zusammenführen, aufteilen und bearbeiten.
  • Erweiterte Styling-Optionen: IronPDF unterstützt externe Stylesheets, benutzerdefinierte Schriftarten und JavaScript, sodass Sie hochgradig gestaltete Dokumente erstellen können. Es ist perfekt 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 des PDFs einzuschränken.
  • Formularbearbeitung: IronPDF ermöglicht es Entwicklern, PDF-Formulare programmgesteuert zu erstellen, auszufüllen und zu lesen, was es zu einer guten Wahl für Anwendungen macht, die Benutzereingaben im PDF-Format benötigen.
  • NuGet-Paket-Manager: Einfach installieren und verwalten über die Paket-Manager-Konsole in Visual Studio.

Code-Beispiel

using IronPdf;
class Program
{
    static void Main()
    {
        string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>";
        ChromePdfRenderer renderer = new ChromePdfRenderer(); // Create an instance of ChromePdfRenderer
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // Render the HTML as a PDF document
        pdf.SaveAs("Generated.pdf"); // Save the PDF to a specified file
    }
}
using IronPdf;
class Program
{
    static void Main()
    {
        string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>";
        ChromePdfRenderer renderer = new ChromePdfRenderer(); // Create an instance of ChromePdfRenderer
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // Render the HTML as a PDF document
        pdf.SaveAs("Generated.pdf"); // Save the PDF to a specified file
    }
}
Imports IronPdf
Friend Class Program
	Shared Sub Main()
		Dim html As String = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>"
		Dim renderer As New ChromePdfRenderer() ' Create an instance of ChromePdfRenderer
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html) ' Render the HTML as a PDF document
		pdf.SaveAs("Generated.pdf") ' Save the PDF to a specified file
	End Sub
End Class
VB   C#
  1. Namespace-Import: using IronPdf; importiert die IronPDF-Bibliothek, um auf deren Klassen und Methoden zuzugreifen.

  2. HTML-String: Die Variable HTML enthält den HTML-Inhalt, den Sie in PDF konvertieren möchten.

  3. Renderer-Instanz: new ChromePdfRenderer();** erstellt eine Instanz der HtmlToPdf-Klasse, die Methoden zum Rendern von HTML-Inhalten in das 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 erzeugte PDF unter dem angegebenen Dateipfad.

Profis

  • Hervorragende Renderqualität für Webinhalte.
  • Robuste Unterstützung für Formulare, Hyperlinks und Lesezeichen.

Nachteile

  • Lizenzgebühren können für größere Projekte ein Faktor sein.
  • Fortgeschrittenere Funktionen können tieferes Lernen erfordern.

2. iTextSharp

C# PDF-Erzeugung: Vergleich von 7 Bibliotheken (Kostenlose & Kostenpflichtige Tools): Abbildung 2

iTextSharp ist eine etablierte .NET-PDF-Bibliothek, die umfangreiche Funktionen zum Erstellen und Bearbeiten von PDF-Dateien bietet. Es wird häufig in Branchen wie Finanzen und Recht eingesetzt, in denen Dokumente angepasst und gesichert werden müssen. iTextSharp ermöglicht es Ihnen, PDF-Dateien von Grund auf zu erstellen, Formulare auszufüllen und PDF-Dateien zu bearbeiten, wobei es umfassende Kontrolle über den Inhalt des Dokuments bietet. Es ist besonders nützlich für Unternehmensanwendungen, die PDF-Dateien mit präzisen Layouts und dynamischen Daten erstellen müssen, wie zum Beispiel Rechnungen oder Verträge.

Wesentliche Merkmale

  • Vollständige PDF-Erstellungsfunktionen: iTextSharp erleichtert die Erstellung einer PDF-Datei in C# von Grund auf und ermöglicht 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 festzulegen.
  • Formularausfüllung: Eine wesentliche Stärke von iTextSharp ist seine Fähigkeit, PDF-Formulare zu bearbeiten.(AcroForms). Sie können Formulare mit verschiedenen Eingabefeldern erstellen und diese später programmatisch ausfüllen, eine Funktion, die in automatisierten Dokumentenerstellungs-Workflows nützlich ist.
  • XML-zu-PDF-Konvertierung: iTextSharp bietet umfassende Unterstützung für die Konvertierung von XML-Daten zu PDF unter Verwendung von XFA(XML-Formulararchitektur). Dies ist besonders wertvoll in Branchen, in denen XML-Daten in Standardformulare oder Berichte formatiert werden müssen.
  • PDF-Sicherheit: iTextSharp enthält erweiterte Funktionen wie das Hinzufügen von Verschlüsselungen, 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 manipulieren, was nützlich für die Nachbearbeitung von Dokumenten oder die Erstellung von Zusammenfassungsberichten aus komplexen PDFs ist.

Code-Beispiel

using System;
using System.Collections.Generic;
using System.Data.Entity.Core.Mapping;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;
using Voodoo;
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();
                    fw.Close();
                }
                return memoryStream.ToArray();
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Data.Entity.Core.Mapping;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;
using Voodoo;
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();
                    fw.Close();
                }
                return memoryStream.ToArray();
            }
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Data.Entity.Core.Mapping
Imports System.IO
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.tool.xml
Imports Voodoo
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)
					pdfDocument.Close()
					fw.Close()
				End Using
				Return memoryStream.ToArray()
			End Using
		End Function
	End Class
End Namespace
VB   C#
  1. GeneratePdfFromFragment: Nimmt ein HTML-Fragment(wie ein HTML-Teildokument) und konvertiert es in eine vollständige HTML-Struktur, indem es in ein grundlegendes

    undVorlage. Dann wird die interne Generierungsmethode aufgerufen.

  2. GeneratePdfFromPage: Akzeptiert eine vollständige HTML-Seite und ruft direkt die Generierungsmethode auf.

    1. generieren: Diese Methode verarbeitet die Umwandlung von HTML zu PDF.

      • Es initialisiert einen MemoryStream, um das generierte PDF im Speicher zu halten.

      • Es erstellt ein iTextSharp-Dokumentobjekt mit Briefgröße Seiten.
    • Der XMLWorkerHelper analysiert den HTML-Inhalt und schreibt ihn mit dem bereitgestellten StringReader in das PDF-Dokument.

    4.

Profis

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

Nachteile

  • iTextSharp(welches für die persönliche Nutzung kostenlos ist, aber für größere Projekte eine kommerzielle Lizenz erfordert)kann möglicherweise Einschränkungen bei der Verarbeitung komplexer CSS oder JavaScript haben.
  • XMLWorker(die hier verwendet wird)ist ein veraltetes Werkzeug von iTextSharp zum Parsen von HTML/CSS. iText7(die neuere Version von iText)verwendet einen robusteren HTML-Parser, pdfHTML, der möglicherweise besseren Support für moderne Webstandards bietet.
  • Steilere Lernkurve für Anfänger.

3. PDFsharp

C# PDF-Erstellung: Vergleich von 7 Bibliotheken (Kostenlose & Kostenpflichtige Tools): Abbildung 3

PDFSharp ist eine leichtgewichtige, quelloffene .NET PDF-Bibliothek, die sich ideal für grundlegende Aufgaben der PDF-Erstellung eignet. Wenn Ihre Anwendung nur einfache Operationen wie das Hinzufügen von Text, Bildern oder Tabellen erfordert, ist PdfSharp eine einfach zu verwendende 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#.

Wesentliche Merkmale

  • Grundlegende PDF-Erstellung: Einfache und benutzerfreundliche API zum Zeichnen von Text und Grafiken. Ideal zum Erstellen unkomplizierter Dokumente.
  • Dokumentenbearbeitung: Bestehende PDFs mühelos zusammenführen und ändern, um Flexibilität im Dokumentenmanagement zu ermöglichen.
  • Zeichen- und Grafikunterstützung: PDFsharp bietet eine Reihe von Werkzeugen zum Zeichnen auf PDF-Seiten, einschließlich Linien, Rechtecken und anderen Vektorgrafiken. Es unterstützt auch das Einbetten von Bildern in Ihre PDFs.
  • Kostenlos und Open-Source: PDFsharp ist komplett kostenlos für kommerzielle und nicht-kommerzielle Nutzung, was es zu einer attraktiven Option für kleine Unternehmen und Entwickler macht, die an Open-Source-Projekten arbeiten.

Code-Beispiel

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
VB   C#
  • PdfDocument: Stellt das gesamte PDF-Dokument dar. Sie können Seiten hinzufügen, Metadaten festlegen und das Dokument bearbeiten.
  • PdfPage: Stellt eine einzelne Seite innerhalb des Dokuments dar. Neue Seiten werden mit der AddPage-Methode hinzugefügt.
  • XGraphics: Dies wird verwendet, um Text, Bilder und Formen auf einer bestimmten Seite zu zeichnen. Es ist ähnlich wie GDI+ in .NET.
  • XFont: Gibt die Schriftart und den Stil für die Textrendering an. In diesem Beispiel wird "Verdana" mit Fettschrift verwendet.
  • DrawString: Zeichnet den angegebenen String an der definierten Position im Dokument.

Profis

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

Nachteile

  • 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# PDF Generierung 7 Bibliotheken Vergleich (Kostenlose & Kostenpflichtige Tools): Abbildung 4

Syncfusion PDF Library ist ein leistungsstarkes, umfassendes Tool, das für Unternehmen entwickelt wurde, die mit PDFs in einer Vielzahl von Anwendungen arbeiten müssen. Es ist Teil der umfassenderen Syncfusion-Suite, die Bibliotheken für eine Vielzahl von Formaten und Plattformen anbietet. Die PDF-Bibliothek zeichnet sich durch ihr umfangreiches Funktionsspektrum aus, das über die einfache Dokumentenerstellung hinausgeht und detaillierte Bearbeitungen ermöglicht, einschließlich Formularausfüllung, digitaler Signaturen und Dokumentensicherheit.

Wesentliche Merkmale

  • Umfassende PDF-API: Syncfusion PDF ist in der Lage, hochgradig angepasste PDFs zu erstellen, einschließlich solcher mit komplexen Layouts, eingebetteten Schriftarten und hochauflösenden Bildern. Es bietet detaillierte Kontrolle über alle Aspekte der PDF-Erstellung, von der Seitenformatierung bis zu fortgeschrittenen Layout-Optionen.
  • Formularverarbeitung: Die Bibliothek ist hervorragend darin, interaktive PDF-Formulare zu erstellen, auszufüllen und Daten daraus zu extrahieren.(AcroForms). Dies ist nützlich zum Erstellen ausfüllbarer PDFs für Benutzereingaben, zum Automatisieren der Dateneingabe oder zum Verarbeiten ausgefüllter Formulare.
  • Digitale Signaturen und Verschlüsselung: Syncfusion bietet robuste Sicherheitsfunktionen, einschließlich der Möglichkeit, PDF-Dokumente zu verschlüsseln, Passwortschutz hinzuzufügen und digitale Signaturen anzuwenden. Diese Funktionen sind entscheidend für Branchen wie das Gesundheitswesen und juristische Dienstleistungen, die Dokumentenauthentizität und Sicherheit erfordern. Codebeispiel
using Syncfusion.Pdf;
using Syncfusion.Pdf.Parsing;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Grid;
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.Parsing;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Grid;
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.Parsing
Imports Syncfusion.Pdf.Graphics
Imports Syncfusion.Pdf.Grid
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
VB   C#
  • PdfDocument: Stellt das PDF-Dokument dar. Sie können Seiten hinzufügen, Eigenschaften festlegen und deren Inhalt manipulieren.
  • PdfPage: Repräsentiert eine Seite innerhalb des PDF-Dokuments.
  • PdfFont: Definiert die Schriftart für das Rendern von Text. In diesem Fall wird eine Standard-Helvetica-Schriftart verwendet.
  • DrawString: Zeichnet den angegebenen String an den gegebenen Koordinaten auf die PDF-Seite.

Profis

  • Reichhaltiger Funktionsumfang, geeignet für die Erstellung komplexer PDFs.
  • Professioneller Support und Dokumentation machen es ideal für groß angelegte Anwendungen.
  • Unterstützt erweiterte PDF-Funktionen wie das Ausfüllen von Formularen, Verschlüsselung und Anmerkungen.

Nachteile

  • Lizenzgebühren sind für kommerzielle Nutzung relativ hoch.
  • Komplexe API, die möglicherweise Zeit benötigt, um sie zu beherrschen.

5. PDFShift(Online-Tool)

C# PDF Generieren 7 Bibliotheken Vergleich (Kostenlose & Kostenpflichtige Werkzeuge): Abbildung 5

PDFShift ist ein Cloud-basierter Dienst, der darauf ausgelegt ist, HTML in PDF-Dateien zu konvertieren. Es integriert sich nahtlos in C#-Anwendungen über seine API, wodurch Sie dynamisch generierte HTML-Webseiten in professionelle PDF-Dokumente umwandeln können. PDFShift ist besonders nützlich für Webentwickler, die PDF-Dokumente bei Bedarf aus HTML-Inhalten wie Rechnungen oder Berichten generieren möchten. Da PDFShift vollständig über seine REST-API arbeitet, können Sie nur ein paar Zeilen HTML an den Dienst senden und im Gegenzug eine herunterladbare PDF-Datei erhalten. Es ist eine einfache, skalierbare Lösung zur Erstellung von PDF-Dateien über das Web.

Wesentliche Merkmale

  • HTML-zu-PDF-Konvertierung: PDFShift ist hervorragend darin, HTML-Dokumente in hochwertige PDFs umzuwandeln. 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 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: PDFShift ermöglicht die Anpassung des generierten PDFs, einschließlich Einstellung der Seitengröße, Ausrichtung, Ränder und Kopf-/Fußzeilen. Sie können auch dynamische Inhalte wie Seitennummern oder Dokument-Metadaten zu den Kopf- und Fußzeilen hinzufügen.

Wie es funktioniert

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

Beispiel Code

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
VB   C#
  • 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.

Profis

  • Einfache API mit minimaler Einrichtung.
  • Ideal für Webanwendungen, die eine dynamische Umwandlung von HTML in PDF erfordern.
  • Kein Bedarf, PDF-Bibliotheken oder Server zu verwalten.

Nachteile

  • Beschränkt auf die Konvertierung von HTML in PDF; unterstützt keine komplexeren PDF-Funktionen.
  • Erfordert eine Internetverbindung und verursacht Kosten nach Überschreiten eines bestimmten Nutzungslimits.

6. DocRaptor(Online-Tool)

C# PDF-Erstellung 7 Bibliotheken Vergleich (Kostenlose & Kostenpflichtige Tools): Abbildung 6

DocRaptor ist ein weiterer leistungsstarker API-basierter PDF-Erstellungsdienst, der HTML und CSS in hochwertige PDFs umwandelt. Es ist bekannt für seine hervorragende Darstellung von HTML-Dokumenten, insbesondere bei der Handhabung komplexer CSS-Stile, Medienabfragen und Webfonts. Dies macht DocRaptor zu einer ausgezeichneten Wahl für die Erstellung von professionell aussehenden Dokumenten wie Berichten, Rechnungen und eBooks direkt aus HTML-Vorlagen.

Wesentliche 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 nahtlose Integration in Webanwendungen.
  • Benutzerdefinierte Kopf-/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, Kopf- und Fußzeilen an.
  • Erhalten Sie die generierte PDF-Datei als Antwort.

Beispiel Code

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
VB   C#
  • API-Schlüssel: Sie müssen einen API-Schlüssel zur Authentifizierung bereitstellen, wenn Sie DocRaptor verwenden. Ersetzen Sie "YOUR_API_KEY" durch Ihren tatsächlichen Schlüssel.
  • JsonData: Dieser JSON-String enthält den HTML-Inhalt, den Dokumentnamen und den Typ(PDF in diesem Fall).
  • PostAsync: Sendet den HTML-Inhalt und die Parameter an die DocRaptor API zur PDF-Erstellung.

Profis

  • Hochwertiges Rendering mit voller Unterstützung für HTML, CSS und JavaScript.
  • Erweiterte Anpassungsoptionen für Dokumentlayout und Sicherheit.
  • Keine Notwendigkeit, PDF-Generierungsbibliotheken oder -infrastruktur zu pflegen.

Nachteile

  • Kostenpflichtiger Service nach Überschreitung des kostenlosen Nutzungslimits.
  • Abhängig von der Internetverbindung.

7. Code-freie Online-Tools

Wenn Sie keinen Code schreiben möchten oder eine schnelle Lösung zur Erstellung von PDFs benötigen, bieten mehrere Online-Tools die Möglichkeit, PDFs schnell und einfach zu erstellen. Hier sind einige bemerkenswerte Optionen:

7.1. Smallpdf

C# PDF-Erstellung 7 Bibliotheken Vergleich (Kostenlose & Kostenpflichtige Tools): Abbildung 7

Smallpdf ist eine Online-Plattform, die eine Vielzahl von PDF-bezogenen Werkzeugen anbietet, einschließlich der Möglichkeit, PDFs aus einer breiten Palette von Dateiformaten zu erstellen. Es ist für Benutzer konzipiert, die eine einfache Drag-and-Drop-Oberfläche nutzen möchten, ohne Code schreiben zu müssen. Smallpdf wird häufig für schnelle Dateikonvertierungen verwendet, wie zum Beispiel das Umwandeln von Word-Dokumenten, Excel-Tabellen oder Bildern in PDFs. Es bietet auch Werkzeuge zum Zusammenführen, Komprimieren und Aufteilen von PDFs, was es zu einem vielseitigen Werkzeug für grundlegende PDF-Aufgaben macht.

Wesentliche Merkmale

  • Dateikonvertierung: Smallpdf 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 verschiedenen Dokumenttypen erstellen müssen.
  • Zusammenführen und Aufteilen von PDFs: Smallpdf bietet eine einfache Oberfläche zum Zusammenführen mehrerer PDFs zu einer einzigen Datei oder zum Aufteilen eines PDF in einzelne Seiten.
  • Cloud-Speicher-Integration: Sie können Dateien einfach von Google Drive oder Dropbox hochladen und die konvertierten PDFs wieder auf diesen Plattformen speichern, um die Dateiverwaltung zu optimieren.
  • PDF-Bearbeitungswerkzeuge: Neben der Konvertierung bietet Smallpdf grundlegende PDF-Bearbeitungswerkzeuge, um bestehende PDF-Dokumente zu bearbeiten, wie das Hinzufügen von Anmerkungen, das Ausfüllen von Formularen und das digitale Signieren von Dokumenten.

Profis

  • Sehr einfach zu verwenden für Nicht-Entwickler.
  • Kostenlos für die grundlegende Nutzung mit Upgrade-Optionen für weitere Funktionen.
  • Bietet eine breite Palette von PDF-bezogenen Werkzeugen wie das Zusammenführen, Aufteilen und Komprimieren von PDFs an.

Nachteile

  • Begrenzte Anpassungsmöglichkeiten im Vergleich zu codebasierten Lösungen.
  • Die kostenlose Stufe kann einige Funktionsbeschränkungen haben.

7.2. PDFescape

C# PDF-Erstellung: Vergleich von 7 Bibliotheken (Kostenlose & Kostenpflichtige Tools): Abbildung 8

PDFescape ist ein benutzerfreundlicher webbasierter PDF-Editor, der es den Benutzern ermöglicht, PDFs zu erstellen, zu bearbeiten und anzusehen, ohne Software installieren zu müssen. Es ist ein großartiges Werkzeug für diejenigen, die schnelle Bearbeitungen an PDFs vornehmen müssen, wie das Ausfüllen von Formularen, Hinzufügen von Textanmerkungen oder Einfügen von Bildern. PDFescape bietet auch Werkzeuge zur Erstellung neuer PDFs von Grund auf, was es zu einer flexiblen Wahl für die grundlegende Dokumentenerstellung macht.

Wesentliche Merkmale

  • Formularausfüllung und -bearbeitung: PDFescape zeichnet sich im Umgang mit PDF-Formularen aus. Benutzer können Formulare problemlos ausfüllen oder vorhandene Felder in PDF-Dokumenten bearbeiten, was nützlich für Verträge, Anträge und andere Formulare ist.
  • Grundlegende PDF-Erstellung: Für Benutzer, die PDFs von Grund auf neu erstellen möchten, bietet PDFescape Werkzeuge zum Hinzufügen von Text, Formen, Bildern und Formularfeldern. Dies ist nützlich für die Erstellung einfacher Dokumente wie Briefe oder Formulare.
  • Kommentare und Anmerkungen: Sie können Kommentare, Haftnotizen und andere Anmerkungen zu vorhandenen PDFs hinzufügen, was PDFescape zu einem hervorragenden Werkzeug für die Dokumentenprüfung und -zusammenarbeit macht.
  • Keine Installation erforderlich: Als webbasiertes Tool funktioniert PDFescape vollständig in Ihrem Browser, sodass keine Softwareinstallation erforderlich ist. Dies macht es ideal für Benutzer, die schnellen Zugriff auf PDF-Tools unterwegs benötigen.

Profis

  • Einfach zu verwenden für nicht-technische Benutzer.
  • Kostenlose Stufe für grundlegende PDF-Erstellung und -Bearbeitung.
  • Geeignet für kleinere PDF-Bearbeitungsaufgaben.

Nachteile

  • Fehlt erweiterte Funktionen für die komplexe PDF-Erstellung.
  • Begrenzte Gestaltungs- und Formatierungsoptionen.

7.3. PDF Candy

C# PDF-Erstellung: Vergleich von 7 Bibliotheken (Kostenlose & Kostenpflichtige Tools): Abbildung 9

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

Wesentliche Merkmale

  • Umfangreiche Konvertierungsoptionen: PDF Candy kann mehrere Dateiformate, einschließlich Word-Dokumente, Bilder und Textdateien, in PDFs konvertieren. Dies macht es zu einem flexiblen Werkzeug für den Umgang mit verschiedenen Arten von Inhalten.
  • Zusammenführen und Aufteilen von PDFs: Die Plattform ermöglicht es den Benutzern, mehrere PDFs zu einem zusammenzuführen oder große PDFs in kleinere, handlichere Dateien aufzuteilen.
  • Dateischutz: PDF Candy löscht Dateien automatisch nach kurzer Zeit von seinen Servern, um sicherzustellen, dass Ihre Dokumente privat bleiben.
  • Kostenlos zu nutzen: Die meisten Tools auf PDF Candy sind ohne Registrierung kostenlos nutzbar, was sie einem breiten Publikum zugänglich macht. Es bietet jedoch auch eine Premium-Version mit fortgeschrittenen Funktionen für diejenigen an, die häufiger Gebrauch machen oder größere Dateikonvertierungen benötigen.

Profis

  • Einfach zu bedienen und für die meisten Nutzer völlig kostenlos.
  • Unterstützt eine Vielzahl von Dateitypen zur Konvertierung in PDF.
  • Keine Kontoanmeldung für die Grundnutzung erforderlich.

Nachteile

  • Eingeschränkte erweiterte PDF-Anpassungsfunktionen.
  • Einige Tools können Einschränkungen hinsichtlich Dateigröße oder Konvertierungskomplexität haben.

Schlussfolgerung

C# PDF generieren: Vergleich von 7 Bibliotheken (Kostenlose & Kostenpflichtige Tools): Abbildung 10

Die Wahl des richtigen Werkzeugs zur Generierung 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 Wahlmöglichkeiten. iTextSharp und Syncfusion bieten umfangreiche Anpassungsoptionen 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 zum Erstellen einfacher PDFs. Schließlich bieten Smallpdf, PDFescape und PDF Candy für Nicht-Entwickler einfache, codefreie Optionen zum Arbeiten mit PDF-Dateien.

Für diejenigen, die es ausprobieren möchtenIronPDF, was es zu einer ausgezeichneten Option für Entwickler macht, um die HTML-zu-PDF-Konvertierung und die PDF-Manipulationsfunktionen auszuprobieren, bevor sie sich für eine kostenpflichtige Lizenz entscheiden. Die Testversion ermöglicht es Ihnen, die Premiumfunktionen zu erkunden, wie zum Beispiel die Erstellung von hochwertigen PDF-Dateien, Sicherheitsoptionen und das Modifizieren bestehender PDF-Dokumente, und bietet Ihnen ein praktisches Erlebnis mit den Fähigkeiten des Tools. 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, um zu sehen, ob es Ihren Anforderungen entspricht.

Indem Sie die spezifischen Merkmale jedes Tools und den Umfang Ihres Projekts bewerten, können Sie die beste Lösung für die effiziente Generierung von PDF-Dateien in C# auswählen.

NÄCHSTES >
html2pdf-Seitenumbruch in C# behoben (Entwickler-Tutorial)

Sind Sie bereit, loszulegen? Version: 2024.12 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,810,873 Lizenzen anzeigen >