Java 删除pdf中的数字签名 怎样删除PDF文件的数字签名?今天和大家分享一下怎样删除PDF文件的数字签名,需要用到adobeacrobatPro软件。
工具/材料
PDF测试文档
代码编译环境:
IDEA
Jdk:1.8.0
PDF库:freespire.
pdf.jar4.4.1
操作方法
01
导入jar文件到Java程序,如图:
注:如图所示为手动下载jar包然后
解压导入程序的效果(可自行
搜索下载);另外,也可以通过maven仓库下载导入,通过这种方式需在pom.xml文件中配置maven仓库路径并指定jar版本(如下),配置完成后导入。
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>;/url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
spire.pdf.free
<version>4.4.1</version>
</dependency>
</dependencies>
02
Java程序中键入如下代码:
importcom.spire.pdf.PdfDocument;
importcom.spire.pdf.widget.PdfFieldWidget;
importcom.spire.pdf.widget.PdfFormWidget;
importcom.spire.pdf.widget.PdfSignatureFieldWidget;
publicclassDeleteSignature{
publicstaticvoidmain(String[]args){
//创建PdfDocument对象
PdfDocumentpdf=newPdfDocument();
//加载PDF文档
pdf.loadFromFile("AddSignature.pdf");
//从文档获取formwidget集合
PdfFormWidgetwidgets=(PdfFormWidget)pdf.getForm();
//遍历集合中的每一个元素
for(inti=0;i<widgets.getFieldsWidget().getList().size();i++)
{
//获取指定widget
PdfFieldWidgetwidget=(PdfFieldWidget)widgets.getFieldsWidget().getList().get(i);
//判断widget是否为PdfSignatureFieldWidget
if(widgetinstanceofPdfSignatureFieldWidget)
{
//删除数字签名widget
widgets.getFieldsWidget().remove(widget);
}
}
//保存文档
pdf.saveToFile("RemoveSignature.pdf");
pdf.dispose();
}
}
03
执行程序,在生成的结果文档中可查看签名删除效果,如下图所示: