Java 删除PDF中的数字签名

本文通过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
  • 发表于 2021-05-27 12:02
  • 阅读 ( 428 )
  • 分类:电脑网络

相关问题

0 条评论

请先 登录 后评论