using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Ständig verbesserte Technologien bedeuten intelligentere, zeitsparende Lösungen für alle, insbesondere für Entwickler. Die Automatisierung ist heute der Schlüssel zu den Softwareentwicklungsprozessen. Die Arbeit mit PDF-Dateien in C# hat sich für Entwickler über viele Jahre hinweg als schwierig erwiesen. Bei der Wiedergabe von Inhalten aus PDF-Dateien und erst recht bei der Konvertierung von Inhalten aus anderen Formaten in PDF ist eine Vielzahl von Faktoren zu berücksichtigen. Diese Probleme wurden nun mit der Fertigstellung zahlreicher Bibliotheken gelöst, die zum Lesen, Schreiben, Erstellen und Konvertieren in PDF aus verschiedenen Formaten entwickelt wurden.
In diesem Artikel werden zwei der beliebtesten PDF-Bibliotheken für .NET- und .NET Core-Entwickler verglichen. Diese beiden Bibliotheken sind:
IronPDF
PDFCrowd
IronPDF und PDFCrowd sind beides Bibliotheken, die Methoden zum Erstellen, Verändern undpDFs in .NET und .NET Core drucken. Die nächste Frage ist, welcheC# PDF Library ist am besten für Ihr .NET-Projekt geeignet? Sie können Ihre Entscheidung abwägen, wenn Sie den folgenden Vergleich zwischen den beiden Bibliotheken und ihren jeweiligen herausragenden Funktionen für die Konvertierung und Bearbeitung von PDF-Dateien lesen.
Schauen wir uns zunächst an, was beide Bibliotheken zu bieten haben, und gehen wir dann zum eigentlichen Vergleich über.
IronPDF und seine Hauptfunktionen
IronPDF for .NET PDF Library ist ein Traum für Entwickler, insbesondere für Softwareingenieure, die C# verwenden. Mit diesem hervorragenden Tool können Sie ganz einfach eine PDF-Kernbibliothek für .NET erstellen.
IronPDF verwendet eine .NET Chromium-Engine, um HTML-Seiten in PDF-Dateien umzuwandeln. Mit HTML to PDF müssen Sie keine komplexen APIs verwenden, um PDFs zu positionieren oder zu gestalten. IronPDF unterstützt Standard-Webdokumente: HTML, ASPX, JS, CSS und Bilder.
Außerdem können Sie damit eine .NET-PDF-Bibliothek mit HTML5, CSS, JavaScript und Bildern erstellen. Sie können eine PDF-Datei mühelos bearbeiten, stempeln und Kopf- und Fußzeilen hinzufügen. Darüber hinaus macht sie es sehr einfach, diepDF-Text lesen und Bilder extrahieren.
Die IronPDF C#-Bibliothek - herausragende Merkmale
Einige der wichtigsten Merkmale sind:
PDFs erstellen(Html zu Pdf)
PDF-Dokumente aus HTML 4 und 5, CSS und JavaScript erstellen
PDF-Dokumente aus URL generieren
URL mit benutzerdefinierten Netzwerk-Anmeldedaten, User-Agents, Proxies, Cookies, HTTP-Header, Formularvariablen laden, die eine Anmeldung hinter HTML-Anmeldeformularen ermöglichen
Vorhandene PDF-Dokumente ohne Adobe Acrobat bearbeiten
Daten aus Formularfeldern lesen und ausfüllen
Bilder und Texte aus PDF extrahieren
Stempeln Sie neue HTML-Inhalte auf jede bestehende PDF-Seite
Logische oder HTML-Kopf- und Fußzeilen hinzufügen
**Vorhandene PDF-Dokumente manipulieren
Laden und Parsen vorhandener PDF-Dokumente
Zusammenführen und Aufteilen von Inhalten in PDF-Dokumenten
Hinzufügen von Kopf- und Fußzeilen, Anmerkungen, Lesezeichen, Wasserzeichen, Text- und Bildelementen
Konvertierung aus mehreren Formaten
ASPX WebForms - konvertiert mit 3 Zeilen Code ASP.NET Webformulare in herunterladbare PDFs, die im Browser angezeigt werden können
HTML-Dokument - HTML in PDF konvertieren
Benutzerdefinierte "Basis-URL" für den Zugriff auf Asset-Dateien im Web
Responsive Layouts durch virtuelles Ansichtsfenster(breite und Höhe)
Akzeptiert HTML in jeder gängigen Dateikodierung(Standardmäßig UTF-8)
Speichern und Drucken
Speichern und Laden von Dateien, Binärdaten oder MemoryStreams
Bildschirm- oder Druck-CSS-Medientypen
PDF-Dateien in ein PrintDocument-Objekt umwandeln und ohne Adobe drucken(mit minimalem Code)
Exportieren Sie offizielle Protokolldateien mit Details über API-Erfolg und Debug-Fehler im Quellcode
Die PDFCrowd-Bibliothek - Herausragende Eigenschaften
Die Pdfcrowd.com API ist eine professionelle Lösung zur Erstellung von PDF- und Screenshot-Bildern aus Webseiten und HTML-Dokumenten. Es ist ein Online-Webdienst, mit dem Sie jede beliebige Webseite in PDF umwandeln können. Die API ist ein Webservice, bei dem Ihre Eingaben auf PDFCrowd-Servern konvertiert werden.
Es ist qualitativ hochwertig und schnell und spart Ihnen dadurch Zeit. Es ist sicher und hat die Fähigkeit, Dateien zu komprimieren.
PDFCrowd API-Funktionen
Hier sind einige der wichtigsten Funktionen von PDFCrowd:
HTML zu PDF API
Einfach zu verwendende API-Client-SDK-Bibliotheken
Unterstützung für die neuesten Webstandards
Die Einrichtung der Integration dauert nur wenige Minuten, es werden keine Bibliotheken von Drittanbietern benötigt
Zuverlässig, weithin verfügbar und mit Unterstützung für die neuesten HTML5-, CSS3- und JavaScript-Spezifikationen
API Spielwiese
Interaktives Erkunden der API-Einstellungen
PDF-Vorschau, automatische Codegenerierung
Webseiten, HTML-Dateien oder HTML-Code konvertieren
Hinweis: PDFCrowd bietet kein eigenständiges SDK, das offline verwendet werden kann.
Im weiteren Verlauf dieses Artikels werden die folgenden Themen behandelt:
Ein Projekt erstellen
IronPDF C# Bibliothek Installation
PDFCrowd API-Installation
Erstellen einer PDF-Datei aus einer vorhandenen URL
PDF aus HTML-Input-String erstellen
ASPX-Seiten in PDF konvertieren
XML in PDF konvertieren
Bilder in PDF konvertieren
Lizenzvergabe
Zusammenfassung und Schlussfolgerung
1. Erstellen eines ASP.NET-Projekts
Gehen Sie wie folgt vor, um eine ASP.NET-Website zu erstellen:
Visual Studio 2019 öffnen
Klicken Sie im Menü auf Datei und dann auf "Neues Projekt", um ein neues Projekt zu erstellen
Wählen Sie im Listenfeld Projekttyp unter Visual C# die Option Web
ASP.NET-Webanwendung auswählen(.NET-Framework) und klicken Sie auf OK, wie im folgenden Screenshot gezeigt
Abbildung 1 - Dialogfeld "Neues Projekt
Wählen Sie auf dem nächsten Bildschirm "Webformulare", wie in der Abbildung unten gezeigt.
Abbildung 2 - Web-Formulare
Wenn Sie alles ausgewählt haben, klicken Sie auf Ok.
Jetzt ist das Projekt erstellt und wir sind fast bereit, die Bibliotheken zu testen. Wir müssen sie jedoch noch installieren und in unser Projekt integrieren. Installieren wir zunächst IronPDF.
2. IronPDF C# Bibliothek Installation
Es gibt vier Möglichkeiten, die IronPDF-Bibliothek herunterzuladen und zu installieren. Sie lauten wie folgt:
Verwendung von Visual Studio
Die Eingabeaufforderung für Entwickler
Laden Sie das NuGet-Paket direkt herunter
Die IronPDF .DLL-Bibliothek herunterladen
Schauen wir uns jede einzelne davon genauer an.
2.1 Visual Studio verwenden
Visual Studio bietet den NuGet Package Manager, um NuGet-Pakete in Ihren Projekten zu installieren. Sie können über das Projektmenü darauf zugreifen, oder indem Sie mit der rechten Maustaste auf Ihr Projekt im Projektmappen-Explorer klicken. Diese beiden Optionen sind in den Abbildungen 3 und 4 dargestellt.
Abbildung 3 - Menü Projekt > NuGet-Pakete verwalten
Abbildung 4 - Rechtsklick auf Solution Explorer
Nach der Auswahl suchen Sie nach dem IronPDF-Paket und installieren es, wie in der folgenden Abbildung gezeigt.
Abbildung 5 - IronPDF aus dem NuGet-Paket installieren
2.2 Verwenden der Eingabeaufforderung für Entwickler
Eine andere Möglichkeit, die IronPDF C# Library herunterzuladen und zu installieren, ist die Verwendung der folgenden Schritte, um das IronPDF NuGet-Paket über die Entwickler-Eingabeaufforderung zu installieren.
Öffnen Sie die Developer-Eingabeaufforderung, die sich normalerweise im Ordner Visual Studio befindet
Geben Sie den folgenden Befehl ein:
:ProductInstall
Eingabe drücken
Dadurch wird das Paket heruntergeladen und installiert
Laden Sie Ihr Visual Studio-Projekt neu und verwenden Sie es
2.3. Direktes Herunterladen des NuGet-Pakets
Die dritte Möglichkeit, IronPDF herunterzuladen und zu installieren, ist, den folgenden Schritten zu folgen. Dazu können Sie direkt die NuGet-Website besuchen und das Paket herunterladen. Die Schritte sind:
Laden Sie Ihr Visual Studio-Projekt neu und verwenden Sie es
2.4. Installieren Sie IronPDF, indem Sie die Bibliothek herunterladen
Sie können die IronPDF .DLL-Datei direkt von der Website herunterladen. Sie kann direkt heruntergeladen werden von derIronPDF DLL Download-Seite.
Abbildung 6 - IronPDF C# Bibliothek direkt herunterladen
Verweisen Sie auf die Bibliothek in Ihrem Projekt, indem Sie die folgenden Schritte ausführen:
Klicken Sie mit der rechten Maustaste auf die Lösung im Projektmappen-Explorer
Referenzen auswählen
Suchen Sie nach der IronPDF.dll-Bibliothek
OK anklicken
Alles erledigt! IronPDF ist heruntergeladen, installiert und einsatzbereit. Zuvor sollten wir jedoch die PDFCrowd API installieren.
3.PDFCrowd API-Installation
Authentifizierung
Für die Nutzung des Pdfcrowd API-Clients ist eine Authentifizierung erforderlich. Die Anmeldedaten für den Zugriff auf die API sind Ihr Pdfcrowd-Benutzername und der API-Schlüssel.
Pdfcrowd API Client-Bibliothek für .NET
Mit der Pdfcrowd-API-Client-Bibliothek können Sie Konvertierungen zwischen HTML, PDF und verschiedenen Bildformaten durchführen. Die .NET-API-Client-Bibliothek ermöglicht die einfache Implementierung derPdfcrowd API in Ihren .NET-Anwendungen.
Es gibt drei Möglichkeiten, die PDFCrowd API Client Library für .NET zu installieren:
Direkter Download des Pdfcrowd-Clients als Zip-Datei
Über den NuGet Package Manager für das offizielle Pdfcrowd Client-Paket
Das Pdfcrowd GitHub-Repository
Schauen wir uns jede einzelne davon genauer an.
3.1 Direkter Download
Herunterladenpdfcrowd-5.2.0-dotnet.zipentpacken Sie es und fügen Sie einen Verweis auf pdfcrowd.dll in Ihr Projekt ein.
Verweisen Sie auf die Bibliothek in Ihrem Projekt, indem Sie die folgenden Schritte ausführen:
Klicken Sie mit der rechten Maustaste auf die Lösung im Projektmappen-Explorer
Referenzen auswählen
Suchen Sie nach der pdfcrowd.dll-Bibliothek
OK anklicken
3.2 Der NuGet-Paketmanager über die Entwickler-Eingabeaufforderung
Eine andere Möglichkeit, die PDFCrowd-API herunterzuladen und zu installieren, ist die Verwendung der folgenden Schritte zur Installation des PDFCrowd API Client NuGet-Pakets unter Verwendung der Entwickler-Eingabeaufforderung.
Öffnen Sie die Entwickler-Eingabeaufforderung - normalerweise im Ordner Visual Studio zu finden
Geben Sie den folgenden Befehl ein: PM > Install-Package Pdfcrowd.official -Version 5.2.0
Eingabe drücken
Dadurch wird das Paket heruntergeladen und installiert
Laden Sie Ihr Visual Studio-Projekt neu und verwenden Sie es
3.3 GitHub-Repository
Um PDFCrowd zu installieren, können Sie Folgendes klonenpdfcrowd-dotnet von GitHub herunterladen und die Bibliothek erstellen. Diese Client-Bibliothek ist unter der MIT-Lizenz lizenziert.
Verwenden Sie die folgenden Befehle, um die PDFCrowd API Client-Bibliothek zu erstellen:
Nachdem wir nun das Projekt erstellt und die erforderlichen Bibliotheken installiert haben, wollen wir die IronPDF- und PDFCrowd-Bibliotheken im Hinblick auf den Code vergleichen.
4. Erstellen einer PDF-Datei aus einer vorhandenen URL
Beide Bibliotheken bieten die Möglichkeit, eine HTML-Webseite in PDF zu konvertieren. Schauen wir uns den Code für jede Bibliothek einzeln an.
4.1. Vorhandene URL mit IronPDF in PDF umwandeln
IronPDF macht es sehr einfach, HTML aus bestehenden URLs als PDF-Dokumente zu rendern. Es gibt ein sehr hohes Maß an Unterstützung für JavaScript, Bilder, Formulare und CSS.
Der folgende Code verwendet IronPDF, um ein PDF-Dokument direkt von einer Website-Adresse zu erstellen.
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
4.2 Vorhandene URL in PDF mit PDFCrowd
Mit PDFCrowd ist es auch sehr einfach, URLs in PDF-Dokumente zu konvertieren. Der folgende Code verwendet PDFCrowd, um ein PDF-Dokument direkt von einer Website-Adresse zu erzeugen.
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
// run the conversion and write the result to a file
client.convertUrlToFile("http://www.pdfcrowd.com", "example.pdf");
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
// run the conversion and write the result to a file
client.convertUrlToFile("http://www.pdfcrowd.com", "example.pdf");
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")
' run the conversion and write the result to a file
client.convertUrlToFile("http://www.pdfcrowd.com", "example.pdf")
5. PDF aus HTML-Input-String erstellen
IronPDF und PDFCrowd bieten beide die Möglichkeit, PDFs aus einer Zeichenkette mit HTML zu erzeugen. Beide verwenden nur zwei Codezeilen, um diese Aufgabe zu erfüllen.
5.1. HTML-Eingabezeichenfolge mit IronPDF
Der folgende Code zeigt, dass ein PDF-Dokument mithilfe einer HTML-Eingabezeichenfolge gerendert werden kann. Sie können einfaches HTML wählen oder auch CSS, Bilder und JavaScript einbinden.
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.SaveAs("pixel-perfect.pdf");
// Load external html assets: images, css, and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.SaveAs("pixel-perfect.pdf");
// Load external html assets: images, css, and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
PDF.SaveAs("pixel-perfect.pdf")
' Load external html assets: images, css, and javascript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Dim AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
AdvancedPDF.SaveAs("html-with-assets.pdf")
5.2. HTML-Eingabe-String mit PDFCrowd
Der folgende Code zeigt, dass ein PDF-Dokument mit Hilfe einer Zeichenkette, die HTML enthält, erzeugt werden kann. Die HTML-Eingabezeichenfolge kann auch zur Konvertierung in speicherinterne PDF-Dateien und zum Schreiben der resultierenden PDF-Datei in einen Ausgabestrom verwendet werden.
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
// run the conversion and write the result to a file
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf");
// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertString("<html><body><h1>Hello World!</h1></body></html>");
// at this point the "pdf" variable contains PDF raw data and
// can be sent in an HTTP response, saved to a file, etc.
// create an output stream for the conversion result
FileStream outputStream = new FileStream("HelloWorld.pdf", FileMode.CreateNew);
// run the conversion and write the result into the output stream
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream);
// close the output stream
outputStream.Close();
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
// run the conversion and write the result to a file
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf");
// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertString("<html><body><h1>Hello World!</h1></body></html>");
// at this point the "pdf" variable contains PDF raw data and
// can be sent in an HTTP response, saved to a file, etc.
// create an output stream for the conversion result
FileStream outputStream = new FileStream("HelloWorld.pdf", FileMode.CreateNew);
// run the conversion and write the result into the output stream
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream);
// close the output stream
outputStream.Close();
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")
' run the conversion and write the result to a file
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf")
' run the conversion and store the result into the "pdf" variable
Dim pdf() As Byte = client.convertString("<html><body><h1>Hello World!</h1></body></html>")
' at this point the "pdf" variable contains PDF raw data and
' can be sent in an HTTP response, saved to a file, etc.
' create an output stream for the conversion result
Dim outputStream As New FileStream("HelloWorld.pdf", FileMode.CreateNew)
' run the conversion and write the result into the output stream
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream)
' close the output stream
outputStream.Close()
ASPX-Seiten in PDF konvertieren
Der folgende Code für IronPDF und PDFCrowd erstellt ein PDF-Dokument aus einer ASP.NET-Webseite.
6.1. ASPX Seite zu PDF mit IronPDF
Der folgende Code rendert die ASPX-Webseitendatei mit IronPDF in PDF. Dies ist ein einzeiliger Code und sehr einfach zu verwenden. Während des Renderns können den PDF-Einstellungen weitere Optionen hinzugefügt werden.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
6.2. ASPX-Seite zu PDF mit PDFCrowd
Der folgende Code rendert die ASPX-Webseitendatei mithilfe von PDFCrowd in PDF. Damit können Sie vollständige HTTP-Antwort-Header festlegen und das Ergebnis in der HTTP-Antwort zur Anzeige im Webbrowser als PDF senden.
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertUrl("https://en.wikipedia.org");
// set HTTP response headers
Response.ContentType = "application/pdf";
Response.Headers.Add("Cache-Control", "max-age=0");
Response.Headers.Add("Accept-Ranges", "none");
Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" + Uri.EscapeUriString("result.pdf"));
// send the result in the HTTP response
Response.OutputStream.Write(pdf, 0, pdf.Length);
Response.Flush();
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertUrl("https://en.wikipedia.org");
// set HTTP response headers
Response.ContentType = "application/pdf";
Response.Headers.Add("Cache-Control", "max-age=0");
Response.Headers.Add("Accept-Ranges", "none");
Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" + Uri.EscapeUriString("result.pdf"));
// send the result in the HTTP response
Response.OutputStream.Write(pdf, 0, pdf.Length);
Response.Flush();
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")
' run the conversion and store the result into the "pdf" variable
Dim pdf() As Byte = client.convertUrl("https://en.wikipedia.org")
' set HTTP response headers
Response.ContentType = "application/pdf"
Response.Headers.Add("Cache-Control", "max-age=0")
Response.Headers.Add("Accept-Ranges", "none")
Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" & Uri.EscapeUriString("result.pdf"))
' send the result in the HTTP response
Response.OutputStream.Write(pdf, 0, pdf.Length)
Response.Flush()
7. XML in PDF konvertieren
Der folgende Code wandelt XML in PDF für IronPDF und PDFCrowd API um.
7.1. Konvertieren von XML in PDF mit IronPDF
Die direkte Umwandlung von C# XML in PDF kann eine komplexe Herausforderung sein. Wir haben festgestellt, dass es bei der Konvertierung von XML in PDF in C# am besten ist, mit XSLT zu beginnen. XML kann über HTML in PDF gerendert werden(5) unter Verwendung von XLST-Transformationen.
private void XMLtoPDF(string XSLT, string XML)
{
XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))
{
transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(XML)))
{
transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// options, headers, and footers may be set there
// Render our XML as a PDF via XSLT
using var PDF = Renderer.RenderHtmlAsPdf(results.ToString());
PDF.SaveAs("XMLtoPDF.pdf");
}
private void XMLtoPDF(string XSLT, string XML)
{
XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))
{
transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(XML)))
{
transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// options, headers, and footers may be set there
// Render our XML as a PDF via XSLT
using var PDF = Renderer.RenderHtmlAsPdf(results.ToString());
PDF.SaveAs("XMLtoPDF.pdf");
}
Private Sub XMLtoPDF(ByVal XSLT As String, ByVal XML As String)
Dim transform As New XslCompiledTransform()
Using reader As XmlReader = XmlReader.Create(New StringReader(XSLT))
transform.Load(reader)
End Using
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(XML))
transform.Transform(reader, Nothing, results)
End Using
Dim Renderer As New IronPdf.ChromePdfRenderer()
' options, headers, and footers may be set there
' Render our XML as a PDF via XSLT
Dim PDF = Renderer.RenderHtmlAsPdf(results.ToString())
PDF.SaveAs("XMLtoPDF.pdf")
End Sub
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2> My CD Collection</h2> <p> Titles: <xsl:for-@each @select="catalog/cd"> <xsl:value-@of @select="title"/> <xsl:if test="position() < last()-1"> <xsl:text>, </xsl:text> </xsl:if> <xsl:if test="position()=last()-1"> <xsl:text>, @and </xsl:text> </xsl:if> <xsl:if test="position()=last()"> <xsl:text>!</xsl:text> </xsl:if> </xsl:for-@each> </p> </body> </html> </xsl:template> </xsl:stylesheet>
7.2. XML in PDF konvertieren mit PDFCrowd
Der PDFCrowd API Client ermöglicht das Rendern von HTML-Templates. Die Template-Syntax basiert auf der Jinja Template Rendering Engine. Das XML-Format wird auch von PDFCrowd API Client unterstützt und kann mit dieser Syntax verwendet werden.
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}");
// configure the conversion
client.setDataString(@"<?xml version=""1.0"" encoding=""UTF-8""?>
<data>
<name>World</name>
<product>Pdfcrowd API</product>
</data>");
// run the conversion and write the result to a file
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf");
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}");
// configure the conversion
client.setDataString(@"<?xml version=""1.0"" encoding=""UTF-8""?>
<data>
<name>World</name>
<product>Pdfcrowd API</product>
</data>");
// run the conversion and write the result to a file
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf");
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}")
' configure the conversion
client.setDataString("<?xml version=""1.0"" encoding=""UTF-8""?>
<data>
<name>World</name>
<product>Pdfcrowd API</product>
</data>")
' run the conversion and write the result to a file
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf")
8. Bilder in PDF konvertieren
8.1. Bilder mit IronPDF in PDF konvertieren
In der IronPDF-Bibliothek können PDF-Dokumente mit Hilfe der Klasse IronPdf.ImageToPdfConverter einfach aus einer oder mehreren Bilddateien erstellt werden.
// One or more images as IEnumerable. This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg")
f.EndsWith(".jpeg"));
// Convert the images to a PDF and save it.
using var PDF = ImageToPdfConverter.ImageToPdf(ImageFiles);
PDF.SaveAs(@"C:\project\composite.pdf");
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
// One or more images as IEnumerable. This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg")
f.EndsWith(".jpeg"));
// Convert the images to a PDF and save it.
using var PDF = ImageToPdfConverter.ImageToPdf(ImageFiles);
PDF.SaveAs(@"C:\project\composite.pdf");
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
IRON VB CONVERTER ERROR developers@ironsoftware.com
8.2. Bilder in PDF konvertieren mit PDFCrowd
PDFCrowd bietet auch die Möglichkeit, Bilder mit einer Vielzahl von Optionen in PDF zu konvertieren. Es bietet auch eine Option zur Konvertierung eines Bildes von einer URL. Der folgende Code zeigt, wie ein Bild aus dem lokalen Speicher in das PDF-Format konvertiert werden kann.
// create the API client instance
pdfcrowd.ImageToPdfClient client = new pdfcrowd.ImageToPdfClient("your_username", "your_apikey");
// run the conversion and write the result to a file
client.convertFileToFile("/path/to/logo.png", "logo.pdf");
// create the API client instance
pdfcrowd.ImageToPdfClient client = new pdfcrowd.ImageToPdfClient("your_username", "your_apikey");
// run the conversion and write the result to a file
client.convertFileToFile("/path/to/logo.png", "logo.pdf");
' create the API client instance
Dim client As New pdfcrowd.ImageToPdfClient("your_username", "your_apikey")
' run the conversion and write the result to a file
client.convertFileToFile("/path/to/logo.png", "logo.pdf")
9. Lizenzvergabe
PDFCrowd ist ein Webdienst, der PDF-Dateien aus anderen Formaten online erstellt. Es gibt verschiedene Preisstrukturen, die niedrigste ist $11/Monat für ein Limit von 200 Credits, wobei 1 Credit 0,5 MB Ausgabedaten entspricht. Sie können sich auch für eine kostenlose Testversion anmelden. Die detaillierten Preise können Sie auf der Websitepreisseite von PDFCrowd.
IronPDF hingegen ist eine C# PDF-Bibliothek. Es ist kostenlos für die Entwicklung und kann jederzeit für den kommerziellen Einsatz lizenziert werden. Lizenzen für IronPDF sind erhältlich für die Verwendung in Einzelprojekten, für einzelne Entwickler, Agenturen und globale Unternehmen sowie für SaaS- und OEM-Vertrieb. Alle Lizenzen beinhalten: eine 30-tägige Geld-zurück-Garantie, ein Jahr Produkt-Support & Updates, Gültigkeit für Entwicklung/Taging/Produktion sowie eine permanente Lizenz(einmaliger Kauf). Das Lite-Paket beginnt mit $749. IronPDF-Pakete sind dauerhaft und es fallen keine laufenden Kosten an, während bei PDFCrowd im Vergleich dazu laufende Kosten anfallen.
10. Zusammenfassung und Schlussfolgerung
Zusammenfassung
IronPDF rendert kein HTML in PDF von einem entfernten Server. Hinter den Kulissen wird eine Instanz eines echten, standardkonformen Webbrowsers gestartet(ohne dass zusätzliche Software installiert werden muss). Das HTML wird mit absoluter Genauigkeit gerendert - und zwar in einem Vektorformat, das für die höchsten Standards im kommerziellen Druck geeignet ist. Die Ausgabe ist eine saubere und hochwertige PDF-Datei. Es handelt sich um ein offenes kommerzielles Projekt, dessen Lizenzierung und Preise auf der Website veröffentlicht werden.
PDFCrowd konvertiert auch HTML in jedem beliebigen Format in PDF mit höchster Genauigkeit und absolut ohne Ausfallzeiten, da es auf Cloud-Servern an mehreren Standorten läuft. PDFCrowd ist eine webbasierte API, die einen Online-Dienst zur Konvertierung in PDF anbietet. Serverseitige API-Client-Bibliotheken machen es Ihnen leicht, die Pdfcrowd HTML to PDF API zu nutzen. Diese Bibliotheken sind in einer Reihe von gängigen serverseitigen Programmiersprachen verfügbar. Einzelheiten zu den Preisen sind auf der Website aufgeführt.
Schlussfolgerung
IronPDF hat einen leichten Vorteil gegenüber PDFCrowd, da es nach der Installation offline arbeiten kann. IronPDF ist sehr empfehlenswert für pragmatische Programmierer, die effektiv und effizient arbeiten wollen. Vor allem aber ist es zeitsparend. PDFCrowd kann beim Umgang mit PDFs in verschiedenen serverseitigen Sprachen nützlich sein. Außerdem bietet IronPDF eine lebenslange Lizenz und es fallen keine laufenden Kosten an, während bei PDFCrowd laufende Kosten anfallen.
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS Accusoft Prizmdoc PDF Viewer Anleitung und Vergleich
NÄCHSTES > IronPDF und Docraptor - ein umfassender Vergleich