使用 GroupDocs.Signature 掌握 Java 中的文档签名

通过使用 GroupDocs.Signature for Java 签署、验证、搜索、更新和删除条形码签名来简化您的数字文档工作流程。

在快节奏的数字交互世界中,高效管理文档至关重要。无论是处理合同还是其他重要文书工作,能够签署、验证、搜索、更新和删除文档签名都能显著提高工作效率和安全性。本指南将指导您如何使用 GroupDocs.Signature for Java——一个强大的库,它通过条形码签名简化了这些任务。

您将学到什么:

  • 如何使用条形码签名签署文件。
  • 验证签名文件真实性的技术。
  • 搜索、更新和删除文档中现有条形码签名的方法。
  • 实际应用和性能优化技巧。

在深入实施细节之前,请确保您已准备好开始实施所需的一切。

先决条件

要学习本教程,您需要:

  • Java 开发工具包 (JDK): 确保您的系统上安装了 JDK 8 或更高版本。
  • 集成开发环境(IDE): 我们建议使用 IntelliJ IDEA 或 Eclipse 进行 Java 开发。
  • GroupDocs.Signature 库: 该库对于签署和验证文件至关重要。

所需的库和依赖项

您可以使用 Maven、Gradle 或直接下载 JAR 将 GroupDocs.Signature 添加到您的项目中:

Maven

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-signature</artifactId>
    <version>23.12</version>
</dependency>

Gradle

implementation 'com.groupdocs:groupdocs-signature:23.12'

对于喜欢直接下载的用户,可以在以下位置找到最新版本 GroupDocs.Signature Java 版本.

许可证获取

要探索 GroupDocs.Signature 的全部功能,请考虑获取临时许可证或购买订阅。您可以先免费试用,测试其功能:

环境设置

确保已在首选 IDE 中准备好 Java 项目。配置构建路径或 pom.xml (对于 Maven)或 build.gradle (适用于 Gradle)文件,其中包含 GroupDocs.Signature 依赖项。设置完成后,通过创建 Signature

为 Java 设置 GroupDocs.Signature

GroupDocs.Signature 使用各种签名类型(包括条形码)简化文档签名和验证流程。首先导入必要的类:

import com.groupdocs.signature.Signature;

基本初始化

要在 Java 应用程序中初始化 GroupDocs.Signature,请创建一个 Signature 具有目标文档路径的对象:

Signature signature = new Signature("path/to/your/document.pdf");

通过此设置,您就可以实现 GroupDocs.Signature 提供的各种功能。

实施指南

使用条形码签名签署文件

概述: 此功能允许您在任何文档中添加条形码签名。条形码可以包含姓名或身份证号码等文本,以增强安全性并方便验证。

逐步实施:

  1. 定义路径: 指定输入和输出文档的路径:

    String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
    String outputFilePath = "YOUR_OUTPUT_DIRECTORY/signed_sample.docx";
    
  2. 创建签名对象: 初始化一个 Signature 带有文档路径的对象:

    Signature signature = new Signature(filePath);
    
  3. 设置条形码选项: 配置条形码标志选项,包括文本、类型、对齐方式、大小和颜色:

    BarcodeSignOptions signOptions = new BarcodeSignOptions("John Smith", BarcodeTypes.Code128);
    signOptions.setVerticalAlignment(VerticalAlignment.Top);
    signOptions.setHorizontalAlignment(HorizontalAlignment.Center);
    signOptions.setWidth(100);
    signOptions.setHeight(40);
    signOptions.setMargin(new java.awt.Rectangle(20, 20, 0, 0));
    signOptions.setForeColor(Color.RED);
    
    SignatureFont signatureFont = new SignatureFont();
    signatureFont.setSize(12);
    signatureFont.setFamilyName("Comic Sans MS");
    signOptions.setFont(signatureFont);
    
  4. 签署文件: 将配置的条形码签名应用到文档:

    signature.sign(outputFilePath, signOptions);
    

验证文件条形码签名

概述: 通过验证条形码签名来确保签名文档的完整性和真实性。

逐步实施:

  1. 设置验证: 将签名的文档加载到 Signature 目的:

    Signature signature = new Signature("YOUR_OUTPUT_DIRECTORY/signed_sample.docx");
    
  2. 配置验证选项: 设置验证选项以匹配特定的条形码签名:

    BarcodeVerifyOptions verifyOptions = new BarcodeVerifyOptions();
    verifyOptions.setAllPages(false); // 仅验证第一页
    verifyOptions.setPageNumber(1);
    verifyOptions.setEncodeType(BarcodeTypes.Code128);
    verifyOptions.setText("John Smith");
    
  3. 执行验证: 执行验证过程并检查签名是否有效:

    boolean isValid = signature.verify(verifyOptions) != null;
    

搜索文档中的条形码签名

概述: 快速找到文档中的条形码签名以确认其存在或收集信息。

逐步实施:

  1. 初始化搜索: 将您的文档加载到 Signature 班级:

    Signature signature = new Signature("YOUR_OUTPUT_DIRECTORY/signed_sample.docx");
    
  2. 设置搜索选项: 定义选项以在文档的所有页面上搜索条形码签名:

    BarcodeSearchOptions searchOptions = new BarcodeSearchOptions();
    searchOptions.setAllPages(true);
    
  3. 执行搜索: 检索找到的条形码签名列表:

    java.util.List<BarcodeSignature> signatures = signature.search(BarcodeSignature.class, searchOptions);
    

更新文档条形码签名

概述: 修改文档中现有的条形码签名以反映更改或更新。

逐步实施:

  1. 准备更新: 假设您有一个从先前的搜索操作中检索到的签名列表:

    List<BarcodeSignature> signaturesToUpdate = new ArrayList<>();
    
  2. 修改签名属性: 调整位置和大小等属性来更新签名:

    if (!signaturesToUpdate.isEmpty()) {
        BarcodeSignature bcSignature = signaturesToUpdate.get(0);
        bcSignature.setLeft(bcSignature.getLeft() + 100);
        bcSignature.setTop(bcSignature.getTop() + 100);
        bcSignature.setWidth(200);
        bcSignature.setHeight(50);
    }
    
  3. 应用更新: 保存对文档的更改:

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    signature.update(outputStream, signaturesToUpdate);
    

删除文档条形码签名

概述: 从文档中删除不必要的或过时的条形码签名。

逐步实施:

  1. 准备删除: 假设您有一个从先前的搜索操作中检索到的签名列表:

    List<BarcodeSignature> signaturesToDelete = new ArrayList<>();
    
  2. 删除签名: 从您的文档中删除指定的条形码签名:

    signature.delete(signaturesToDelete);