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");
IronPDF und EvoPdf sind zwei prominente .NET-Bibliotheken, die zum Erstellen, Bearbeiten und Verwalten von PDF-Dokumenten verwendet werden. Jeder hat einzigartige Stärken und Funktionen, die auf Entwickler zugeschnitten sind, die an .NET-Plattformen arbeiten. Dieser Artikel bietet einen umfassenden Vergleich dieser beiden Bibliotheken, wobei der Schwerpunkt auf ihren Funktionen, der Kompatibilität, der Lizenzierung, dem Support und mehr liegt.
Hoffentlich können Sie am Ende dieses Artikels erkennen, welche Bibliothek am besten zu Ihren PDF-Anforderungen passt, und selbst einen vergleichenden Blick werfen, wenn Sie weitere PDF-Bibliotheksoptionen recherchieren möchten.
IronPDF und EvoPdf Übersicht
IronPDF ist eine .NET PDF-Bibliothek, die es Entwicklern ermöglicht, PDF-Dokumente programmgesteuert zu erstellen, zu bearbeiten und zu manipulieren. Es ist bekannt für seine Benutzerfreundlichkeit, breite Kompatibilität mit .NET-Versionen und seine Fähigkeit, HTML-, ASPX- und Bilddateien in PDFs zu konvertieren, während die hohe Genauigkeit des Originalinhalts beibehalten wird. Die umfangreiche Dokumentation, der robuste Kundensupport und der reichhaltige Funktionsumfang von IronPDF machen es zu einer bevorzugten Wahl für Entwickler, die PDF-Funktionalitäten in ihre .NET-Anwendungen integrieren möchten.
EvoPdf ist eine weitere .NET-Bibliothek, die für die Umwandlung von HTML in PDF und andere PDF-Bearbeitungsaufgaben entwickelt wurde. Es bietet erweiterte Unterstützung für HTML-Tags, CSS, JavaScript und andere moderne Webtechnologien, wodurch die Generierung von hochwertigen PDF-Dokumenten aus Webinhalten ermöglicht wird. EvoPdf wird für seine Renderfähigkeiten und die umfangreiche Unterstützung von Webstandards geschätzt, was es zu einem wertvollen Werkzeug für Entwickler macht, die sich auf die Umwandlung von Webinhalten in PDF konzentrieren.
Plattformübergreifende Kompatibilität
IronPDF
IronPDF bietet umfassende plattformübergreifende Kompatibilität und ist daher ein vielseitiges Werkzeug für verschiedene Umgebungen.
.NET-Versionen:
Vollständig in C# geschrieben und unterstützt VB.NET und F#
.NET Core (8, 7, 6, 5 und 3.1+)
.NET Standard (2.0+)
.NET Framework (4.6.2+)
Anwendungsumgebungen: IronPDF funktioniert in verschiedenen Anwendungsumgebungen wie Windows, Linux, Mac, Docker, Azure und AWS.
IDEs: Funktioniert mit IDEs wie Microsoft Visual Studio und JetBrains Rider & ReSharper
Betriebssysteme und Prozessoren: Unterstützt mehrere verschiedene Betriebssysteme und Prozessoren, einschließlich Windows, Mac, Linux, x64, x86, ARM
Für weitere Informationen zur Kompatibilität von IronPDF besuchen Sie IronPDF-Kompatibilität.
EvoPdf
.NET-Versionen:
.NET Core (8, 7, 6 und 5)
.NET Standard 2.0+
.NET Framework (4.8.1, 4.7.2, 4.6.1, und 4.0+)
App-Umgebung: EvoPdf funktioniert unter Windows, Linux, Mac, Azure-Cloud-Diensten und weiteren Plattformen.
Hauptfunktionsvergleich: PDF-Funktionalität in IronPDF vs. EvoPdf
IronPDF und EvoPdf bieten beide leistungsstarke PDF-Manipulationsfunktionen, aber es gibt eindeutige Unterschiede, die Entwickler beachten sollten:
IronPDF
PDF-Konvertierung: IronPDF kann PDF-Dokumente aus HTML-Inhalten erzeugen. Mit vollständiger Unterstützung moderner Webstandards können Sie sicher sein, dass IronPDF kontinuierlich pixelgenaue PDFs aus Ihrem HTML-Inhalt erstellt. IronPDF kann auch PDF-Dateien aus anderen Formaten wie DOCX, Bilder, RTF und mehr konvertieren.
PDF-Erstellung: Mit IronPDF können Sie PDFs aus URLs, ASPX-Dateien oder HTML-Strings generieren.
Sicherheitsfunktionen: Mit IronPDF können Sie stets sicher sein, dass alle sensiblen PDF-Dateien dank seiner Sicherheitsfunktionen geschützt sind. Verwenden Sie IronPDF, um Ihre PDF-Dateien zu verschlüsseln, Passwörter festzulegen und Berechtigungen für Ihre PDF-Dateien zu vergeben.
PDF-Bearbeitungsfunktionen: Mit IronPDF können Sie vorhandene PDF-Dokumente bearbeiten, ändern und PDF-Dateien mühelos lesen. IronPDF bietet Bearbeitungsfunktionen wie das Hinzufügen von Kopf- und Fußzeilen, das Stempeln von Text und Bildern auf den PDF-Seiten, das Hinzufügen von benutzerdefinierten Wasserzeichen zum PDF, die Arbeit mit PDF-Formularen und das Teilen oder Zusammenführen von PDF-Dateien.
Integration: Integriert sich nahtlos in ASP.NET und MVC-Anwendungen.
Für eine umfassende Liste der IronPDF-Funktionen besuchen Sie IronPDF Features.
EvoPdf
HTML zu PDF-Konverter: Dies ist die Hauptfunktion, auf die EvoPdf den Fokus legt. Mit fortschrittlicher Unterstützung für moderne Webstandards können Sie HTML-Inhalte in das PDF-Format konvertieren.
PDF-Sicherheit: Durch die Nutzung der EvoPdf Chromium for .NET-Bibliothek von EvoPdf können Sie PDF-Dokumente mit Sicherheitsfunktionen und digitalen Signaturen erstellen.
HTML-Konvertierung: Konvertieren Sie Webseiten, HTML-Inhalte und HTML-Zeichenfolgen in verschiedene Dateitypen außerhalb von nur PDF, wie z. B. Rasterbilder und SVG-Vektorbilder.
PDF-Bearbeitung: Mit EvoPdf können Sie vorhandene PDF-Dokumente bearbeiten, zusammenführen, teilen und vorhandene PDF-Dokumente sowie deren Formulare ausfüllen.
Vergleich der Top-Highlight-Funktionen mit Codebeispielen zwischen IronPDF und EvoPdf
Nachfolgend finden Sie einen detaillierten Vergleich der Hauptfunktionen zwischen IronPDF und EvoPdf, mit spezifischen Codebeispielen zur Demonstration ihrer Nutzung.
Konvertierung von HTML in PDF
IronPDF:
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
$vbLabelText $csharpLabel
EvoPdf:
using EvoPdf;
// create the converter object in your code where you want to run conversion
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// convert the HTML string to a PDF file
converter.ConvertHtmlToFile("<b>Hello World</b> from EVO PDF !", null, "HtmlToFile.pdf");
// convert HTML pages from URL to a PDF file
string htmlPageURL = "http://www.evopdf.com";
converter.ConvertUrlToFile(htmlPageURL, "UrlToFile.pdf");
using EvoPdf;
// create the converter object in your code where you want to run conversion
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// convert the HTML string to a PDF file
converter.ConvertHtmlToFile("<b>Hello World</b> from EVO PDF !", null, "HtmlToFile.pdf");
// convert HTML pages from URL to a PDF file
string htmlPageURL = "http://www.evopdf.com";
converter.ConvertUrlToFile(htmlPageURL, "UrlToFile.pdf");
Imports EvoPdf
' create the converter object in your code where you want to run conversion
Private converter As New HtmlToPdfConverter()
' convert the HTML string to a PDF file
converter.ConvertHtmlToFile("<b>Hello World</b> from EVO PDF !", Nothing, "HtmlToFile.pdf")
' convert HTML pages from URL to a PDF file
Dim htmlPageURL As String = "http://www.evopdf.com"
converter.ConvertUrlToFile(htmlPageURL, "UrlToFile.pdf")
$vbLabelText $csharpLabel
HTML-zu-PDF-Konvertierung ist eine häufige PDF-bezogene Aufgabe, und wie Sie in den obigen Codebeispielen sehen können, können sowohl IronPDF als auch EvoPdf diese Aufgabe problemlos bewältigen. IronPDF bietet eine pixelgenaue Wiedergabe von HTML-Inhalten dank seiner modernen Webunterstützung, sodass Sie PDF-Dokumente mit nur wenigen Zeilen Code erstellen können und gleichzeitig die ursprüngliche Wiedergabequalität beibehalten.
Verschlüsselung von PDF-Dokumenten
IronPDF:
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System
' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
' Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' Edit file security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
Dim securityOptions As New PdfSecurityOptions()
securityOptions.CanAssembleDocument = canAssembleDocument
securityOptions.CanCopyContent = canCopyContent
securityOptions.CanEditAnnotations = canEditAnnotations
securityOptions.CanEditContent = canEditContent
securityOptions.CanFillFormFields = canFillFormFields
securityOptions.CanPrint = canPrint
securityOptions.KeySize = keySize
securityOptions.UserPassword = userPassword
securityOptions.OwnerPassword = ownerPassword
Dim securityManager As New PdfSecurityManager(securityOptions)
If removeSecurity Then
securityManager.SaveUnSecuredPdfToFile(srcPdfFile, outFile, removeSecurityPswd)
Else
securityManager.SaveSecuredPdfToFile(srcPdfFile, outFile)
End If
$vbLabelText $csharpLabel
IronPDF bietet eine umfassende API zur Verwaltung von Verschlüsselung Einstellungen und gibt Ihnen die volle Kontrolle über den Prozess und verschiedene Sicherheitseinstellungen. EvoPdf's Verschlüsselungswerkzeug bietet ein ähnliches Maß an Kontrolle über den Prozess, wodurch es zu einem weiteren starken Kandidaten für die PDF-Verschlüsselung wird.
PDF-Inhalt redigieren
IronPDF:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
$vbLabelText $csharpLabel
EvoPdf: Fehlt integrierte Unterstützung für die Textschwärzung.
IronPDF bietet Ihnen ein leistungsstarkes PDF-Redaktionstool, das in der Lage ist, angegebenen Inhalt aus Ihrer PDF-Datei mit nur wenigen Codezeilen zu redigieren. EvoPdf hingegen bietet keine integrierten PDF-Schwärzungswerkzeuge an.
Digitales Signieren von PDFs
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create PdfSignature object
Private sig = New PdfSignature(cert)
' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
$vbLabelText $csharpLabel
EvoPdf:
protected void convertToPdfButton_Click(object sender, EventArgs e)
{
// Create a HTML to PDF converter object with default settings
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
// Set license key received after purchase to use the converter in licensed mode
// Leave it not set to use the converter in demo mode
htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c=";
Document pdfDocument = null;
try
{
string htmlWithDigitalSignatureMarker = htmlStringTextBox.Text;
string baseUrl = baseUrlTextBox.Text;
// Convert a HTML string with a marker for digital signature to a PDF document object
pdfDocument = htmlToPdfConverter.ConvertHtmlToPdfDocumentObject(htmlWithDigitalSignatureMarker, baseUrl);
// Make the HTML element with 'digital_signature_element' mapping ID a link to digital signature properties
HtmlElementMapping digitalSignatureMapping = htmlToPdfConverter.HtmlElementsMappingOptions.HtmlElementsMappingResult.GetElementByMappingId("digital_signature_element");
if (digitalSignatureMapping != null)
{
PdfPage digitalSignaturePage = digitalSignatureMapping.PdfRectangles[0].PdfPage;
RectangleF digitalSignatureRectangle = digitalSignatureMapping.PdfRectangles[0].Rectangle;
string certificateFilePath = Server.MapPath("~/DemoAppFiles/Input/Certificates/evopdf.pfx");
// Get the certificate from password protected PFX file
DigitalCertificatesCollection certificates = DigitalCertificatesStore.GetCertificates(certificateFilePath, "evopdf");
DigitalCertificate certificate = certificates[0];
// Create the digital signature
DigitalSignatureElement signature = new DigitalSignatureElement(digitalSignatureRectangle, certificate);
signature.Reason = "Protect the document from unwanted changes";
signature.ContactInfo = "The contact email is support@evopdf.com";
signature.Location = "Development server";
digitalSignaturePage.AddElement(signature);
}
// Save the PDF document in a memory buffer
byte[] outPdfBuffer = pdfDocument.Save();
// Send the PDF as response to browser
// Set response content type
Response.AddHeader("Content-Type", "application/pdf");
// Instruct the browser to open the PDF file as an attachment or inline
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Digital_Signatures.pdf; size={0}", outPdfBuffer.Length.ToString()));
// Write the PDF document buffer to HTTP response
Response.BinaryWrite(outPdfBuffer);
// End the HTTP response and stop the current page processing
Response.End();
}
finally
{
// Close the PDF document
if (pdfDocument != null)
pdfDocument.Close();
}
}
protected void convertToPdfButton_Click(object sender, EventArgs e)
{
// Create a HTML to PDF converter object with default settings
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
// Set license key received after purchase to use the converter in licensed mode
// Leave it not set to use the converter in demo mode
htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c=";
Document pdfDocument = null;
try
{
string htmlWithDigitalSignatureMarker = htmlStringTextBox.Text;
string baseUrl = baseUrlTextBox.Text;
// Convert a HTML string with a marker for digital signature to a PDF document object
pdfDocument = htmlToPdfConverter.ConvertHtmlToPdfDocumentObject(htmlWithDigitalSignatureMarker, baseUrl);
// Make the HTML element with 'digital_signature_element' mapping ID a link to digital signature properties
HtmlElementMapping digitalSignatureMapping = htmlToPdfConverter.HtmlElementsMappingOptions.HtmlElementsMappingResult.GetElementByMappingId("digital_signature_element");
if (digitalSignatureMapping != null)
{
PdfPage digitalSignaturePage = digitalSignatureMapping.PdfRectangles[0].PdfPage;
RectangleF digitalSignatureRectangle = digitalSignatureMapping.PdfRectangles[0].Rectangle;
string certificateFilePath = Server.MapPath("~/DemoAppFiles/Input/Certificates/evopdf.pfx");
// Get the certificate from password protected PFX file
DigitalCertificatesCollection certificates = DigitalCertificatesStore.GetCertificates(certificateFilePath, "evopdf");
DigitalCertificate certificate = certificates[0];
// Create the digital signature
DigitalSignatureElement signature = new DigitalSignatureElement(digitalSignatureRectangle, certificate);
signature.Reason = "Protect the document from unwanted changes";
signature.ContactInfo = "The contact email is support@evopdf.com";
signature.Location = "Development server";
digitalSignaturePage.AddElement(signature);
}
// Save the PDF document in a memory buffer
byte[] outPdfBuffer = pdfDocument.Save();
// Send the PDF as response to browser
// Set response content type
Response.AddHeader("Content-Type", "application/pdf");
// Instruct the browser to open the PDF file as an attachment or inline
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Digital_Signatures.pdf; size={0}", outPdfBuffer.Length.ToString()));
// Write the PDF document buffer to HTTP response
Response.BinaryWrite(outPdfBuffer);
// End the HTTP response and stop the current page processing
Response.End();
}
finally
{
// Close the PDF document
if (pdfDocument != null)
pdfDocument.Close();
}
}
Protected Sub convertToPdfButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' Create a HTML to PDF converter object with default settings
Dim htmlToPdfConverter As New HtmlToPdfConverter()
' Set license key received after purchase to use the converter in licensed mode
' Leave it not set to use the converter in demo mode
htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c="
Dim pdfDocument As Document = Nothing
Try
Dim htmlWithDigitalSignatureMarker As String = htmlStringTextBox.Text
Dim baseUrl As String = baseUrlTextBox.Text
' Convert a HTML string with a marker for digital signature to a PDF document object
pdfDocument = htmlToPdfConverter.ConvertHtmlToPdfDocumentObject(htmlWithDigitalSignatureMarker, baseUrl)
' Make the HTML element with 'digital_signature_element' mapping ID a link to digital signature properties
Dim digitalSignatureMapping As HtmlElementMapping = htmlToPdfConverter.HtmlElementsMappingOptions.HtmlElementsMappingResult.GetElementByMappingId("digital_signature_element")
If digitalSignatureMapping IsNot Nothing Then
Dim digitalSignaturePage As PdfPage = digitalSignatureMapping.PdfRectangles(0).PdfPage
Dim digitalSignatureRectangle As RectangleF = digitalSignatureMapping.PdfRectangles(0).Rectangle
Dim certificateFilePath As String = Server.MapPath("~/DemoAppFiles/Input/Certificates/evopdf.pfx")
' Get the certificate from password protected PFX file
Dim certificates As DigitalCertificatesCollection = DigitalCertificatesStore.GetCertificates(certificateFilePath, "evopdf")
Dim certificate As DigitalCertificate = certificates(0)
' Create the digital signature
Dim signature As New DigitalSignatureElement(digitalSignatureRectangle, certificate)
signature.Reason = "Protect the document from unwanted changes"
signature.ContactInfo = "The contact email is support@evopdf.com"
signature.Location = "Development server"
digitalSignaturePage.AddElement(signature)
End If
' Save the PDF document in a memory buffer
Dim outPdfBuffer() As Byte = pdfDocument.Save()
' Send the PDF as response to browser
' Set response content type
Response.AddHeader("Content-Type", "application/pdf")
' Instruct the browser to open the PDF file as an attachment or inline
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Digital_Signatures.pdf; size={0}", outPdfBuffer.Length.ToString()))
' Write the PDF document buffer to HTTP response
Response.BinaryWrite(outPdfBuffer)
' End the HTTP response and stop the current page processing
Response.End()
Finally
' Close the PDF document
If pdfDocument IsNot Nothing Then
pdfDocument.Close()
End If
End Try
End Sub
$vbLabelText $csharpLabel
IronPDF bietet eine leistungsstarke API für die Anwendung von digitalen Signaturen auf Ihre PDF-Dateien und hält dabei den Prozess einfach und leicht verständlich. EvoPdf bietet grundlegende Unterstützung für das Signieren, jedoch fehlen ihm die umfangreichen Optionen, die IronPDF bietet, und es verfolgt einen manuellen, komplexeren Ansatz.
Individuelle Wasserzeichen auf PDF-Dokumente anwenden
IronPDF:
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
$vbLabelText $csharpLabel
EvoPdf:
protected void convertToPdfButton_Click(object sender, EventArgs e)
{
// Create a HTML to PDF converter object with default settings
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c=";
Document pdfDocument = null;
try
{
// Convert a HTML page to a PDF document object
pdfDocument = htmlToPdfConverter.ConvertUrlToPdfDocumentObject(urlTextBox.Text);
// Get the stamp width and height
float stampWidth = float.Parse(stampWidthTextBox.Text);
float stampHeight = float.Parse(stampHeightTextBox.Text);
// Center the stamp at the top of PDF page
float stampXLocation = (pdfDocument.Pages[0].ClientRectangle.Width - stampWidth) / 2;
float stampYLocation = 0;
RectangleF stampRectangle = new RectangleF(stampXLocation, stampYLocation, stampWidth, stampHeight);
// Create the stamp template to be repeated in each PDF page
Template stampTemplate = pdfDocument.AddTemplate(stampRectangle);
// Create the HTML element to add in stamp template
HtmlToPdfElement stampHtmlElement = new HtmlToPdfElement(htmlStringTextBox.Text, baseUrlTextBox.Text);
// Set the HTML viewer width for the HTML added in stamp
stampHtmlElement.HtmlViewerWidth = 600;
// Fit the HTML content in stamp template
stampHtmlElement.FitWidth = true;
stampHtmlElement.FitHeight = true;
// Add HTML to stamp template
stampTemplate.AddElement(stampHtmlElement);
// Save the PDF document in a memory buffer
byte[] outPdfBuffer = pdfDocument.Save();
// Send the PDF as response to browser
// Set response content type
Response.AddHeader("Content-Type", "application/pdf");
// Instruct the browser to open the PDF file as an attachment or inline
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Watermarks_and_Stamps.pdf; size={0}", outPdfBuffer.Length.ToString()));
// Write the PDF document buffer to HTTP response
Response.BinaryWrite(outPdfBuffer);
// End the HTTP response and stop the current page processing
Response.End();
}
finally
{
// Close the PDF document
if (pdfDocument != null)
pdfDocument.Close();
}
}
protected void convertToPdfButton_Click(object sender, EventArgs e)
{
// Create a HTML to PDF converter object with default settings
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c=";
Document pdfDocument = null;
try
{
// Convert a HTML page to a PDF document object
pdfDocument = htmlToPdfConverter.ConvertUrlToPdfDocumentObject(urlTextBox.Text);
// Get the stamp width and height
float stampWidth = float.Parse(stampWidthTextBox.Text);
float stampHeight = float.Parse(stampHeightTextBox.Text);
// Center the stamp at the top of PDF page
float stampXLocation = (pdfDocument.Pages[0].ClientRectangle.Width - stampWidth) / 2;
float stampYLocation = 0;
RectangleF stampRectangle = new RectangleF(stampXLocation, stampYLocation, stampWidth, stampHeight);
// Create the stamp template to be repeated in each PDF page
Template stampTemplate = pdfDocument.AddTemplate(stampRectangle);
// Create the HTML element to add in stamp template
HtmlToPdfElement stampHtmlElement = new HtmlToPdfElement(htmlStringTextBox.Text, baseUrlTextBox.Text);
// Set the HTML viewer width for the HTML added in stamp
stampHtmlElement.HtmlViewerWidth = 600;
// Fit the HTML content in stamp template
stampHtmlElement.FitWidth = true;
stampHtmlElement.FitHeight = true;
// Add HTML to stamp template
stampTemplate.AddElement(stampHtmlElement);
// Save the PDF document in a memory buffer
byte[] outPdfBuffer = pdfDocument.Save();
// Send the PDF as response to browser
// Set response content type
Response.AddHeader("Content-Type", "application/pdf");
// Instruct the browser to open the PDF file as an attachment or inline
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Watermarks_and_Stamps.pdf; size={0}", outPdfBuffer.Length.ToString()));
// Write the PDF document buffer to HTTP response
Response.BinaryWrite(outPdfBuffer);
// End the HTTP response and stop the current page processing
Response.End();
}
finally
{
// Close the PDF document
if (pdfDocument != null)
pdfDocument.Close();
}
}
Protected Sub convertToPdfButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' Create a HTML to PDF converter object with default settings
Dim htmlToPdfConverter As New HtmlToPdfConverter()
htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c="
Dim pdfDocument As Document = Nothing
Try
' Convert a HTML page to a PDF document object
pdfDocument = htmlToPdfConverter.ConvertUrlToPdfDocumentObject(urlTextBox.Text)
' Get the stamp width and height
Dim stampWidth As Single = Single.Parse(stampWidthTextBox.Text)
Dim stampHeight As Single = Single.Parse(stampHeightTextBox.Text)
' Center the stamp at the top of PDF page
Dim stampXLocation As Single = (pdfDocument.Pages(0).ClientRectangle.Width - stampWidth) / 2
Dim stampYLocation As Single = 0
Dim stampRectangle As New RectangleF(stampXLocation, stampYLocation, stampWidth, stampHeight)
' Create the stamp template to be repeated in each PDF page
Dim stampTemplate As Template = pdfDocument.AddTemplate(stampRectangle)
' Create the HTML element to add in stamp template
Dim stampHtmlElement As New HtmlToPdfElement(htmlStringTextBox.Text, baseUrlTextBox.Text)
' Set the HTML viewer width for the HTML added in stamp
stampHtmlElement.HtmlViewerWidth = 600
' Fit the HTML content in stamp template
stampHtmlElement.FitWidth = True
stampHtmlElement.FitHeight = True
' Add HTML to stamp template
stampTemplate.AddElement(stampHtmlElement)
' Save the PDF document in a memory buffer
Dim outPdfBuffer() As Byte = pdfDocument.Save()
' Send the PDF as response to browser
' Set response content type
Response.AddHeader("Content-Type", "application/pdf")
' Instruct the browser to open the PDF file as an attachment or inline
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Watermarks_and_Stamps.pdf; size={0}", outPdfBuffer.Length.ToString()))
' Write the PDF document buffer to HTTP response
Response.BinaryWrite(outPdfBuffer)
' End the HTTP response and stop the current page processing
Response.End()
Finally
' Close the PDF document
If pdfDocument IsNot Nothing Then
pdfDocument.Close()
End If
End Try
End Sub
$vbLabelText $csharpLabel
IronPDF bietet ein prägnantes, aber robustes PDF-Wasserzeichen-Tool, das es Ihnen einfach macht, benutzerdefinierte Wasserzeichen auf Ihre PDF-Dateien anzuwenden, ohne viel Aufwand für die Einrichtung zu benötigen. EvoPdf hingegen erfordert einen erheblichen Aufwand für die Einrichtung des Wasserzeichen-Tools, was es zu einer weniger effizienten Option macht.
Bilder und Text auf PDF-Seiten stempeln
IronPDF:
Textstempel:
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
$vbLabelText $csharpLabel
Bildstempel:
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
$vbLabelText $csharpLabel
EvoPdf: Eingeschränkte Unterstützung für Bild- und Textstempel, verwendet dasselbe Tool wie die Wasserzeichenfunktion.
IronPDF bietet detaillierte und flexible Methoden zum Hinzufügen von sowohl Text- als auch Bildstempeln zu PDFs. Die Stempelwerkzeuge sind einfach zu verwenden und erfordern nicht viel Code zur Implementierung. EvoPdf benötigt mehr Einrichtung, bevor es Text auf Ihre PDF-Seiten stempeln kann.
DOCX zu PDF C#
IronPDF:
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()
' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText $csharpLabel
EvoPdf: Sie müssen die Evo Work to PDF Converter-Bibliothek verwenden, um DOCX-Dateien in das PDF-Format zu konvertieren.
IronPDF bietet eine intuitive API für die Umwandlung von DOCX in PDF, wodurch die Handhabung verschiedener Dokumenttypen erleichtert wird. Mit EvoPdf müssten Sie sicherstellen, dass das Evo Word zu PDF-Tool installiert ist, um diese Aufgabe auszuführen.
Zusammenfassung des Vergleichs der Codebeispiele
Um mehr über die vielfältigen Funktionen zu erfahren, die IronPDF zu bieten hat, und sie in Aktion zu sehen, werfen Sie einen Blick auf die IronPDF-Anleitung, die einen tiefen Einblick in jede Funktion bietet, zeigt, wie sie funktionieren, und Ihnen die Fähigkeiten vermittelt, die Sie benötigen, um ein PDF-Profi zu werden.
Preise und Lizenzierung: IronPDF vs. EvoPdf-Bibliothek
IronPDF
IronPDF verfügt über verschiedene Stufen und zusätzliche Funktionen zum Erwerb einer Lizenz. Entwickler können auch Iron Suite kaufen, was Zugang zu allen Produkten von Iron Software zum Preis von zwei ermöglicht. Falls Sie noch nicht bereit sind, eine Lizenz zu erwerben, bietet IronPDF eine kostenlose Testversion an, damit Sie alle Funktionen erkunden können, bevor Sie sich für eine Lizenz entscheiden.
Unbefristete Lizenzen: Bietet eine Auswahl an unbefristeten Lizenzen, abhängig von der Größe Ihres Teams, den Anforderungen Ihres Projekts und der Anzahl der Standorte. Jeder Lizenztyp beinhaltet E-Mail-Support.
Lite License: Diese Lizenz kostet $749 und unterstützt einen Entwickler, einen Standort und ein Projekt.
Plus License: Diese unterstützt drei Entwickler, drei Standorte und drei Projekte. Sie ist der nächste Schritt über der Lite License und kostet $1.499. Die Plus License bietet neben dem grundlegenden E-Mail-Support auch Chat- und Telefonsupport.
Professional License: Diese Lizenz ist für größere Teams geeignet und unterstützt zehn Entwickler, zehn Standorte und zehn Projekte für 2.999 $. Sie bietet die gleichen Kontakt-Support-Kanäle wie die vorherigen Ebenen, bietet jedoch zusätzlich Unterstützung per Bildschirmfreigabe.
Lizenzfreie Weiterverbreitung: Die Lizenz von IronPDF bietet auch eine lizenzfreie Weiterverbreitung für zusätzliche $1.999
Unterbrechungsfreier Produktsupport: IronPDF bietet Zugang zu fortlaufenden Produktaktualisierungen, Sicherheitsverbesserungen und Support von ihrem Ingenieurteam entweder für $999/Jahr oder einem einmaligen Kauf von $1.999 für eine 5-jährige Abdeckung.
EvoPdf's Lizenzierung basiert auf zwei Modellen: Deployment License und Company License. Beide Optionen werden als unbefristete Lizenzen angeboten und beinhalten technischen Support und Software-Updates für das erste Jahr.
EVO PDF Toolkit: Dies enthält alle Tools, die mit diesem Produkt verbunden sind, wie: HTML-zu-PDF-Konverter, EvoPdf Chromium, Word-zu-PDF-Konverter, Excel-zu-PDF-Konverter und so weiter. Die Bereitstellungsversion dieser Lizenz kostet 650 $, und die Unternehmensversion kostet 1400 $.
EVO HTML to PDF Converter für alle Plattformen: Dies ist nur das einzelne Produkt, das separat vom EVO PDF Toolkit-Bundle erworben werden kann, wenn Sie nur das HTML-zu-PDF-Tool benötigen. Dies kostet $450 für die Deployment-Version und $1200 für die Unternehmensversion.
Dokumentation und Support: IronPDF vs. EvoPdf
IronPDF
IronPDF ist stolz auf seine umfangreiche, detaillierte Dokumentation und Entwicklerunterstützung.
Umfassende Dokumentation: Umfangreiche und benutzerfreundliche Dokumentation, die alle Funktionen abdeckt.
24/5 Support: Aktive Unterstützung durch Ingenieure ist verfügbar.
Videoanleitungen: Schritt-für-Schritt-Videoanleitungen sind auf YouTube verfügbar.
Community-Forum: Engagierte Community für zusätzliche Unterstützung.
Regelmäßige Updates: Monatliche Produktaktualisierungen, um die neuesten Funktionen und Sicherheitspatches zu gewährleisten.
PDF-API-Referenz: Bietet API-Referenzen, damit Sie das Beste aus unseren Tools herausholen können.
Dokumentation: EvoPdf bietet Dokumentationen für seine Funktionen, obwohl sie schwierig zu navigieren sein können, wenn Sie mit der Website nicht vertraut sind.
Live-Demo: Auf der EVO PDF Software-Website können Sie alle Funktionen der Bibliothek im Live-Demo-Bereich testen.
Technischer Support: Sie können das Team für technische und nicht-technische Anfragen über die auf der Website angegebenen E-Mail- und Telefondaten kontaktieren.
Schlussfolgerung
IronPDF und EvoPdf sind beide leistungsfähige PDF-Bibliotheken für .NET-Entwickler. Jedoch machen IronPDFs umfangreiche Funktionspalette, robuste plattformübergreifende Kompatibilität, flexible Lizenzierungsoptionen sowie hervorragende Dokumentation und Unterstützung es zu einer überzeugenderen Wahl für die meisten Entwicklungsprojekte. Mit IronPDF können Sie problemlos jede PDF-bezogene Aufgabe ausführen, da Sie eine leistungsstarke, umfangreiche Funktionspalette zur Verfügung haben.
EvoPdf ist eine solide Alternative, insbesondere für diejenigen, die speziell nach einem spezialisierten HTML-zu-PDF-Konvertierungswerkzeug suchen und nicht die umfangreichen Funktionen einer fortgeschritteneren Bibliothek benötigen, während sie dennoch die Möglichkeit haben, Funktionen durch Investition in das vollständige Toolkits-Paket hinzuzufügen und zu entfernen.
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS Ein Vergleich zwischen IronPDF und SelectPDF
NÄCHSTES > iTextSharp C# HTML zu PDF Alternative für .NET Core