2020-12-09

Java 获取PDF中的数字签名信息

一、概述及程序环境要求

本文以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.

<repositories> <repository>  <id>com.e-iceblue</id>  <url></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 添加及验证PDF数字签名

 









原文转载:http://www.shaoqun.com/a/497318.html

萌店:https://www.ikjzd.com/w/1538

亚马逊应用商店:https://www.ikjzd.com/w/531

汇通达:https://www.ikjzd.com/w/1758


一、概述及程序环境要求本文以Java代码演示如何获取PDF文档中的数字签名信息,包括签名人、签名位置、日期、原因、联系方式、签名在文档中的坐标等等。程序环境包括:Spire.Pdf.jar(jar版本:3.11.6)Jdk1.8.0(版本要求>=1.6.0版本即可)IDEA编辑代码前先导入jar到Java程序,两种导入方法供选择,可按需任选其一即可:1.下载jar包导入:下载后解压到指定路径
bsci:bsci
FEN:FEN
口述:少妇讲述被邻居做爱诱惑的经历(5/5):口述:少妇讲述被邻居做爱诱惑的经历(5/5)
香港挪亚方舟好玩吗?门票是多少?:香港挪亚方舟好玩吗?门票是多少?
中国美食申遗 舌尖上的中国味你喜欢哪个(全文):中国美食申遗 舌尖上的中国味你喜欢哪个(全文)

No comments:

Post a Comment