本文将介绍如何使用spire.pdf for java验证pdf文档中的数字签名是否有效。
import com.spire.pdf.pdfdocument;
import com.spire.pdf.security.pdfsignature;
import com.spire.pdf.widget.*;
public class verifysignature {
public static void main(string[] args) {
//创建pdfdocument实例
pdfdocument doc = new pdfdocument();
//加载含有签名的pdf文件
doc.loadfromfile("simplesign.pdf");
//获取域集合
pdfformwidget pdfformwidget = (pdfformwidget) doc.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();
//判定签名是否有效
boolean result = signature.verifysignature();
if (result) {
system.out.println("有效签名");
} else {
system.out.println("无效签名");
}
}
}
}
}