我正在使用syncfusion组件将Word转换为PDF,然后在syncfusion提供的PDF.pfx文件中的pdf文件上应用签名。 这是代码参考:
打开PDF文档并应用签名:
PdfLoadedDocument document = new PdfLoadedDocument("WordtoPDF8.pdf");
PdfLoadedPage page = document.Pages[0] as PdfLoadedPage;
//Creates a signature field.
PdfSignatureField signatureField = new PdfSignatureField(page, "SignatureField");
signatureField.Bounds = new RectangleF(0, 0, 100, 100);
signatureField.Signature = new PdfSignature(document, page, new PdfCertificate(@"C:\Users\someUser\AppData\Local\Syncfusion\EssentialStudio\14.4.0.15\Common\Data\PDF\PDF.pfx", "syncfusion"), "SignatureField");
signatureField.Signature.Reason = "I am author of this document";
//Adds the field.
document.Form.Fields.Add(signatureField);
//Saves the certified PDF document.
document.Save();
//Closes the document
document.Close(true);
现在打开文档并使用以下代码阅读签名:
PdfLoadedDocument loadedDocument = new PdfLoadedDocument("WordtoPDF8.pdf");
//Gets the page of the document
PdfLoadedPage page1 = loadedDocument.Pages[0] as PdfLoadedPage;
//Gets the signature field from the PDF document
PdfLoadedField field = null;;
loadedDocument.Form.Fields.TryGetField("syncfusion",out field);
PdfLoadedSignatureField field2 = loadedDocument.Form.Fields[0] as PdfLoadedSignatureField;
//Get PDF Certificate instance from signature field
PdfCertificate certificate2 = field2.Signature.Certificate;
//Get the certificate details
string subjectName = certificate2.SubjectName;
string issuerName = certificate2.IssuerName;
我得到的问题是,当我获得certificate2为空时。我不知道问题出在哪里。帮助将不胜感激。
答案 0 :(得分:0)
最近(即从v16.4.0.42开始)提供了从现有已签名的PDF文档中检索证书详细信息的支持。请参考下面的链接以下载最新的Essential Studio。
请检查以上最新版本,以解决PdfCertificate空问题。 注意:我为Syncfusion工作。
关于, 迪莉·巴布。