首页 > 其他分享 >Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--签名

Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--签名

时间:2024-01-31 18:16:15浏览次数:26  
标签:-- doc Pdfium Free sign 签名 var Net

项目地址:

Pdfium.Net:https://github.com/1000374/Pdfium.Net

PdfiumViewer:https://github.com/1000374/PdfiumViewer

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

 

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

 

标签:--,doc,Pdfium,Free,sign,签名,var,Net
From: https://www.cnblogs.com/xiaohemiao/p/17999528

相关文章

  • 3、linux配置静态ip
    linux配置静态ip1、找到ifcfg-ens*网络配置文件使用root用户编辑ifcfg-ens192文件,每个版本的可能后缀有点不一样cd/etc/sysconfig/network-scripts/viifcfg-ens1922、配置ifcfg-ens*更改的配置项为:更改为静态ip:BOOTPROTO=static(修改)开机启动:ONBOOT=yes(修改)配置本机......
  • 1/31 学习进度笔记
    今日完成了商单案例:源码:#coding:utf8frompysparkimportStorageLevelfrompyspark.sqlimportSparkSessionfrompyspark.sqlimportfunctionsasFfrompyspark.sql.typesimportStringTypeif__name__=='__main__':spark=SparkSession.builder.appName(&qu......
  • 2、linux增加域名代替ip
    linux增加域名代替ip1、查看当前的域名配置列表cat/etc/hosts2、配置域名vi/etc/hosts/etc/hosts:192.168.0.10为当前服务器ip192.168.0.20为配置其他服务ip127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4::1localhostl......
  • SQL Server MERGE(合并)语句
    来源 https://www.cnblogs.com/yigegaozhongsheng/p/11941734.html如何使用SQLServerMERGE语句基于与另一个表匹配的值来更新表中的数据。  SQLServer MERGE语句 假设有两个表,分别称为源表和目标表,并且需要根据与源表匹配的值来更新目标表。有以下三种情况: 源表......
  • Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--删除或编辑pdf内容
    项目地址:Pdfium.Net:https://github.com/1000374/Pdfium.NetPdfiumViewer:https://github.com/1000374/PdfiumViewer如需删除或者编辑pdf中的内容,首先要获取pdf内需要修改或者删除的对象,所有对页面编辑操作都需要调用GenerateContent函数方才生效获取pdf所有对象的方法:返回的信......
  • 阅读笔记
    《人月神话》是软件工程领域的一部经典之作,它以其独特的视角和深刻的洞察力,让我对软件开发有了更加全面和深入的认识。在阅读这本书的过程中,我深深地被作者对软件开发的独到见解所吸引。作者通过自己在IBM公司从事大型软件项目开发的亲身经历,向我们揭示了软件开发过程中的种种困......
  • Qt QPushButton 点击信号分析
    QPushButton有三个很重要的信号跟点击有关pressedclickedtoggled表面上看,pressed和clicked都会在点击按钮时触发,它们有什么区别呢?toggled好像有时候触发,有时候不触发,到底怎么回事呢?下面就一起聊一下这三个信号首先,这三个信号都是从QAbstractButton继承来的,也就是说,下面情......
  • Matplotlib绘图设置中文字体
    importmatplotlibimportmatplotlib.pyplotaspltmatplotlib.font_manager.fontManager.addfont("/home/lixg/.fonts/msyh.ttf")#查看字体名以及对应的字体文件名#forfontinfont_manager.fontManager.ttflist:#print(font.name,'-',font.fname)plt.r......
  • ssh: connect to host github.com port 22: Connection timed out
    ssh:connecttohostgithub.comport22:Connectiontimedout本地pull/push推送代码到github.com项目报错22端口超时,测试连接也是超时,如下图: 因为已经开强了,所以网络是通的,Google也正常访问怀疑是ssh秘钥问题,发现官方文档有相关介绍,按着操作解决。官方文档放在最后。......
  • 1.27
    《程序员的修炼之道:从小工到专家》的第七章节主要探讨了“掌握语言之利器”的话题。这一章节强调了掌握编程语言的重要性,以及如何选择适合自己的编程语言。首先,作者指出掌握编程语言是每个程序员必备的技能。编程语言是程序员与计算机交流的工具,只有掌握了编程语言,才能更好地......