Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Signieren von PDF-Dokumenten, einschließlich PDF-Dateien. Eine digitale Signatur ist eine mathematische Formel, die zur Authentifizierung und Gewährleistung der Integrität eines elektronischen Dokuments verwendet wird.
In diesem Lernprogramm zeigen wir Ihnen hinzufügen von Informationen zur digitalen Signatur zu einer PDF-Datei datei in C# unter Verwendung der iTextSharp- und IronPDF-Bibliotheken.
Bevor wir uns mit dem Code befassen, sollten wir uns kurz ansehen, was eine digitale Signatur ist und warum sie wichtig ist.
Eine digitale Signatur ist eine mathematische Formel, die zur Authentifizierung und Gewährleistung der Integrität eines elektronischen Dokuments verwendet wird.
Es handelt sich um eine elektronische Signatur, mit der elektronische Dokumente digital unterzeichnet werden können. Digitale Signaturen bieten ein hohes Maß an Sicherheit, und sie sind in vielen Ländern rechtsverbindlich.
Wenn ein Dokument digital signiert wird, wird eine eindeutige digitale Signatur erstellt, die mit dem Dokument verknüpft ist.
Diese Signatur wird mit einem privaten Schlüssel erstellt, der nur dem Unterzeichner bekannt ist. Der Signaturschlüssel enthält Informationen über den Unterzeichner, einschließlich seines Namens, seiner E-Mail-Adresse und anderer Details.
Um die Authentizität eines digital signierten Dokuments zu überprüfen, muss der Empfänger Zugang zum öffentlichen Schlüssel des Unterzeichners haben. Die öffentlichen Schlüssel werden verwendet, um die Signatur zu entschlüsseln und ihre Echtheit zu überprüfen.
Digitale Signaturen sind wichtig, weil sie ein hohes Maß an Sicherheit bieten und die Integrität digitaler Dokumente gewährleisten.
Sie werden häufig in Situationen verwendet, in denen Dokumente wie Verträge, Vereinbarungen und andere Rechtsdokumente unterzeichnet werden müssen.
Digitale Signaturen bieten mehrere Vorteile gegenüber herkömmlichen Signaturen:
Sie sind sicherer und fälschungssicherer als herkömmliche Unterschriften.
Sie können elektronisch überprüft werden, was die Notwendigkeit einer manuellen Überprüfung verringert.
Mit ihnen können Dokumente von jedem Ort der Welt aus unterzeichnet werden.
Da wir nun wissen, was eine digitale Signatur ist und warum sie wichtig ist, wollen wir uns ansehen, wie man in C# mit iTextSharp und IronPDF eine digitale Signatur zu einem PDF-Dokument hinzufügt.
Digitale Signaturen werden verwendet, um die Authentizität elektronischer Dokumente zu überprüfen, und PDFs sind ein beliebtes Datenformat für solche Dokumente.
In diesem Tutorial vergleichen wir, wie man PDF-Dateien mit Hilfe von zwei C#-Bibliotheken, iTextSharp und IronPDF, mit digitalen Signaturen versieht.
iTextSharp ist eine beliebte Open-Source-Bibliothek zur Erstellung und Bearbeitung von PDF-Dokumenten in C#.
Es unterstützt digitale Signaturen und wird häufig in .NET-Projekten verwendet. IronPDF hingegen ist eine kommerzielle Bibliothek, die ähnliche Funktionen für die PDF-Bearbeitung, einschließlich digitaler Signaturen, bietet.
In diesem Tutorial wird gezeigt, wie beide Bibliotheken verwendet werden, um PDF-Dokumente mit digitalen Signaturen zu versehen. Dabei werden Konzepte wie das Erstellen eines digitalen Zertifikats, das Signieren eines PDF-Dokuments mit einem privaten Schlüssel und das Überprüfen der Signatur behandelt. Wir werden auch Beispiele von Quellcode für jeden Schritt bereitstellen.
Bevor wir beginnen, sollten Sie ein Grundverständnis der C#-Programmierung und des .NET-Frameworks haben.
Außerdem müssen Sie die iTextSharp- und IronPDF-Bibliotheken in Ihrem Projekt installiert haben.
Sie können iTextSharp von NuGet herunterladen, und IronPDF kann von der IronPDF-Website heruntergeladen werden.
IronPDF ist eine .NET-Bibliothek, mit der Sie PDF-Dokumente in C# erstellen, bearbeiten und signieren können. In diesem Leitfaden wird der Prozess des Signierens einer PDF-Datei mit IronPDF und einem X509Certificate2-Objekt erläutert.
Hier sind die Schritte zum Signieren einer PDF-Datei mit IronPDF:
using IronPdf; using IronPdf.Signing; using System.Security.Cryptography.X509Certificates;
using IronPdf; using IronPdf.Signing; using System.Security.Cryptography.X509Certificates;
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("foo");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("foo");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("foo")
In diesem Beispiel wird ein einfaches HTML-Dokument mit einem einzigen Kopfelement wiedergegeben.
![](/static-assets/pdf/blog/add-digital-signature-topdf-in-csharp-using-itextsharp/add-digital-signature-topdf-in-csharp-using-itextsharp-6.webp)
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
Dim cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
In diesem Beispiel laden wir das Zertifikat aus einer PKCS#12-Datei namens "IronSoftware.pfx" und geben das Passwort "123456" an. Wir setzen auch die X509KeyStorageFlags auf Exportable, damit wir den privaten Schlüssel des Zertifikats zum Signieren der PDF-Datei verwenden können.
![](/static-assets/pdf/blog/add-digital-signature-topdf-in-csharp-using-itextsharp/add-digital-signature-topdf-in-csharp-using-itextsharp-7.webp)
var sig = new PdfSignature(cert);
var sig = new PdfSignature(cert);
Dim sig = New PdfSignature(cert)
In diesem Beispiel erstellen wir ein neues "PdfSignature"-Objekt unter Verwendung des in Schritt 3 erstellten Zertifikatsobjekts.
pdf.Sign(sig);
pdf.Sign(sig);
pdf.Sign(sig)
pdf.SaveAs("signed.pdf");
pdf.SaveAs("signed.pdf");
pdf.SaveAs("signed.pdf")
Hier ist der vollständige Code:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("foo");
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
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("foo");
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
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("foo")
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
Private sig = New PdfSignature(cert)
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
Sobald wir ein digitales Zertifikat erstellt haben, können wir es zum Signieren einer PDF-Datei verwenden.
Um eine PDF-Datei zu signieren, müssen wir ein neues Signaturobjekt erstellen und seine Eigenschaften festlegen, z. B. die Position der neuen Signatur auf der Seite und den Grund für die Unterzeichnung.
iTextSharp ist eine beliebte Open-Source-Bibliothek für die Arbeit mit PDF-Dokumenten in C#. Mit iTextSharp können Sie PDF-Dokumente erstellen und bearbeiten und ihnen digitale Signaturen hinzufügen. In diesem Artikel werden wir uns darauf konzentrieren, wie man PDF-Dateien mit iTextSharp signiert.
Um zu beginnen, müssen Sie einen Verweis auf die Datei iTextSharp.dll in Ihr Projekt einfügen. Sie können die neueste Version von iTextSharp von der offiziellen Website herunterladen.
Sobald Sie die iTextSharp-Referenz zu Ihrem Projekt hinzugefügt haben, können Sie die PDFSigner-Bibliothek verwenden, um PDF-Dokumente zu signieren. Die PDFSigner-Bibliothek enthält drei Klassen: Cert
, MetaData
und PDFSigner
.
Die Klasse Cert wird verwendet, um ein Zertifikat zu speichern und die für die Signatur erforderlichen Informationen zu extrahieren. Die Klasse MetaData
enthält die PDF-Metadaten, und die Klasse PDFSigner
wird verwendet, um die Signatur zu erstellen und sie dem PDF-Dokument hinzuzufügen.
Die Methode processCert
wird verwendet, um die digitalen Zertifikate zu lesen und den Eintrag für den privaten Schlüssel zu extrahieren. Er erstellt auch die Kette der digitalen Zertifikate, falls vorhanden.
Die Methode Sign
wird verwendet, um ein neues PDF-Dokument mit PDFStamper zu erstellen und ihm eine Signatur hinzuzufügen. Sie können das Erscheinungsbild der Signatur konfigurieren und ihr einen Grund, einen Kontakt und ein Ortsattribut hinzufügen. Mit der Methode "SetCrypto" wird das Dokument mit dem privaten Schlüssel und dem aus der Zertifikatsdatei extrahierten Kettenzertifikat signiert. Schließlich wird die Methode "SetVisibleSignature" verwendet, wenn dem Dokument eine sichtbare Signatur hinzugefügt werden soll.
Das folgende Beispiel zeigt, wie man eine PDF-Datei mit iTextSharp signiert:
using iTextSharp.text.pdf;
using System.IO;
public void SignPDF(string inputPDF, string outputPDF, string certPath, string certPassword, string reason, string contact, string location, bool visible) {
PdfReader reader = new PdfReader(inputPDF);
//Activate MultiSignatures
PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(outputPDF, FileMode.Create, FileAccess.Write), '\0', null, true);
//To disable Multi signatures uncomment this line:
//every new signature will invalidate older ones!
//PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(outputPDF, FileMode.Create, FileAccess.Write), '\0');
MetaData metadata = new MetaData();
metadata.setAuthor("John Doe");
metadata.setTitle("Signed PDF Document");
st.MoreInfo = metadata.getMetaData();
st.XmpMetadata = metadata.getStreamedMetaData();
PdfSignatureAppearance sap = st.SignatureAppearance;
//Read the certificate and extract the private key entry
Cert myCert = new Cert(certPath, certPassword);
sap.SetCrypto(myCert.Akp, myCert.Chain, null, PdfSignatureAppearance.WINCER_SIGNED);
sap.Reason = reason;
sap.Contact = contact;
sap.Location = location;
//Add a visible signature to the document if (visible)
sap.SetVisibleSignature(new iTextSharp.text.Rectangle(100, 100, 250, 150), 1, null);
st.Close();
}
using iTextSharp.text.pdf;
using System.IO;
public void SignPDF(string inputPDF, string outputPDF, string certPath, string certPassword, string reason, string contact, string location, bool visible) {
PdfReader reader = new PdfReader(inputPDF);
//Activate MultiSignatures
PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(outputPDF, FileMode.Create, FileAccess.Write), '\0', null, true);
//To disable Multi signatures uncomment this line:
//every new signature will invalidate older ones!
//PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(outputPDF, FileMode.Create, FileAccess.Write), '\0');
MetaData metadata = new MetaData();
metadata.setAuthor("John Doe");
metadata.setTitle("Signed PDF Document");
st.MoreInfo = metadata.getMetaData();
st.XmpMetadata = metadata.getStreamedMetaData();
PdfSignatureAppearance sap = st.SignatureAppearance;
//Read the certificate and extract the private key entry
Cert myCert = new Cert(certPath, certPassword);
sap.SetCrypto(myCert.Akp, myCert.Chain, null, PdfSignatureAppearance.WINCER_SIGNED);
sap.Reason = reason;
sap.Contact = contact;
sap.Location = location;
//Add a visible signature to the document if (visible)
sap.SetVisibleSignature(new iTextSharp.text.Rectangle(100, 100, 250, 150), 1, null);
st.Close();
}
Imports Microsoft.VisualBasic
Imports iTextSharp.text.pdf
Imports System.IO
Public Sub SignPDF(ByVal inputPDF As String, ByVal outputPDF As String, ByVal certPath As String, ByVal certPassword As String, ByVal reason As String, ByVal contact As String, ByVal location As String, ByVal visible As Boolean)
Dim reader As New PdfReader(inputPDF)
'Activate MultiSignatures
Dim st As PdfStamper = PdfStamper.CreateSignature(reader, New FileStream(outputPDF, FileMode.Create, FileAccess.Write), ControlChars.NullChar, Nothing, True)
'To disable Multi signatures uncomment this line:
'every new signature will invalidate older ones!
'PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(outputPDF, FileMode.Create, FileAccess.Write), '\0');
Dim metadata As New MetaData()
metadata.setAuthor("John Doe")
metadata.setTitle("Signed PDF Document")
st.MoreInfo = metadata.getMetaData()
st.XmpMetadata = metadata.getStreamedMetaData()
Dim sap As PdfSignatureAppearance = st.SignatureAppearance
'Read the certificate and extract the private key entry
Dim myCert As New Cert(certPath, certPassword)
sap.SetCrypto(myCert.Akp, myCert.Chain, Nothing, PdfSignatureAppearance.WINCER_SIGNED)
sap.Reason = reason
sap.Contact = contact
sap.Location = location
'Add a visible signature to the document if (visible)
sap.SetVisibleSignature(New iTextSharp.text.Rectangle(100, 100, 250, 150), 1, Nothing)
st.Close()
End Sub
Gehen Sie folgendermaßen vor, um eine PDF-Datei zu signieren:
using IronPdf;
using IronPdf;
Imports IronPdf
PdfDocument pdf = PdfDocument.FromFile("annual_census.pdf");
PdfDocument pdf = PdfDocument.FromFile("annual_census.pdf");
Dim pdf As PdfDocument = PdfDocument.FromFile("annual_census.pdf")
In diesem Beispiel laden wir eine PDF-Datei namens "annual_census.pdf" aus dem aktuellen Verzeichnis. Diese Methode gibt ein PdfDocument-Objekt zurück, das die geladene PDF-Datei darstellt.
Nehmen Sie alle erforderlichen Änderungen an der PDF-Datei vor.
In diesem Beispiel wird davon ausgegangen, dass einige Änderungen an der PDF-Datei vorgenommen wurden.
pdf.SignWithFile("/assets/IronSignature.p12", "password", null, PdfDocument.SignaturePermissions.FormFillingAllowed);
pdf.SignWithFile("/assets/IronSignature.p12", "password", null, PdfDocument.SignaturePermissions.FormFillingAllowed);
pdf.SignWithFile("/assets/IronSignature.p12", "password", Nothing, PdfDocument.SignaturePermissions.FormFillingAllowed)
In diesem Beispiel signieren wir die PDF-Datei mit einer PKCS#12-Datei namens "IronSignature.p12", die sich im Verzeichnis "/assets" befindet. Als zweites Argument geben wir das Passwort für die PKCS#12-Datei an. Das dritte Argument gibt den Grund für das Signieren der PDF-Datei an, den wir mit null angegeben haben. Das vierte Argument gibt die Berechtigungen für die Signatur an, die wir so eingestellt haben, dass nur das Ausfüllen von Formularen erlaubt ist.
PdfDocument pdfWithRevision = pdf.SaveAsRevision();
PdfDocument pdfWithRevision = pdf.SaveAsRevision();
Dim pdfWithRevision As PdfDocument = pdf.SaveAsRevision()
Diese Methode erzeugt ein neues PdfDocument-Objekt, das die ursprüngliche PDF-Datei und die Signatur als Revision enthält.
pdfWithRevision.SaveAs("annual\_census\_2.pdf");
pdfWithRevision.SaveAs("annual\_census\_2.pdf");
pdfWithRevision.SaveAs("annual\_census\_2.pdf")
In diesem Beispiel speichern wir den Dateinamen der signierten PDF-Datei als "annual_census_2.pdf" im aktuellen Verzeichnis.
Hier ist der vollständige Code:
using IronPdf; PdfDocument pdf = PdfDocument.FromFile("annual\_census.pdf");
// make any necessary edits
pdf.SignWithFile("/assets/IronSignature.p12", "password", null, PdfDocument.SignaturePermissions.FormFillingAllowed);
PdfDocument pdfWithRevision = pdf.SaveAsRevision();
pdfWithRevision.SaveAs("annual\_census_2.pdf");
using IronPdf; PdfDocument pdf = PdfDocument.FromFile("annual\_census.pdf");
// make any necessary edits
pdf.SignWithFile("/assets/IronSignature.p12", "password", null, PdfDocument.SignaturePermissions.FormFillingAllowed);
PdfDocument pdfWithRevision = pdf.SaveAsRevision();
pdfWithRevision.SaveAs("annual\_census_2.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
Nach der Unterzeichnung eines PDF-Dokuments ist es wichtig, die Unterschriften überprüfen zu können, um sicherzustellen, dass das Dokument nach der Unterzeichnung nicht manipuliert wurde.
Um die digitale PDF-Signatur mit iTextSharp in C# zu überprüfen, folgen Sie den nachstehenden Schritten:
Fügen Sie zunächst die iTextSharp-Bibliothek zu Ihrem Projekt hinzu. Sie können dies mit dem NuGet-Paketmanager in Visual Studio tun. Suchen Sie nach iTextSharp und installieren Sie es.
Definieren Sie eine Funktion zur Überprüfung der digitalen Signatur des PDF-Dokuments unter Verwendung der iTextSharp-Bibliothek.
In der Funktion erstellen Sie ein "PDFReader"-Objekt, indem Sie den Pfad des zu prüfenden PDF-Dokuments übergeben.
Als Nächstes werden die AcroFields des PDF-Dokuments mit der Methode GetAcroFields
des PdfReader
-Objekts ermittelt.
Abrufen der Signaturnamen mit der Methode "GetSignatureNames" des Objekts "ACROFields".
Iterieren Sie durch die Signaturnamen und rufen Sie das "PdfPKCS7"-Objekt für jede Signatur mit der Methode "GetSignature" des "AcroFields"-Objekts ab.
Überprüfen Sie die Signatur mit der Methode "Verify" des Objekts "PdfPKCS7".
Wenn die Signatur gültig ist, wird true zurückgegeben. Andernfalls wird false zurückgegeben.
Hier ist der Code zum Überprüfen der digitalen Signatur eines PDF-Dokuments mit iTextSharp in C#:
public static bool VerifyPdfDigitalSignature(string filePath)
{
bool isValid = false;
try
{
// Create a PdfReader object
PdfReader reader = new PdfReader(filePath);
// Get the AcroFields of the PDF document
AcroFields fields = reader.AcroFields;
// Get the signature names
List<string> names = fields.GetSignatureNames();
// Iterate through the signature names
foreach (string name in names)
{
// Get the PdfPKCS7 object for the signature
PdfPKCS7 pkcs7 = fields.VerifySignature(name);
// Verify the signature
if (pkcs7.Verify())
{
isValid = true;
}
else
{
isValid = false;
}
}
reader.Close();
}
catch (Exception ex)
{
// Handle exception
isValid = false;
}
return isValid;
}
public static bool VerifyPdfDigitalSignature(string filePath)
{
bool isValid = false;
try
{
// Create a PdfReader object
PdfReader reader = new PdfReader(filePath);
// Get the AcroFields of the PDF document
AcroFields fields = reader.AcroFields;
// Get the signature names
List<string> names = fields.GetSignatureNames();
// Iterate through the signature names
foreach (string name in names)
{
// Get the PdfPKCS7 object for the signature
PdfPKCS7 pkcs7 = fields.VerifySignature(name);
// Verify the signature
if (pkcs7.Verify())
{
isValid = true;
}
else
{
isValid = false;
}
}
reader.Close();
}
catch (Exception ex)
{
// Handle exception
isValid = false;
}
return isValid;
}
Public Shared Function VerifyPdfDigitalSignature(ByVal filePath As String) As Boolean
Dim isValid As Boolean = False
Try
' Create a PdfReader object
Dim reader As New PdfReader(filePath)
' Get the AcroFields of the PDF document
Dim fields As AcroFields = reader.AcroFields
' Get the signature names
Dim names As List(Of String) = fields.GetSignatureNames()
' Iterate through the signature names
For Each name As String In names
' Get the PdfPKCS7 object for the signature
Dim pkcs7 As PdfPKCS7 = fields.VerifySignature(name)
' Verify the signature
If pkcs7.Verify() Then
isValid = True
Else
isValid = False
End If
Next name
reader.Close()
Catch ex As Exception
' Handle exception
isValid = False
End Try
Return isValid
End Function
Im obigen Code nimmt die Funktion "VerifyPdfDigitalSignature" den Pfad des PDF-Dokuments als Parameter und gibt einen booleschen Wert zurück, der angibt, ob die digitale Signatur gültig ist oder nicht.
Beachten Sie, dass die Funktion alle Signaturen im PDF-Dokument prüft. Wenn Sie nur eine bestimmte Unterschrift überprüfen wollen, können Sie den Namen der Unterschrift als Parameter an die Methode VerifySignature
übergeben.
Wenn Sie ein PDF-Dokument haben, das eine oder mehrere digitale Signaturen enthält, können Sie IronPDF verwenden, um die Signatur zu überprüfen und sicherzustellen, dass das Dokument nicht manipuliert wurde. Mit der IronPDF-Methode "VerifyPdfSignatures" können Sie dies tun:
PdfDocument pdf = PdfDocument.FromFile("annual_census.pdf");
PdfDocument pdf = PdfDocument.FromFile("annual_census.pdf");
Dim pdf As PdfDocument = PdfDocument.FromFile("annual_census.pdf")
bool isValid = pdf.VerifyPdfSignatures();
bool isValid = pdf.VerifyPdfSignatures();
Dim isValid As Boolean = pdf.VerifyPdfSignatures()
Umgang mit dem Ergebnis Die Methode VerifyPdfSignatures gibt einen booleschen Wert zurück, der angibt, ob alle Signaturen im Dokument gültig sind oder nicht. Wenn der Wert true ist, bedeutet dies, dass alle Unterschriften gültig sind und das Dokument nicht manipuliert wurde. Ist der Wert falsch, bedeutet dies, dass eine oder mehrere Signaturen ungültig sind und das Dokument möglicherweise manipuliert wurde.
Anhand dieser Informationen können Sie geeignete Maßnahmen ergreifen, z. B. dem Benutzer eine Meldung anzeigen oder die weitere Bearbeitung des Dokuments verhindern.
Hier ist der vollständige Codeausschnitt, der zeigt, wie alle Signaturen in einem PDF-Dokument mit IronPDF überprüft werden können:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("annual_census.pdf");
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
Console.WriteLine("All signatures are valid");
}
else
{
Console.WriteLine("One or more signatures are invalid");
}
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("annual_census.pdf");
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
Console.WriteLine("All signatures are valid");
}
else
{
Console.WriteLine("One or more signatures are invalid");
}
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("annual_census.pdf")
Private isValid As Boolean = pdf.VerifyPdfSignatures()
If isValid Then
Console.WriteLine("All signatures are valid")
Else
Console.WriteLine("One or more signatures are invalid")
End If
die iTextSharp- und IronPDF-Bibliotheken haben unterschiedliche Lizenzen und Preismodelle, was bei der Auswahl für Ihr Projekt ein wichtiger Faktor sein kann.
iTextSharp ist lizenziert unter der Affero General Public License (AGPL)die AGPL ist eine Copyleft-Lizenz, die verlangt, dass jede Software, die iTextSharp verwendet, auch unter der AGPL lizenziert wird.
Es sind jedoch auch kommerzielle Lizenzen für iTextSharp erhältlich, die es Entwicklern ermöglichen, die Bibliothek in proprietärer Software zu verwenden, ohne ihren Quellcode freigeben zu müssen.
Die Preise für kommerzielle iTextSharp-Lizenzen variieren je nach Anzahl der Entwickler und Einsatzinstanzen.
IronPDF hingegen ist eine kommerzielle Bibliothek, für deren Nutzung eine kostenpflichtige Lizenz erforderlich ist. Die Preisgestaltung für IronPDF basiert auf der Anzahl der Entwickler und Bereitstellungsinstanzen, ähnlich wie bei iTextSharp.
IronPDF bietet den Nutzern aber auch eine kostenlose Testversion mit eingeschränkter Funktionalität, die für nicht-kommerzielle Projekte genutzt werden kann.
In Bezug auf preisgestaltungironPDF ist möglicherweise die bessere Wahl für kleinere Projekte oder Projekte mit begrenztem Budget, da die kostenlose Testversion einige Funktionen kostenlos zur Verfügung stellt.
Für größere Projekte oder Projekte mit speziellen Lizenzanforderungen kann iTextSharp jedoch aufgrund seines dualen Lizenzierungsmodells und der Unterstützung der AGPL die bessere Wahl sein.
IronPDF und iTextSharp sind zwei beliebte Bibliotheken für die Arbeit mit PDF-Dateien in C#. Obwohl beide Bibliotheken ähnliche Funktionen für die Arbeit mit PDF-Dokumenten bieten, gibt es einige Unterschiede zwischen ihnen, die Entwickler bei der Wahl der zu verwendenden Bibliothek berücksichtigen sollten.
Vom technischen Standpunkt aus betrachtet ist IronPDF eine moderne .NET-Bibliothek, die eine einfache und intuitive API für die Arbeit mit PDF-Dateien bietet. Es unterstützt eine breite Palette von PDF-Funktionen, einschließlich Text, Bilder, Formulare und digitale Signaturen. IronPDF bietet auch fortgeschrittene Funktionen wie HTML-zu-PDF-Konvertierung und PDF-Bearbeitung.
Auf der anderen Seite ist iTextSharp eine ausgereifte PDF-Bibliothek mit einer komplexeren API, die möglicherweise mehr Lernaufwand erfordert. Allerdings bietet iTextSharp erweiterte Funktionen wie Low-Level-PDF-Manipulation und Unterstützung für eine breite Palette von PDF-Standards.
Hinsichtlich der Lizenzierung bietet IronPDF ein einfaches kommerzielles Lizenzmodell, das es Entwicklern erlaubt, die Bibliothek in proprietärer Software zu verwenden, ohne ihren Quellcode freigeben zu müssen. Dies erleichtert Entwicklern die Verwendung von IronPDF in kommerziellen Projekten, ohne sich Gedanken über die Einhaltung der Lizenzbestimmungen machen zu müssen. iTextSharp hingegen bietet ein duales Lizenzierungsmodell mit einer freien AGPL-Lizenz und einer kommerziellen Lizenz für proprietäre Software. Dies gibt den Entwicklern zwar mehr Flexibilität, kann aber auch komplizierter zu handhaben sein.
Aus technischer Sicht bietet IronPDF eine modernere und intuitivere API, die für Entwickler einfacher zu handhaben sein dürfte. Darüber hinaus bietet IronPDF erweiterte Funktionen wie HTML-zu-PDF-Konvertierung und PDF-Bearbeitung, die für bestimmte Projekte nützlich sein können. Allerdings bietet iTextSharp fortgeschrittenere Funktionen wie Low-Level-PDF-Manipulation und Unterstützung für eine breite Palette von PDF-Standards.
IronPDF steht den Nutzern für einen kostenloser Test und können lizenziert für die kommerzielle Nutzung mit seinem Lite-Paket ab nur 499 $.
Schließlich bietet IronPDF eine Sonderaktion an, bei der Entwickler alle 6 Produkte von Iron Software zum Preis von zwei kaufen können Iron Software produkte. Dadurch können Entwickler zu einem erschwinglichen Preis Zugang zu einer breiten Palette leistungsstarker .NET-Bibliotheken erhalten.
9 .NET API-Produkte für Ihre Bürodokumente