使用 GroupDocs.Signature 在 Java 中实现自定义元数据

介绍

在当今的数字时代,有效管理文档签名对企业和个人都至关重要。无论是处理合同、协议还是官方文件,确保其真实性和可追溯性仍然是一项挑战。 GroupDocs.Signature for Java 提供强大的解决方案来自动化和增强您的文档签名流程。

在本教程中,我们将探索如何利用 GroupDocs.Signature 在 Java 应用程序中实现自定义元数据。我们将创建一个专门用于处理签名相关元数据的数据类,以确保每个签名文档都包含签名者身份和时间戳等重要信息。

您将学到什么:

  • 在您的项目中为 Java 设置 GroupDocs.Signature。
  • 使用 Java 创建自定义元数据类。
  • 将此功能有效地集成到实际应用程序中。
  • 在 Java 中处理文档签名时考虑性能。

有了这些见解,您将能够更好地增强您的文档管理解决方案。首先,让我们了解有效遵循本指南所需的先决条件。

先决条件

在深入实施之前,请确保您已具备以下条件:

所需的库和版本

  • GroupDocs.Signature for Java:确保您拥有 23.12 或更高版本。
  • Java 开发工具包 (JDK):建议使用 8 或更高版本。

环境设置

  • 合适的集成开发环境 (IDE),如 IntelliJ IDEA、Eclipse 或 NetBeans。
  • 具有 Java 编程的基本知识并了解 Maven/Gradle 构建系统。

为 Java 设置 GroupDocs.Signature

要将 GroupDocs.Signature 集成到您的项目中,请使用以下包管理器之一:

Maven

在您的 pom.xml

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

Gradle

将其包含在您的 build.gradle 文件:

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

直接下载

对于喜欢手动下载的用户,请从 GroupDocs.Signature Java 版本.

许可证获取步骤

  • 免费试用:首先尝试免费试用版来探索其功能。
  • 临时执照:获取临时许可证以进行延长测试。
  • 购买:为了长期使用,请考虑购买完整许可证。

基本初始化和设置

要在 Java 应用程序中初始化 GroupDocs.Signature:

import com.groupdocs.signature.Signature;

public class SignatureSetup {
    public static void main(String[] args) {
        // 使用文档路径初始化签名对象
        Signature signature = new Signature("path/to/your/document");
        
        System.out.println("GroupDocs.Signature initialized successfully.");
    }
}

此代码片段演示了如何设置处理签名的基本环境。

实施指南

在本节中,我们将重点介绍如何使用 GroupDocs.Signature 实现自定义元数据。

创建自定义元数据类

我们实施的核心是 DocumentSignatureData 类。此类存储具有自定义属性的签名相关数据。

概述

此功能允许您将签名者 ID 和作者详细信息等附加信息附加到文档签名中,从而增强可追溯性和可问责性。

步骤 1:导入必要的库

确保您已导入所有必要的包:

import com.groupdocs.signature.domain.extensions.serialization.FormatAttribute;
import java.util.Date;
import java.math.BigDecimal;
第 2 步:定义数据类

创建一个类来封装签名元数据:

public class DocumentSignatureData {
    @FormatAttribute(propertyName = "SignID")
    public String ID;

    public String getID() { return ID; }
    public void setID(String value) { ID = value; }

    @FormatAttribute(propertyName = "SAuth")
    public String Author;

    public final String getAuthor() { return Author; }
    public final void setAuthor(String value) { Author = value; }
}
  • 为什么使用 @FormatAttribute 此注释确保属性正确序列化,维护不同格式的数据完整性。
步骤 3:在 GroupDocs.Signature 中的使用

将此类与您的签名处理逻辑集成:

import com.groupdocs.signature.domain.signatures.TextSignature;

public void addSignature(Signature signature) {
    DocumentSignatureData metadata = new DocumentSignatureData();
    metadata.setID("12345");
    metadata.setAuthor("John Doe");

    TextSignature textSign = new TextSignature("John's Signature");
    textSign.getSettings().setMetadata(metadata);

    // 将签名添加到您的文档中
    signature.sign("path/to/output/document