PRODUKT-VERGLEICHE

IronPDF und EvoPdf: Ein Vergleich

Veröffentlicht 29. September 2024
Teilen Sie:

IronPDF und EvoPdf sind zwei prominente .NET-Bibliotheken, die zur Erstellung, Bearbeitung und Verwaltung 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 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+)
  • App-Umgebungen: IronPDF funktioniert in verschiedenen App-Umgebungen wie Windows, Linux, Mac, Docker, Azure und AWS.
  • IDEs: Funktioniert mit IDEs wie Microsoft Visual Studio und JetBrains Rider & ReSharper
  • OS und Prozessoren: Unterstützt verschiedene Betriebssysteme und Prozessoren wie Windows, Mac, Linux, x64, x86, ARM

    Für weitere Einzelheiten 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 erstellen. 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 erzeugen.
  • Sicherheitsfunktionen: Mit IronPDF können Sie immer sicher sein, dass alle sensiblen PDF-Dateien dank seiner Sicherheitsfunktionen sicher 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, editieren 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: Nahtlos integriert mit ASP.NET und MVC-Anwendungen.

    Für eine umfassende Liste der Funktionen von IronPDF, besuchen Sie IronPDF-Funktionen.

EvoPdf

  • HTML-zu-PDF-Konverter: Dies ist die Hauptfunktion, auf die EvoPdf fokussiert ist. 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 für .NET-Bibliothek von EvoPdf können Sie PDF-Dokumente mit Sicherheitsfunktionen und digitalen Signaturen erstellen.
  • HTML-Konvertierung: Konvertieren Sie Webseiten, HTML-Inhalte und HTML-Strings in verschiedene Dateitypen außerhalb von nur PDF, wie Rasterbilder und SVG-Vektorbilder.
  • PDF-Bearbeitung: Mit EvoPdf können Sie bestehende PDF-Dokumente bearbeiten, sie zusammenführen, aufteilen sowie vorhandene PDF-Dokumente und 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")
VB   C#

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")
VB   C#

Umwandlung von HTML in PDF ist eine häufige PDF-bezogene Aufgabe, und wie Sie an 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")
VB   C#

EvoPdf:

PdfSecurityOptions securityOptions = 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;

PdfSecurityManager securityManager = new PdfSecurityManager(securityOptions);

if (removeSecurity)
    securityManager.SaveUnSecuredPdfToFile(srcPdfFile, outFile, removeSecurityPswd);
else
    securityManager.SaveSecuredPdfToFile(srcPdfFile, outFile);
PdfSecurityOptions securityOptions = 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;

PdfSecurityManager securityManager = new PdfSecurityManager(securityOptions);

if (removeSecurity)
    securityManager.SaveUnSecuredPdfToFile(srcPdfFile, outFile, removeSecurityPswd);
else
    securityManager.SaveSecuredPdfToFile(srcPdfFile, outFile);
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
VB   C#

IronPDF bietet eine umfassende API zur Verwaltung von verschlüsselung Einstellungen, während sie Ihnen die volle Kontrolle über den Prozess und verschiedene Sicherheitseinstellungen geben. 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")
VB   C#

EvoPdf: Fehlt eingebaute Unterstützung für Textschwärzung.

IronPDF bietet Ihnen ein leistungsstarkes PDF redaktionssystem die in der Lage ist, angegebenen Inhalt aus Ihrer PDF-Datei in 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")
VB   C#

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

IronPDF bietet eine leistungsstarke API zur Anwendung von digitale Signaturen zu Ihren PDF-Dateien, während der Prozess geradlinig und leicht verständlich bleibt. 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")
VB   C#

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

IronPDF bietet eine prägnante, aber dennoch robuste PDF-Lösung Wasserzeichen-Tool, sodass Sie mühelos benutzerdefinierte Wasserzeichen auf Ihre PDF-Dateien anwenden können, ohne viel für die Einrichtung tun zu müssen. EvoPdf hingegen erfordert einen beträchtlichen Aufwand, um das Wasserzeichen-Tool einzurichten, 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")
VB   C#

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")
VB   C#

EvoPdf: Eingeschränkte Unterstützung für Bild- und Textstempel, verwendet dasselbe Werkzeug wie seine Wasserzeichenfunktion.

IronPDF bietet detaillierte und flexible Methoden zum Hinzufügen von sowohl Text- als auch Bildstempeln zu PDFs. Stanzwerkzeuge 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")
VB   C#

