本文以Java代码演示如何获取PDF文档中的数字签名信息,包括签名人、签名位置、日期、原因、联系方式、签名在文档中的坐标等等。
程序环境包括:
- Spire.Pdf.jar(jar版本:3.11.6)
- Jdk 1.8.0(版本要求>=1.6.0版本即可)
- IDEA
编辑代码前先导入jar到Java程序,两种导入方法供选择,可按需任选其一即可:
1. 下载jar包导入:下载后解压到指定路径,并将lib文件夹下的spire.pdf.jar手动导入Java程序;
2. maven程序中配置pom.xml文件,指定spire的maven路径及依赖,参考如下:
<repositories> <repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf</artifactId> <version>3.11.6</version> </dependency> </dependencies>
配置完成后,导入jar到程序。
注:程序环境可不用安装Adobe Acrobat
二、Java代码
import com.spire.pdf.*; import com.spire.pdf.security.PdfSignature; import com.spire.pdf.widget.PdfFormFieldWidgetCollection; import com.spire.pdf.widget.PdfFormWidget; import com.spire.pdf.widget.PdfSignatureFieldWidget; public class GetSignature { public static void main(String[] args) { //创建PdfDocument实例 PdfDocument pdf = new PdfDocument(); //加载含有签名的PDF文件 pdf.loadFromFile("AddSignature.pdf"); //获取域集合 PdfFormWidget pdfFormWidget = (PdfFormWidget) pdf.getForm(); PdfFormFieldWidgetCollection pdfFormFieldWidgetCollection = pdfFormWidget.getFieldsWidget(); //遍历域 for (int i = 0; i < pdfFormFieldWidgetCollection.getCount(); i++) { //判定是否为签名域 if (pdfFormFieldWidgetCollection.get(i) instanceof PdfSignatureFieldWidget) { //获取签名域 PdfSignatureFieldWidget signatureFieldWidget = (PdfSignatureFieldWidget) pdfFormFieldWidgetCollection.get(i); //获取签名 PdfSignature signature = signatureFieldWidget.getSignature(); String location = signature.getLocationInfo(); String reason = signature.getReason(); String data = signature.getDate().toString(); String name = signature.getSignatureName(); System.out.println("签名位置信息:"+ location +"\n"+ "签名原因:" + reason +"\n"+ "签名日期:"+ data +"\n"+ "签名人:"+ name +"\n"+ "文档中的签名坐标:X = "+ signatureFieldWidget.getLocation().getX()+ " Y = "+ signatureFieldWidget.getLocation().getY() ); } } } }
相关推荐
Java 数字签名、数字证书的相关实例。 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据...
Java 数字签名、数字证书的相关实例。 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据...
Java 数字签名、数字证书的相关实例。 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据...
Java 数字签名、数字证书的相关实例。 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据...
Java 数字签名、数字证书的相关实例。 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据...
Java 数字签名、数字证书的相关实例。 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据...
有关数字签名PDF的更多信息,请访问: : 。 请注意,这是一个高度专业的应用程序; 如果您需要它,您会知道的!基本原理我工作的组织是签名PDF文档的大量用户,主要用于验证,时间戳和不可否认性。 实际上,所有...
Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,系统相关,数字签名,数字证书 Java 数字签名、数字证书的相关实例。 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用...
国际权威认证 软件经过权威机构安全数字签名认证,通过多种环境及杀毒软件测试,可安全运行。 运行环境要求: 客户端操作系统:WindowsXP/2003/2008/Vista/Win7,支持32位及64位操作系统 使用支持ActiveX功能的...
Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,系统相关,数字签名,数字证书 Java 数字签名、数字证书的相关实例。 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用...
spring-cloud-digital-sign Sign personal RSA2 certificate in PDF documents, under coding, ...调用封装好的签名算法,将数字证书签署在转换好的PDF合同上 How to use I am making big change, please don't use
19.2 数字签名认证 206 19.3 破译加密的数据 207 19.4 保护网络 207 19.4.1 登录名和口令 208 19.4.2 文件的目录允许权限 208 19.4.3 信任关系 209 19.4.4 UNIX和Linux系统上的UUCP 209 19.5 应付最坏情况 210 19.6 ...
10.1.4 ActiveX控件的数字签名 10.1.5 Active控件的使用许可 10.1.6 包装AcitveX控件 10.2 改造Ticker控件——例程IETickerCtrl 10.2.1 ATL轻型控件 10.2.2 标记控件为初始化/脚本安全 10.2.3 持续属性 10.3 在...
远程访问协议 175 17.1 远程互联 175 17.1.1 ISDN 176 17.1.2 电缆调制解调器 176 17.1.3 数字用户环(DSL) 176 17.1.4 无线网络 177 17.2 远程认证拨入用户服务(RADIUS) 177 17.2.1 RADIUS认证...
3.1. 数字签名 ...................................................................................................... 7 3.1.1. 签名机制.....................................................................