Zum Fußzeileninhalt springen
PRODUKTVERGLEICHE
Wie erzeugt man PDF in C# (.NET 5) mit PDFsharp

Wie erzeugt man PDF in C# (.NET 5) mit PDFSharp

Das Video ist eine Anleitung zur Verwendung der PDFsharp-Bibliothek zur Generierung einer PDF-Datei mit C#-Code. Der Sprecher beginnt damit, PDFsharp als eine knifflige, aber effektive Bibliothek zur Erstellung von PDF-Dateien vorzustellen. Die Bibliothek verfügt über erweiterte Funktionen und im Gegensatz zu vielen ihrer Konkurrenten ist sie völlig kostenlos. Der Sprecher betont, dass trotz ihrer Komplexität PDFsharp eine ausgezeichnete Wahl zur Erstellung von PDF-Dateien mit C# ist.

Um das Tutorial zu beginnen, präsentiert der Sprecher ein Beispiel für eine erstellte PDF-Datei, die aus drei Textzeilen besteht. Die erste Textzeile ist nicht genau die erste, während die dritte Textzeile in der unteren rechten Ecke erscheint. Der Sprecher merkt an, dass die Reihenfolge des Textes Sinn ergibt, sobald man den Code durchgegangen ist. Sie erklären auch, dass sie .NET 5 verwenden werden, um zu demonstrieren, wie PDFsharp funktioniert. Für einen umfassenderen Einblick in die Erstellung von PDFs von Grund auf in C# bietetIronPDFeinen optimierten alternativen Ansatz.

Hier ein kurzer Überblick über die Unterschiede zwischen PDFsharp undIronPDFhinsichtlich der für .NET PDF-Projekte relevantesten Funktionen:

Merkmal IronPDF PDFSharp
HTML-zu-PDF-Konvertierung Yes NEIN
Digitale Signaturen Yes NEIN
Verschlüsselung Yes NEIN
HTML, CSS und JavaScript Yes NEIN
Professional Unterstützung Yes NEIN
Lizenzierung Kommerziell MIT (Offene Quelle)

Detaillierte Erläuterungen und Codebeispiele zu jedem dieser Unterschiede folgen in den nachstehenden Abschnitten. Teams, die beide Bibliotheken vergleichen möchten, können die Fähigkeiten vonIronPDFmit einer kostenlosen 30-Tage-Testlizenz testen.

Installation und Einrichtung

Bevor der Code aufgegriffen wird, hebt der Sprecher hervor, dass die Einrichtung der Umgebung für PDFsharp ziemlich herausfordernd sein kann. Sie erklären, dass drei NuGet-Pakete installiert werden müssen, bevor mit PDFsharp NuGet Package Details gearbeitet werden kann. Das erste Paket ist PDFsharp selbst, das möglicherweise eine Warnung generiert, dass es aufgrund seiner älteren Version möglicherweise nicht mit .NET übereinstimmt. Die beiden anderen Pakete sind System.Drawing.Common und System.Text.Encoding.CodePages.

PDF-Erzeugung in C# (.NET 5) mit PDFsharp: Abbildung 1

Der Sprecher betont, dass alle drei Pakete installiert werden müssen, bevor mit PDFsharp gearbeitet wird; andernfalls wird der Code einen Fehler werfen. Sie erklären, dass das System.Text.Encoding.CodePages-Paket besonders wichtig ist, da es die für die Erzeugung von PDF-Dateien erforderliche Kodierungsunterstützung bietet. Der Sprecher merkt auch an, dass die fehlerhafte Installation der Pakete schwierig zu beheben sein könnte. Teams, die diese Mehrpaketkonfiguration komplett vermeiden möchten, können dem PDFsharp-zu-IronPDFMigrationsleitfaden für einen schrittweisen Übergang folgen.

Installation verwandter Bibliotheken

DamitPDFSharprichtig funktioniert, erklärt der Sprecher, dass ein Provider für System.Text.Encoding registriert sein muss. Der Anbieter stammt aus dem System.Text.Encoding.CodePages-Paket, und der Sprecher betont, wie wichtig es ist, das Paket zu registrieren, um sicherzustellen, dass PDFsharp korrekt funktioniert. Sie erklären, dass das Versäumnis, den Anbieter zu registrieren, zu einem Fehler führen wird, der schwer zu beheben sein kann.

Erstellen einer PDF-Datei

Als Nächstes stellt der Referent eine einfache Konsolenanwendung vor, die PDFsharp zur Generierung einer PDF-Datei verwendet. Er erklärt, dass vor der Verwendung der Bibliothek die using Anweisungen für PDFsharp Drawing und PDFsharp PDF deklariert werden müssen. Der Sprecher präsentiert dann den Code zur Generierung der PDF-Datei, der das Erstellen eines neuen Dokuments, das Hinzufügen einer neuen Seite und das Zeichnen des Textes auf der Seite umfasst.

using PdfSharp.Drawing;
using PdfSharp.Pdf;

namespace PdfSharpExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            PdfDocument document = new PdfDocument();
            // Add a new page
            PdfPage page = document.AddPage();
            // Prepare to draw on the page
            XGraphics gfx = XGraphics.FromPdfPage(page);
            // Define a font
            XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

            // Draw a string to the page
            gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
                new XRect(0, 0, page.Width, page.Height),
                XStringFormats.Center);

            // Save the document
            const string filename = "HelloWorld.pdf";
            document.Save(filename);  
        }
    }
}
using PdfSharp.Drawing;
using PdfSharp.Pdf;

namespace PdfSharpExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            PdfDocument document = new PdfDocument();
            // Add a new page
            PdfPage page = document.AddPage();
            // Prepare to draw on the page
            XGraphics gfx = XGraphics.FromPdfPage(page);
            // Define a font
            XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

            // Draw a string to the page
            gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
                new XRect(0, 0, page.Width, page.Height),
                XStringFormats.Center);

            // Save the document
            const string filename = "HelloWorld.pdf";
            document.Save(filename);  
        }
    }
}
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf

Namespace PdfSharpExample
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create a new PDF document
			Dim document As New PdfDocument()
			' Add a new page
			Dim page As PdfPage = document.AddPage()
			' Prepare to draw on the page
			Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
			' Define a font
			Dim font As New XFont("Verdana", 20, XFontStyle.Bold)

			' Draw a string to the page
			gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)

			' Save the document
			Const filename As String = "HelloWorld.pdf"
			document.Save(filename)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Der Sprecher weist darauf hin, dass der Code zur Generierung der PDF-Datei angepasst werden kann, um komplexere Funktionen einzubeziehen, wie z. B. das Hinzufügen von Bildern (siehe Anleitung zum Konvertieren von Bildern in PDF mit IronPDF), Tabellen und Diagrammen. Sie erklären auch, dass PDFsharp verschiedene Funktionen zum Arbeiten mit Schriften bietet, einschließlich des Einbettens von Schriften in die PDF-Datei.

PDF-Erzeugung in C# (.NET 5) mit PDFsharp: Abbildung 2

Der Sprecher erklärt, wie wichtig es ist, die Umgebung korrekt einzurichten, indem er die notwendigen NuGet-Pakete installiert und einen Provider für System.Text.Encoding registriert. Sie präsentieren auch eine einfache Konsolenanwendung, die PDFsharp zur Generierung einer PDF-Datei verwendet, und zeigen, wie der Code angepasst werden kann, um komplexere Funktionen zu umfassen. Das Video ist eine hervorragende Ressource für alle, die sich für die Generierung von PDF-Dateien mit C# und PDFsharp interessieren.

Erstellen von Listen und komplexeren Elementen

Im zweiten Teil des Videos beginnt der Sprecher mit der Einführung eines komplexeren Beispiels zur Erstellung eines PDF-Dokuments. Er betont, dass es sinnlos ist, ein leeres PDF-Dokument zu haben, und fährt fort, zu erklären, wie eine neue Seite mit der PDFSharp-Bibliothek erstellt wird. Er merkt an, dass der Prozess dem Erstellen von Dingen in Excel- oder PowerPoint-Add-Ins ähnelt und dass, sobald die Seite erstellt ist, sie mit einer Referenz funktioniert, die keine andere Methodenaufruf erfordert.

