- Code: Select all
String input = "DigitalSignature.pdf";
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(input);
//Load the certificate
String pfxPath = @"C:\Program Files (x86)\e-iceblue\Spire.Pdf\Demos\Data\gary.pfx";
PdfCertificate cert = new PdfCertificate(pfxPath, "e-iceblue");
PdfSignature signature = new PdfSignature(doc, doc.Pages[0], cert, "signature0");
signature.Bounds = new RectangleF(new PointF(90, 550), new SizeF(270, 90));
//Load sign image source.
//signature.SignImageSource = PdfImage.FromFile(@"..\..\..\..\..\..\Data\E-iceblueLogo.png");
//Set the dispay mode of graphics, if not set any, the default one will be applied
signature.GraphicsMode = GraphicMode.SignImageAndSignDetail;
signature.NameLabel = "Signer:";
signature.Name = "Gary";
signature.ContactInfoLabel = "ContactInfo:";
signature.ContactInfo = signature.Certificate.GetNameInfo(System.Security.Cryptography.X509Certificates.X509NameType.SimpleName, true);
signature.DateLabel = "Date:";
signature.Date = DateTime.Now;
signature.LocationInfoLabel = "Location:";
signature.LocationInfo = "Chengdu";
signature.ReasonLabel = "Reason: ";
signature.Reason = "The certificate of this document";
signature.DistinguishedNameLabel = "DN: ";
signature.DistinguishedName = signature.Certificate.IssuerName.Name;
signature.DocumentPermissions = PdfCertificationFlags.AllowFormFill | PdfCertificationFlags.ForbidChanges;
signature.Certificated = true;
//Set fonts. if not set, default ones will be applied.
signature.SignDetailsFont = new PdfFont(PdfFontFamily.TimesRoman, 10f);
signature.SignNameFont = new PdfFont(PdfFontFamily.Courier, 15);
//Set the sign image layout mode
signature.SignImageLayout = SignImageLayout.None;
//Save pdf file.
doc.SaveToFile("DigitalSignature.pdf");
doc.Close();
Here is stack trace:
- Code: Select all
at Spire.Pdf.Security.PdfSignature.ᜀ(PdfCanvas A_0, String A_1, Single A_2, Single A_3)
at Spire.Pdf.Security.PdfSignature.ᜀ(PdfTemplate A_0)
at Spire.Pdf.Security.PdfSignature.ᜀ(PdfSignatureField A_0)
at Spire.Pdf.Security.PdfSignature.ᜀ(Object A_0, EventArgs A_1)
at spr⺖.ᜀ(EventArgs A_0)
at spr⺖.ᜋ()
at Spire.Pdf.Annotations.PdfAnnotation.ᜀ(Object A_0, sprẊ A_1)
at sprẋ.Invoke(Object A_0, sprẊ A_1)
at sprẈ.ᜀ(sprẊ A_0)
at sprẈ.ᜀ(sprḰ A_0, Boolean A_1)
at sprẈ.ᜅ(sprḰ A_0)
at sprἊ.ᜀ(sprḮ A_0, sprẏ A_1, sprἓ A_2)
at sprἊ.ᜀ(sprḮ A_0, sprἓ A_1)
at sprἊ.ᜄ(sprἓ A_0)
at sprἊ.ᜅ(sprἓ A_0)
at spr⹎.ᜁ(sprἓ A_0)
at spr⹎.ᜂ(Stream A_0)
at Spire.Pdf.PdfDocumentBase.Save(String filename)
at Spire.Pdf.PdfDocumentBase.Save(String fileName, FileFormat fileformat)
at Spire.Pdf.PdfDocument.SaveToFile(String filename, FileFormat fileFormat)
at ConsoleApp2.Program.Main(String[] args) in C:\Users\someUser\source\repos\ConsoleApp2\ConsoleApp2\Program.cs:line 63
What I am doing wrong here?