PdfiumViewer组件扩展(Pdfium.Net.Free)--签名
项目地址:
Pdfium.Net:https://github.com/1000374/Pdfium.Net.Free
PdfiumViewer:https://github.com/1000374/PdfiumViewer
Pdfium.Net.Free 支持
-
.NETFramework 4.0
-
.NETFramework 4.5
-
.NETStandard 2.0
- .Net8.0
可以和PdfiumViewer.Free共同使用预览、编辑pdf,也可以直接引用Pdfium.Net.Free 操作pdf,Pdfium.Net.Free封装了现有Pdfium的函数,实现了部分操作pdf的功能,部分功能等待后续~~
获取PDF签名信息,不知如何解析签名内容,所以组件没办法做验签。只能获取获取签名个数、编码、原因、时间等基本信息,有知道的大佬可以共同探讨下
签名信息包括:
- 签名个数
- 签名对象
- 签名对象的编码
- 签名内容字节流(需根据编码解析)
- 签名字节数组(发现和内容字节流一直)
- 签名原因
- 签名时间
- 签名对象的DocMDP权限
var pathPdf = "./Pdfium.NetTests/resources/signature_reason.pdf"; using (var doc = PdfDocument.Load(new MemoryStream(File.ReadAllBytes(pathPdf)))) { var len = doc.GetSignatureCount(); for (int i = 0; i < len; i++) { var sign = doc.GetSignatureObject(i); var encoding = sign.GetSubFilter(); var strSign = sign.GetContents(); var strSign1 = sign.GetByteRange(); var strReason = sign.GetReason(); var strTime = sign.GetTime(); var press = sign.GetDocMDPPermission(); } }
组件可对签名信息展示,由于暂时无法获取签名坐标及尺寸大小,所以无法选中: