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();
    }
}

 

组件可对签名信息展示,由于暂时无法获取签名坐标及尺寸大小,所以无法选中:

 

posted @ 2024-01-31 18:01  小树禾小央  阅读(24)  评论(0编辑  收藏  举报