Java 删除PDF中的数字签名

5052次浏览推荐于2021.05.27

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

    操作方法

    • 01

      导入jar文件到Java程序,如图: 注:如图所示为手动下载jar包然后解压导入程序的效果(可自行搜索下载);另外,也可以通过maven仓库下载导入,通过这种方式需在pom.xml文件中配置maven仓库路径并指定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.free</artifactId> <version>4.4.1</version> </dependency> </dependencies>

      • 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; public class DeleteSignature { public static void main(String[] args) { //创建PdfDocument对象 PdfDocument pdf = new PdfDocument(); //加载PDF文档 pdf.loadFromFile("AddSignature.pdf"); //从文档获取form widget集合 PdfFormWidget widgets = (PdfFormWidget) pdf.getForm(); //遍历集合中的每一个元素 for (int i = 0; i < widgets.getFieldsWidget().getList().size(); i++) { //获取指定widget PdfFieldWidget widget = (PdfFieldWidget)widgets.getFieldsWidget().getList().get(i); //判断widget是否为PdfSignatureFieldWidget if (widget instanceof PdfSignatureFieldWidget) { //删除数字签名widget widgets.getFieldsWidget().remove(widget); } } //保存文档 pdf.saveToFile("RemoveSignature.pdf"); pdf.dispose(); } }

        • 03

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

          • End

          免责声明:

          本页搜狗指南内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与搜狗公司无关。本页搜狗指南内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。

          0点赞无帮助无帮助
          码字人生~