PDF-Erzeugung in C# (.NET 5) mit PDFsharp: Abbildung 3

Anschließend stellt der Referent die Variable XGraphics vor, die Methoden zum Zeichnen von Text, Linien und Bildern bietet - eine Funktionalität, dieIronPDFüber seine Text- und Bildstempel-API abwickelt, ohne dass manuelle Koordinatenberechnungen erforderlich sind. Die Variable XFont wird ebenfalls eingeführt, um eine Schriftart für die Verwendung im PDF-Dokument einzurichten. Der Sprecher merkt an, dass die Schriftart an einem anderen Ort generiert werden kann, es aber nützlich ist, sie global einzurichten, wenn es eine komplexere Anordnung gibt.

Als Nächstes geht der Referent auf die DrawString-Methode ein, mit der Text in die PDF-Datei geschrieben wird. Er merkt an, dass der komplexe Teil der Methode darin besteht, zu bestimmen, wo der Text gezeichnet werden soll, und erklärt die verschiedenen Parameter, die dabei eine Rolle spielen, wie z. B. die Schriftart, die Farbe und die Grenzen, an denen sich der Text ausrichten könnte. Er erklärt auch die Verwendung der Variablen XBrushes, um die Farbe des Textes festzulegen.

Erklärung von DrawString und anderen Methoden

Anschließend stellt der Referent mehrere Beispiele für die Verwendung der DrawString-Methode mit verschiedenen Parametern vor, wie z. B. die Ausrichtung des Textes in der Mitte, die Ausrichtung unten links und die Angabe der genauen Koordinaten, an denen der Text platziert werden soll. Er merkt an, dass die letzte Option die am meisten anpassbare ist und ein hohes Maß an Flexibilität bietet.

PDF-Erzeugung in C# (.NET 5) mit PDFsharp: Abbildung 4

Der Sprecher erklärt, wie man eine Tabelle mit Grafiken in der C# Programmiersprache erstellt. Sie behandeln das Einfügen von Bildern, Texten und Linien sowie das Zeichnen von Bögen und Barcodes mithilfe der Grafikfunktion – Aufgaben, dieIronPDFdurch seine Rendering-Optionen für Ränder, Kopfzeilen und DPI vereinfacht. Sie erklären auch die Bedeutung von Versuch und Irrtum beim Arbeiten mit Koordinaten und wie man Linien zeichnet, um Zeilen zu trennen.

Der Sprecher bespricht auch den Tabellenkopf und die Notwendigkeit eines Ausgangspunkts für Werte und die Linie. Sie erklären, wie man die y-Position anpasst und Zeilen von Datensätzen hinzufügt und wie man zu einer anderen Seite wechselt, wenn die Tabelle eine bestimmte Anzahl von Datensätzen überschreitet. Schließlich erwähnen sie die Bedeutung der Rücksetzung von Werten für jede Seite.

Welche Bibliothek sollten Sie wählen?

Abschließend betont der Sprecher die Wichtigkeit, mit Microsoft Office-Add-Ins vertraut zu sein, wenn man mitPDFSharparbeitet und bietet seinen eigenen Kurs zu diesem Thema an. Er merkt auch an, dass die Bibliothek hoch vielseitig ist und zur Erstellung einer breiten Palette von PDF-Dokumenten verwendet werden kann, von einfachen Textdokumenten bis hin zu komplexeren mit Bildern, Grafiken und benutzerdefinierten Layouts.

Was ist IronPDF?

IronPDF ist eine C#-PDF-Bibliothek zum Erstellen, Bearbeiten und Manipulieren von PDF-Dokumenten . Es wird als ein einziges NuGet-Paket - Install-Package IronPdf - ausgeliefert und lässt sich in .NET-Anwendungen integrieren, ohne dass zusätzliche Abhängigkeiten eingerichtet werden müssen.

PDFsharp bietet eine solide Low-Level-Zeichensteuerung und wird unter einer freizügigen MIT-Lizenz ausgeliefert – zwei echte Stärken, die es zu einem festen Bestandteil vieler .NET Projekte gemacht haben. Reibungspunkte entstehen häufig dann, wenn die Anforderungen über die koordinatenbasierte Darstellung hinausgehen und Bereiche wie die Konvertierung von HTML in PDF, digitale Signaturen oder die Dokumentenverschlüsselung umfassen.IronPDFist eine kommerziell unterstützte Bibliothek, die diese Szenarien als erstklassige Operationen behandelt und Professional Support sowie eine API-Oberfläche bietet, die auf gängige Dokumentgenerierungs-Workflows einschließlich HTML-, CSS- und JavaScript Rendering ausgelegt ist.

Funktionen

Funktionen IronPDF PDFSharp
HTML zu PDF konvertieren Ja NEIN
Professioneller Support Ja NEIN
HTML-, CSS- und JavaScript-Unterstützung Ja NEIN
Digitale Signaturen Ja NEIN
Verschlüsselung Ja NEIN

Eine der wichtigsten Funktionen vonIronPDFist die Möglichkeit, HTML mithilfe vonIronPDFin PDF zu konvertieren , wodurch die Erstellung von PDF-Dokumenten aus Webseiten unkompliziert wird. Die Konvertierung von HTML in PDF liegt außerhalb des aktuellen Funktionsumfangs von PDFsharp – es arbeitet auf der Ebene der Koordinatenzeichnung – daher fügen Teams, die diese Funktionalität benötigen, in der Regel eine separate Rendering-Bibliothek hinzu oder evaluieren die inIronPDFintegrierte Chromium-Engine.

IronPDF bietet außerdem Unterstützung für digitale Signaturen und PDF-Verschlüsselung mit Passwortschutz , was für sensible Dokumente, die eine sichere Handhabung erfordern, von entscheidender Bedeutung ist. PDFsharp ist nicht für die Bewältigung dieser Sicherheitsszenarien ausgelegt, daher sehen Teams mit Compliance- oder Dokumentenschutzanforderungen dies oft als einen natürlichen Wendepunkt für die Evaluierung von IronPDF.

IronPDF bietet im Vergleich zu PDFsharp einen breiteren Funktionsumfang und ein umfassenderes Supportangebot, das HTML-Rendering, Verschlüsselung und digitale Signaturen in einem einzigen NuGet Paket abdeckt. Da es sich jedoch um ein kommerzielles Produkt handelt, bevorzugen Teams, deren Anforderungen dem Koordinatenzeichnungsmodell von PDFsharp entsprechen und die keine HTML-Konvertierung oder integrierte Sicherheitsfunktionen benötigen, möglicherweise den unter der MIT-Lizenz stehenden Open-Source-Ansatz von PDFsharp.

Neben den Lizenzkosten umfassen die Gesamtprojektkosten auch die Entwicklerstunden, die für das Zusammenstellen separater Rendering-Bibliotheken, die Verwaltung koordinatenbasierter Seitenlayouts für komplexe Dokumente und die Fehlerbehebung bei der von PDFsharp benötigten Mehrpaketkonfiguration aufgewendet wurden. Für Teams, die die Kosten über einen mehrjährigen Projektlebenszyklus hinweg bewerten, übersteigen diese Integrations- und Wartungskosten häufig den Unterschied zwischen Open-Source- und kommerziellen Lizenzen.

Möchten Sie sehen, wieIronPDFin Ihren Arbeitsablauf passt? [Laden Sie eine kostenlose 30-Tage-Testversion herunter (Testlizenz zum Testen aller in diesem Vergleich behandelten Funktionen).

Hinweis:PDFsharp ist ein eingetragenes Warenzeichen seines jeweiligen Eigentümers. Diese Seite ist weder mit PDFsharp verbunden noch wird sie unterstützt oder gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Besitzer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Wie kann ich eine PDF-Datei mit PDFsharp in C# generieren?

Um ein PDF mit PDFsharp zu generieren, müssen Sie ein neues PDF-Dokument erstellen, eine Seite hinzufügen und das XGraphics-Objekt nutzen, um Text oder Grafiken zu zeichnen. Stellen Sie sicher, dass Sie die using-Anweisungen für die PdfSharp.Drawing und PdfSharp.Pdf-Namensräume einbeziehen.

Welche wesentlichen NuGet-Pakete sind für PDFsharp erforderlich?

Um effizient mit PDFsharp zu arbeiten, müssen Sie die folgenden NuGet-Pakete installieren: PDFsharp, System.Drawing.Common und System.Text.Encoding.CodePages. Diese Pakete sind entscheidend für die Unterstützung der Kodierung und die ordnungsgemäße PDF-Generierung.

Wie vergleicht sich IronPDF mit PDFsharp bei der PDF-Generierung in C#?

IronPDF ist eine kommerzielle Bibliothek, die erweiterte Funktionen wie HTML-zu-PDF-Konvertierung, digitale Signaturen und Verschlüsselung bietet, die in PDFsharp nicht verfügbar sind. Es bietet auch bessere Dokumentation und professionellen Support, was es benutzerfreundlicher für komplexe Aufgaben macht.

Was sind die Einschränkungen bei der Verwendung von PDFsharp für die PDF-Generierung?

PDFsharp unterstützt kein HTML, CSS oder JavaScript, was seine Anwendungsfälle einschränkt. Es erfordert ein gutes Verständnis des Kodierungs-Setups und der Microsoft Office Add-ins für komplexe Dokumente, was es im Vergleich zu IronPDF weniger intuitiv machen kann.

Warum ist das Paket System.Text.Encoding.CodePages für PDFsharp wichtig?

Das Paket System.Text.Encoding.CodePages bietet die notwendige Kodierungsunterstützung bei der Generierung von PDF-Dateien mit PDFsharp. Ohne die korrekte Installation und Registrierung dieses Pakets können Sie auf kodierungsbezogene Fehler stoßen.

Kann ich HTML mit einer kostenlosen C#-Bibliothek in PDF konvertieren?

Nein, PDFsharp unterstützt keine HTML-zu-PDF-Konvertierung. Für eine solche Funktionalität benötigen Sie eine kommerzielle Bibliothek wie IronPDF, die diese Funktion zusammen mit anderen erweiterten Funktionen bietet.

Wie kann ich häufige Fehler in PDFsharp beheben?

Häufige Fehler in PDFsharp entstehen oft durch fehlerhafte Einrichtung der NuGet-Pakete oder Kodierungsprobleme. Stellen Sie sicher, dass alle erforderlichen Pakete, einschließlich System.Text.Encoding.CodePages, richtig installiert und registriert sind, um solche Probleme zu lösen.

Welche erweiterten Funktionen sind in IronPDF für C#-Entwickler verfügbar?

IronPDF bietet erweiterte Funktionen wie HTML-zu-PDF-Konvertierung, digitale Signaturen, Verschlüsselung und die Fähigkeit, CSS und JavaScript zu handhaben. Es bietet auch die Integration mit .NET-Anwendungen und professionellen Support, was es zu einem leistungsstarken Werkzeug für Entwickler macht.

Wie kann ich die Textgestaltung in einem PDF mit PDFsharp anpassen?

Mit PDFsharp können Sie die Textgestaltung in einem PDF anpassen, indem Sie die Methode DrawString der XGraphics-Klasse verwenden. Dies ermöglicht es Ihnen, Eigenschaften wie Schriftart, Farbe und Textausrichtung innerhalb bestimmter Grenzen festzulegen.

Ist PDFsharp geeignet, um komplexe PDF-Dokumente in C# zu erstellen?

PDFsharp kann komplexe PDF-Dokumente erstellen, erfordert jedoch ein solides Verständnis der Kodierung und der Microsoft Office Add-ins. IronPDF könnte aufgrund seiner intuitiveren API und zusätzlichen Funktionen eine bessere Option für komplexe Aufgaben sein.

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

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an