Inhaltsverzeichnis
Über NuGet installiert
PM> Install-Package Spire.PDF
verwandte Links
Die digitale Signatur stellt sicher, dass das signierte Dokument von niemand anderem als seinem Autor verändert werden kann. Das Hinzufügen von Signaturen ist die gebräuchlichste Methode, um die Authentizität des Dokumentinhalts sicherzustellen. Eine visuelle digitale Signatur in einem PDF-Dokument kann Text oder ein Bild anzeigen (z. B. eine handschriftliche Unterschrift). In diesem Artikel erfahren Sie, wie das geht PDFs digital signieren Die Verwendung von Spire.PDF for .NET unter den folgenden drei Gesichtspunkten.
- PDF mit Text digital signieren
- PDF mit einem Bild digital signieren
- Signieren Sie PDFs digital mit Text und einem Bild
Installieren Sie Spire.PDF for .NET
Zunächst müssen Sie die im Spire.PDF for.NET-Paket enthaltenen DLL-Dateien als Referenzen in Ihrem .NET-Projekt hinzufügen. Die DLL-Dateien können entweder über diesen Link heruntergeladen oder über NuGet installiert werden.
PM> Install-Package Spire.PDF
PDF mit Text digital signieren
Im Folgenden finden Sie die Schritte zum Hinzufügen einer Nur-Text-Signatur zu einem PDF-Dokument.
- Erstellen Sie ein PdfDocument-Objekt und laden Sie eine Beispiel-PDF-Datei mit der Methode PdfDocument.LoadFromFile().
- Laden Sie eine PFX-Zertifikatdatei, während Sie das PdfCertificate-Objekt initialisieren.
- Erstellen Sie ein PdfSignature-Objekt und geben Sie dessen Position und Größe im Dokument an.
- Stellen Sie den Signaturgrafikmodus auf SignDetail ein, wodurch die Signaturdetails im Klartext angezeigt werden.
- Legen Sie die Signaturdetails, einschließlich Name, Kontaktinformationen, Grund, Datum usw., über die Eigenschaften unter dem PdfSignature-Objekt fest.
- Legen Sie die Berechtigungen des zertifizierten Dokuments auf ForbidChanges und AllowFormFill fest.
- Speichern Sie das Dokument mit der Methode PdfDocument.SaveToFile() in einer anderen Datei.
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Security; using System; using System.Drawing; using Spire.Pdf.Graphics; namespace AddTextSignature { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count-1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 340, 150, 290, 100); signature.Bounds = rectangleF; signature.Certificated = true; //Set the graphics mode to sign detail signature.GraphicsMode = GraphicMode.SignDetail; //Set the signature content signature.NameLabel = "Signer:"; signature.Name = "Gary"; signature.ContactInfoLabel = "Phone:"; signature.ContactInfo = "0123456"; signature.DateLabel = "Date:"; signature.Date = DateTime.Now; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "USA"; signature.ReasonLabel = "Reason:"; signature.Reason = "I am the author"; signature.DistinguishedNameLabel = "DN:"; signature.DistinguishedName = signature.Certificate.IssuerName.Name; //Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS",12f,FontStyle.Regular)); //Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; //Save to file doc.SaveToFile("TextSignature.pdf"); doc.Close(); } } }
PDF mit einem Bild digital signieren
Im Folgenden finden Sie die Schritte zum Hinzufügen einer Bildsignatur zu einem PDF-Dokument.
- Erstellen Sie ein PdfDocument-Objekt und laden Sie eine Beispiel-PDF-Datei mit der Methode PdfDocument.LoadFromFile().
- Laden Sie eine PFX-Zertifikatdatei, während Sie das PdfCertificate-Objekt initialisieren.
- Erstellen Sie ein PdfSignature-Objekt und geben Sie dessen Position und Größe im Dokument an.
- Stellen Sie den Signaturgrafikmodus auf SignImageOnly ein, wodurch nur das Signaturbild angezeigt wird.
- Legen Sie das Signaturbild über die Eigenschaft PdfSignature.SignImageSource fest.
- Legen Sie die Berechtigungen des zertifizierten Dokuments auf ForbidChanges und AllowFormFill fest.
- Speichern Sie das Dokument mit der Methode PdfDocument.SaveToFile() in einer anderen Datei.
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Graphics; using Spire.Pdf.Security; using System.Drawing; namespace AddImageSignature { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count - 1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 200, 150, 130, 130); signature.Bounds = rectangleF; signature.Certificated = true; //Set the graphics mode to image only signature.GraphicsMode = GraphicMode.SignImageOnly; //Set the sign image source signature.SignImageSource = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\verified.png"); //Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular)); //Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; //Save to file doc.SaveToFile("ImageSignature.pdf"); doc.Close(); } } }
Signieren Sie PDFs digital mit Text und einem Bild
Im Folgenden finden Sie die Schritte zum digitalen Signieren eines PDF-Dokuments mit Text und einem Bild.
- Erstellen Sie ein PdfDocument-Objekt und laden Sie eine Beispiel-PDF-Datei mit der Methode PdfDocument.LoadFromFile().
- Laden Sie eine PFX-Zertifikatdatei, während Sie das PdfCertificate-Objekt initialisieren.
- Erstellen Sie ein PdfSignature-Objekt und geben Sie dessen Position und Größe im Dokument an.
- Stellen Sie den Signaturgrafikmodus auf SignImageAndSignDetail ein, wodurch sowohl das Signaturbild als auch die Details angezeigt werden.
- Legen Sie das Signaturbild über die Eigenschaft PdfSignature.SignImageSource fest und legen Sie die Signaturdetails, einschließlich Name, Kontaktinformationen, Grund, Datum usw., über andere Eigenschaften unter dem PdfSignature-Objekt fest.
- Legen Sie die Berechtigungen des zertifizierten Dokuments auf ForbidChanges und AllowFormFill fest.
- Speichern Sie das Dokument mit der Methode PdfDocument.SaveToFile() in einer anderen Datei.
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Security; using System; using System.Drawing; using Spire.Pdf.Graphics; namespace AddTextAndImageSignature { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count - 1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 320, 150, 260, 110); signature.Bounds = rectangleF; signature.Certificated = true; //Set the graphics mode to image and sign detail signature.GraphicsMode = GraphicMode.SignImageAndSignDetail; //Set the signature content signature.NameLabel = "Signer:"; signature.Name = "Gary"; signature.ContactInfoLabel = "Phone:"; signature.ContactInfo = "0123456"; signature.DateLabel = "Date:"; signature.Date = DateTime.Now; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "USA"; signature.ReasonLabel = "Reason:"; signature.Reason = "I am the author"; signature.DistinguishedNameLabel = "DN:"; signature.DistinguishedName = signature.Certificate.IssuerName.Name; //Set the signature image source signature.SignImageSource = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\handSignature.png"); //Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular)); //Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; //Save to file doc.SaveToFile("TextAndImageSignature.pdf"); doc.Close(); } } }
Beantragen Sie eine temporäre Lizenz
Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.