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

 时间:2026-02-14 04:59:34

1、两种导入方法,任选其一即可:

1. 手动导入jar:在eiceblue中文官网下载Spire.PDF for Java的包,解压到指定路径,将lib文件夹里的spire.pdf.jar文件手动导入java程序。

2. maven仓库导入:需要配置pom.xml文件,指定maven仓库路径及spire.pdf.jar的依赖,如下:

<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。

2、jar文件导入效果:

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

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

2、签名信息获取结果:

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

  • 苹果无线耳机有几代
  • 苹果定位功能怎么关闭?
  • airpodspro怎么调声音大小
  • 如何分辨AirPods真假
  • 卫生棉条这位经期好帮手的二三事
  • 热门搜索
    什么隐形眼镜好 86型插座是什么意思 残值是什么意思 篝火的意思 宁缺毋滥是什么意思 swot是什么意思 什么叫紧急制动 相濡以沫是什么意思 劳燕分飞什么意思 头屑多用什么洗发水