保护您的文档:使用 GroupDocs.Signature 在 Java 中实现二维码签名

在当今的数字环境中,确保合同、发票或敏感个人信息等文档的安全至关重要。增强文档安全性并简化验证流程的一种创新方法是使用二维码签名。本教程将指导您使用 GroupDocs.Signature 在 Java 中为文档实现和验证二维码签名。

您将学到什么

  • 如何使用二维码签署文件
  • 使用二维码验证已签名的文件
  • 在文档中搜索现有的二维码签名
  • 更新和删除文档中的二维码签名

让我们设置您的环境并开始吧!

先决条件

开始之前,请确保您满足以下先决条件:

所需的库和依赖项

您需要 GroupDocs.Signature for Java。您可以通过 Maven 或 Gradle 将其添加,或者直接下载。

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 版本.

环境设置要求

  • 确保您已安装 Java 开发工具包 (JDK) 8 或更高版本。
  • 使用 IntelliJ IDEA、Eclipse 或 NetBeans 等 IDE。

知识前提

对 Java 编程和文档处理有基本的了解是有益的。

为 Java 设置 GroupDocs.Signature

要在您的项目中使用 GroupDocs.Signature,请按照以下步骤操作:

  1. 安装:根据您的设置在 Maven、Gradle 或直接下载之间进行选择。

  2. 许可证获取

    • 从免费试用开始 GroupDocs 网站.
    • 考虑从以下机构获取临时许可证,以进行扩展测试和开发: 这里.
  3. 基本初始化: 初始化 GroupDocs.Signature 的方法如下:

    Signature signature = new Signature("YOUR_DOCUMENT_PATH");
    

这为您实施二维码签名做好了准备。

实施指南

使用二维码签名签署文件

概述

使用二维码签署文档需要嵌入一个代表您数字签名的唯一代码。此过程可确保文档安全,并方便日后验证其真实性。

步骤 1:设置您的签名选项
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.domain.enums.HorizontalAlignment;
import com.groupdocs.signature.domain.enums.VerticalAlignment;
import com.groupdocs.signature.options.sign.QrCodeSignOptions;

Signature signature = new Signature("YOUR_DOCUMENT_PATH");
QrCodeSignOptions signOptions = new QrCodeSignOptions("John Smith", com.groupdocs.signature.domain.qrcodes.QrCodeTypes.QR);

signOptions.setVerticalAlignment(VerticalAlignment.Top);
signOptions.setHorizontalAlignment(HorizontalAlignment.Center);
signOptions.setWidth(100);
signOptions.setHeight(40);

解释QrCodeSignOptions 配置为创建具有特定文本和对齐方式的二维码。根据需要调整宽度和高度。

步骤 2:自定义签名外观
import java.awt.Color;

signOptions.setForeColor(Color.RED); // 设置二维码颜色
com.groupdocs.signature.domain.SignatureFont signatureFont = new com.groupdocs.signature.domain.SignatureFont();
signatureFont.setSize(12);
signatureFont.setFamilyName("Comic Sans MS");
signOptions.setFont(signatureFont);

解释:自定义字体和颜色可增强视觉识别。

步骤3:签署文件
import java.util.ArrayList;
import java.util.List;

List<String> signatureIds = new ArrayList<>();
List<com.groupdocs.signature.domain.BaseSignature> signedSignatures = signature.sign("YOUR_OUTPUT_PATH", signOptions).getSucceeded();

for (com.groupdocs.signature.domain.BaseSignature temp : signedSignatures) {
    signatureIds.add(temp.getSignatureId());
}

解释:此步骤对文档进行签名并存储签名 ID 以供将来参考。

使用二维码签名验证文档

概述

验证可确保文档已合法签名。以下是如何验证文档中二维码签名的方法。

步骤 1:设置验证选项
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.options.verify.QrCodeVerifyOptions;

Signature signature2 = new Signature("YOUR_OUTPUT_PATH");
QrCodeVerifyOptions verifyOptions = new QrCodeVerifyOptions();

verifyOptions.setEncodeType(QrCodeTypes.QR);
verifyOptions.setText("John Smith"); // 短信验证
verifyOptions.setAllPages(false); 
verifyOptions.setPageNumber(1);

解释:验证选项指定要查找的二维码类型和文本,确保签名符合您的期望。

第 2 步:执行验证
boolean isValid = signature2.verify(verifyOptions).isValid();
System.out.println("Is Signature Valid? " + isValid);

解释:这将检查文档是否包含符合您条件的有效二维码。

搜索文档中的二维码签名

概述

有时需要在文档中查找现有签名。以下是使用 GroupDocs.Signature 搜索签名的方法。

步骤 1:配置搜索选项
import com.groupdocs.signature.domain.signatures.QrCodeSignature;
import com.groupdocs.signature.options.search.QrCodeSearchOptions;

Signature signature2 = new Signature("YOUR_OUTPUT_PATH");
QrCodeSearchOptions searchOptions = new QrCodeSearchOptions();
searchOptions.setAllPages(true);

解释:这将设置工具来扫描所有页面上的二维码签名。

第 2 步:执行搜索
List<QrCodeSignature> signatures = signature2.search(QrCodeSignature.class, searchOptions);

for (QrCodeSignature qrSignature : signatures) {
    System.out.println("Found Signature ID: " + qrSignature.getSignatureId());
}

解释:这将检索文档中找到的所有二维码签名。

更新文档二维码签名

概述

更新签名涉及更改其属性,例如位置或大小。操作方法如下:

步骤 1:准备更新签名
import com.groupdocs.signature.domain.signatures.QrCodeSignature;
import java.io.ByteArrayOutputStream;

Signature signature2 = new Signature("YOUR_OUTPUT_PATH");
List<QrCodeSignature> signaturesToUpdate = new ArrayList<>();

// 假设“签名”是通过搜索获得的 QrCodeSignature 对象列表
for (QrCodeSignature qrSignature : signatures) {
    qrSignature.setLeft(qrSignature.getLeft() + 100);
    qrSignature.setTop(qrSignature.getTop() + 100);
    qrSignature.setWidth(200);
    qrSignature.setHeight(50);
    signaturesToUpdate.add(qrSignature);
}

解释:调整每个签名的位置和大小。

第 2 步:更新文档
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
signature2.update(outputStream, signaturesToUpdate);

解释:文档已使用修改后的二维码签名进行更新。

删除文档二维码按ID签名

概述

如果签名不再需要或错误添加,则可能需要删除该签名。您可以使用其唯一 ID 将其删除,具体方法如下。

步骤 1:识别要删除的签名
import com.groupdocs.signature.domain.SignatureCollection;
import java.util.Arrays;

SignatureCollection signaturesToDelete = signature2.search(QrCodeSignature.class);
Arrays.stream(signaturesToDelete).forEach(signature -> {
    if (signature.getSignatureId().equals("YOUR_SIGNATURE_ID")) {
        signature.delete();
    }
});

解释:通过其唯一 ID 查找并删除二维码签名。

结论

本指南已引导您使用 GroupDocs.Signature 在 Java 中使用二维码签名来保护文档安全。遵循这些步骤,您可以确保文档安全签名,并轻松验证其真实性。