文档中的数字签名具有不可否认性,可有效防伪防篡改。对文档中已有的数字签名信息,可通过一定方法获取,下面通过程序代码介绍如何来实现。程序中,使用了Spire.PDF.dll,版本:6.11.6,可自行在官网下载包,或者通过Nuget下载。下载后,在程序中添加引用dll文件。如下添加引用效果:

完成dll文件添加引用后,可参考如下代码来操作:

[C#]

using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Security;
using Spire.Pdf.Widget;
using System;
using System.Drawing;namespace GetSignature
{class Program{static void Main(string[] args){//创建PdfDocument实例PdfDocument pdf = new PdfDocument();//加载含有签名的PDF文件pdf.LoadFromFile("数字签名.pdf");//获取域集合PdfFormWidget pdfFormWidget = (PdfFormWidget)pdf.Form;PdfFormFieldWidgetCollection pdfFormFieldWidgetCollection = pdfFormWidget.FieldsWidget;//遍历域for (int i = 0; i < pdfFormFieldWidgetCollection.Count; i++){//判定是否为签名域if (pdfFormFieldWidgetCollection[i] is PdfSignatureFieldWidget){//获取签名域PdfSignatureFieldWidget signatureFieldWidget = (PdfSignatureFieldWidget)pdfFormFieldWidgetCollection[i];//获取签名PdfSignature signature = signatureFieldWidget.Signature;String location = signature.LocationInfo;String reason = signature.Reason;String data = signature.Date.ToString();Console.WriteLine("签名位置信息:" + location + "\n" +"签名原因:" + reason + "\n" +"签名日期:" + data + "\n" +"文档中的签名坐标:X = " + signatureFieldWidget.Location.X + "  Y = " + signatureFieldWidget.Location.Y);Console.ReadLine();}}}}
}

[VB.NET]

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports Spire.Pdf.Security
Imports Spire.Pdf.Widget
Imports System.DrawingNamespace GetSignatureClass ProgramPrivate Shared Sub Main(args As String())'创建PdfDocument实例Dim pdf As New PdfDocument()'加载含有签名的PDF文件pdf.LoadFromFile("数字签名.pdf")'获取域集合Dim pdfFormWidget As PdfFormWidget = DirectCast(pdf.Form, PdfFormWidget)Dim pdfFormFieldWidgetCollection As PdfFormFieldWidgetCollection = pdfFormWidget.FieldsWidget'遍历域For i As Integer = 0 To pdfFormFieldWidgetCollection.Count - 1'判定是否为签名域If TypeOf pdfFormFieldWidgetCollection(i) Is PdfSignatureFieldWidget Then'获取签名域Dim signatureFieldWidget As PdfSignatureFieldWidget = DirectCast(pdfFormFieldWidgetCollection(i), PdfSignatureFieldWidget)'获取签名Dim signature As PdfSignature = signatureFieldWidget.SignatureDim location As [String] = signature.LocationInfoDim reason As [String] = signature.ReasonDim data As [String] = signature.[Date].ToString()Console.WriteLine("签名位置信息:" + location + vbLf + "签名原因:" + reason + vbLf + "签名日期:" + data + vbLf + "文档中的签名坐标:X = " + signatureFieldWidget.Location.X + "  Y = " + signatureFieldWidget.Location.Y)Console.ReadLine()End IfNextEnd SubEnd Class
End Namespace

数字签名信息获取结果:

相关阅读推荐:

  • C# 删除PDF中的数字签名
  • C# 给PDF添加时间戳
  • C# 在PDF中添加签名域

C# / VB 获取PDF文档的数字签名信息相关推荐

  1. [开发笔记]-C#获取pdf文档的页数

    [操作pdf文档]之C#判断pdf文档的页数: /// <summary>/// 获取pdf文档的页数/// </summary>/// <param name=&quo ...

  2. 如何对PDF文档进行数字签名

    数字签名与传统的手写签名一样,必须验证签署文件中签名人身份的真实性.对PDF文档进行数字签名必须确认以下两点:一是文件的确是由签名者签署:二是文件内容自签发后到收到为止未曾做过任何修改.文档签名证书不 ...

  3. VUE 获取PDF文档流直接打印

    一.项目需求 前端点击按钮直接调起打印对应pdf文档. 二.踩坑 刚开始通过api获取后端给的PDF地址,创建一个隐藏的iframe标签src设置为pdf地址:前端通过获取隐藏的iframe标签的id ...

  4. python之pdfminer:从PDF文档中抽取信息的工具

    pdfminer是一个用于从PDF文档中抽取信息的Python库.它提供了一系列的功能,使我们能够读取和解析PDF文件,并从中提取文本内容.元数据.页面布局和图片等.本文将详细介绍pdfminer库的 ...

  5. 使用pymupdf获取pdf文档中的文本下划线信息(全网唯一解决方案)

    1,问题描述 最近,公司需要对一批pdf文档进行解析,获取其中文字,并再展示到前端页面上.如果单纯地提取文字,其实非常容易,但麻烦的在于保存原有文档中的文本格式,例如加粗.斜体.下划线,以及三者的各种 ...

  6. itext设置pdf的尺寸_如何获取pdf文档iText 7的页面大小-问答-阿里云开发者社区-阿里云...

    我在iText 7中有一个Java程序,可以接收JSON数据并生成一个PDF文档(带有页眉和页脚),该文档可以很好地处理clientData注释中的变量中的数据,但是当在无注释clientData中使 ...

  7. Java获取文档页数_获取PDF文档中的页数

    一个简单的命令行可执行文件,名为:pdfinfo . 这是downloadable for Linux and Windows . 您下载包含几个与PDF相关的小程序的压缩文件 . 在某处提取它 . ...

  8. 如何免费创建PDF文档?创建PDF文档的9个工具

    PDF 创建器是一种程序.应用程序或软件,旨在制作或创建 PDF 文档.自可移植文档格式 ( PDF ) 出现以来,文档共享和存储变得更加容易.PDF 还使文件交换更加安全.由于 PDF 格式的众多优 ...

  9. iOS 开发之 pdf 文档的加载与浏览的 4 种方式

    原文链接:http://www.jianshu.com/p/1d4305a02ea5 在我们的开发中,有些像电子书类型的 app 的开发会涉及到 pdf 文档的加载与展示.由于笔者项目中正好涉及到这块 ...

最新文章

  1. JavaWeb 错误/异常时页面提示
  2. OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测
  3. 高性能mysql_事务及4种隔离级别
  4. Django框架-Form组件
  5. Linux开机运行应用程序
  6. 【clickhouse】clickhouse 同时查询数过多 Too many simultaneous queries
  7. 桌面养花-DesktopPlant v2.3.12原创汉化版
  8. [工具][转载] ExtractData 1.08更新
  9. 电容式触摸按键原理调研总结
  10. 如何将CHM转换为PDF文件?
  11. Maven概念,项目目录结构
  12. 电路图:LM3886低音炮电路
  13. WorkPlus SE | 全国第1个永久免费的即时通讯软件!
  14. 如何实现从M个数字选取N个数字排列算法
  15. 在 Linux中安装中文输入法
  16. B站网页黑白色转彩色(油猴)
  17. 闸站水质监测站——水质自动监测系统的应用
  18. RUP(Rational Unified Process)说明与模板(中文、英文)
  19. 网页美工设计色彩搭配原则
  20. Reson7125、Klein3000和SES2000出海总结(2019年7月)

热门文章

  1. 计算机视觉中的双目立体视觉和体积度量
  2. TPAMI 2022|华为诺亚最新视觉Transformer综述
  3. 安装Tomcat步骤
  4. 个人理财有哪些基本原理和方法?——知乎李东旭
  5. 使用 EF Core Power Tools 和 CoreAdmin 在 5 分钟内将管理员 CRUD 网页添加到您的 ASP.NET Core Web 应用程序
  6. 互联网晚报|12/27星期二| ​​国家卫健委:取消入境后全员核酸检测和集中隔离;新冠肺炎更名为新冠感染;知网回应被罚8760万...
  7. 利用MATLAB 2016a进行BP神经网络的预测(含有神经网络工具箱)
  8. REST-Assured,接口自动化的 “瑞士军刀“- 初识篇
  9. matlab 二次不等式约束,请教高手如何用matlab解多元二次不等式的解,有三个未知数x1,x2,x3,约束条件如下:...
  10. mp3计算机无法识别,MP3\MP4连接windows电脑后无法识别怎么办