EvoPdf: Sie müssen die Evo Work to PDF-Konverter-Bibliothek verwenden, um DOCX-Dateien in das PDF-Format zu konvertieren.

IronPDF bietet eine intuitive API für Umwandlung von DOCX in PDF, was die Handhabung verschiedener Dokumenttypen erleichtert. Mit EvoPdf müssen Sie sicherstellen, dass das Evo Word to PDF-Tool installiert ist, um diese Aufgabe auszuführen.

Zusammenfassung des Vergleichs der Codebeispiele

Erfahren Sie mehr über die Vielzahl an Funktionen, die IronPDF bietet, und sehen Sie sie in Aktion auf der IronPDF Website. Anleitung Leitfäden, die sich intensiv mit jeder Funktion auseinandersetzen, erläutern, wie sie funktionieren, und Ihnen die Fähigkeiten vermitteln, die Sie benötigen, um ein PDF-Profi zu werden.

Preise und Lizenzierung: IronPDF vs. EvoPdf-Bibliothek

IronPDF

IronPDF hat verschiedene Stufen und zusätzliche Funktionen beim Erwerb einer Lizenz. Entwickler können auch kaufen IronSuite das Ihnen Zugang zu allen Produkten von IronSoftware zum Preis von zwei ermöglicht. Wenn Sie noch nicht bereit sind, eine Lizenz zu erwerben, bietet IronPDF eine Kostenlose Testversion damit Sie alle Funktionen erkunden können, die es bietet, bevor Sie eine Lizenz erwerben.

  • Unbefristete Lizenzen: Bietet eine Reihe von unbefristeten Lizenzen, je nach Größe Ihres Teams, Ihren Projektanforderungen 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: Unterstützung für drei Entwickler, drei Standorte und drei Projekte, dies ist der nächste Schritt nach der Lite License und kostet $1,499. Die Plus License bietet Chat-Unterstützung und Telefon-Support zusätzlich zur grundlegenden E-Mail-Unterstützung.
  • 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 Support-Kanäle wie die vorherigen Stufen, bietet jedoch auch Bildschirmfreigabe-Support.
  • Lizenzgebührenfreie Weiterverteilung: Die Lizenzierung von IronPDF bietet auch eine lizenzgebührenfreie Weiterverteilung gegen einen Aufpreis von $1.999 an.
  • Ununterbrochene Produktunterstützung: IronPDF bietet Zugang zu fortlaufenden Produktaktualisierungen, Sicherheitsfunktionserweiterungen und Unterstützung durch ihr Engineering-Team für entweder $999/Jahr oder einen einmaligen Kauf von $1,999 für eine Abdeckung von 5 Jahren.
  • IronSuite: Für 1.498 $ erhalten Sie Zugriff auf alle Iron Software-Produkte, einschließlich IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrintund IronWebScraper.

EvoPdf

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 mit diesem Produkt verbundenen Werkzeuge, 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 zu PDF Konverter für alle Plattformen: Dies ist 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: Ausführliche und benutzerfreundliche Dokumentation, die alle Funktionen abdeckt.
  • 24/5 Support: Aktiver Ingenieursupport ist verfügbar.
  • Video Tutorials: Schritt-für-Schritt-Videoanleitungen sind auf YouTube verfügbar.
  • Community Forum: Engagierte Community für zusätzliche Unterstützung.
  • Regelmäßige Updates: Monatliche Produktupdates, um die neuesten Funktionen und Sicherheitspatches sicherzustellen.
  • PDF-API-Referenz: Bietet API-Referenzen, damit Sie das Beste aus unseren Tools herausholen können.

    Weitere Informationen finden Sie in der umfangreichen IronPDF-Website dokumentationund besuchen Sie die IronSoftware YouTube-Kanal.

EvoPdf

  • Dokumentation: EvoPdf bietet Dokumentation für seine Funktionen an, obwohl sie schwierig zu navigieren sein kann, wenn Sie mit der Website nicht vertraut sind.
  • Live-Demo: Auf der EVO PDF Software-Website können Sie im Live-Demo-Bereich alle Funktionen der Bibliothek testen.
  • Technischer Support: Sie können das Team für technische und nicht-technische Anfragen über die auf der Website bereitgestellten E-Mail- und Telefonangaben kontaktieren.

Schlussfolgerung

IronPDF und EvoPdf sind beide fä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.

< PREVIOUS
Ein Vergleich zwischen IronPDF und SelectPDF
NÄCHSTES >
iTextSharp C# HTML zu PDF Alternative für .NET Core

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

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >