醉百书

Java 删除PDF中的数字签名

醉百书 2021-07-22 13:00:56
语音朗读

本文通过Java程序示例代码展示如何来删除PDF文档中已有的数字签名。

工具/材料

PDF测试文档

代码编译环境:IDEA

Jdk:1.8.0

PDF库:free spire.pdf.jar4.4.1

方法步骤

01.

导入jar文件到Java程序,如图:

注:如图所示为手动下载jar包然后解压导入程序的效果(可自行搜索下载);另外,也可以通过maven仓库下载导入,通过这种方式需在pom.xml文件中配置maven仓库路径并指定jar版本(如下),配置完成后导入。

com.e-iceblue

http://repo.e-iceblue.cn/repository/maven-public/

e-iceblue

spire.pdf.free

4.4.1

02.

Java程序中键入如下代码:

import com.spire.pdf.PdfDocument;

import com.spire.pdf.widget.PdfFieldWidget;

import com.spire.pdf.widget.PdfFormWidget;

import com.spire.pdf.widget.PdfSignatureFieldWidget;

publicclass DeleteSignature{

public static void main(String[]args){

//创建PdfDocument对象

PdfDocument pdf=new PdfDocument();

//加载PDF文档

pdf.loadFromFile("AddSignature.pdf");

//从文档获取form widget集合

PdfFormWidgetwidgets= (PdfFormWidget)pdf.getForm();

//遍历集合中的每一个元素

for(inti=0;i

{

//获取指定widget

PdfFieldWidget widget= (PdfFieldWidget)widgets.getFieldsWidget().getList().get(i);

//判断widget是否为PdfSignatureFieldWidget

if(widgetinstanceof PdfSignatureFieldWidget)

{

//删除数字签名widget

widgets.getFieldsWidget().remove(widget);

}

}

//保存文档

pdf.saveToFile("RemoveSignature.pdf");

pdf.dispose();

}

}

03.

执行程序,在生成的结果文档中可查看签名删除效果,如下图所示:

相关推荐