使用 GroupDocs.Signature for Java 掌握图像签名和优化

在当今的数字时代,安全地签署文档至关重要。无论您是负责验证合同的商业人士,还是保护图像的个人,强大的签名功能都至关重要。 GroupDocs.Signature for Java 提供强大的功能,可无缝创建二维码签名并优化图像保存选项。本教程将指导您如何利用这些功能进行有效的文档管理。

您将学到什么:

  • 在图像上生成二维码签名。
  • 配置高级 BMP、GIF、JPEG、PNG 和 TIFF 保存选项。
  • 在您的项目中为 Java 实现 GroupDocs.Signature。
  • 这些功能的实际应用。

让我们确保您已正确设置一切!

先决条件

在深入了解实施细节之前,请确保您已:

所需的库和依赖项

要使用 GroupDocs.Signature for Java,请将其库集成到您的项目中。以下是如何根据您的构建系统将其添加的方法:

Maven

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

Gradle

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

或者,您可以 直接下载最新版本 如果您的项目设置需要它。

环境设置要求

  • Java 开发工具包 (JDK) 已安装并正确配置。
  • 用于代码开发的 IDE,例如 IntelliJ IDEA 或 Eclipse。

知识前提

建议具备 Java 编程基础知识。熟悉 Maven/Gradle 构建工具将有所帮助,但并非必需,因为我们将指导您完成设置过程。

为 Java 设置 GroupDocs.Signature

要开始使用 GroupDocs.Signature,请按照以下步骤操作:

  1. 安装依赖项:将适当的依赖项添加到您的 pom.xml 或者 build.gradle 文件如上所示。
  2. 许可证获取
    • 获得 免费试用 探索图书馆的全部功能。
    • 如需延长使用时间,请考虑购买许可证或通过其申请临时许可证 购买页面.

基本初始化和设置

设置环境后,通过创建以下实例来初始化 GroupDocs.Signature Signature 类。操作方法如下:

import com.groupdocs.signature.Signature;

public class SignatureSetup {
    public static void main(String[] args) throws Exception {
        // 使用文档目录的文件路径进行初始化
        String filePath = "YOUR_DOCUMENT_DIRECTORY/sampleImage.jpg";
        Signature signature = new Signature(filePath);
        
        System.out.println("GroupDocs.Signature initialized successfully!");
    }
}

实施指南

现在您已经完成了必要的设置,让我们深入研究如何使用 GroupDocs.Signature for Java 实现特定功能。

在图像上创建二维码签名

概述

本节将指导您在图像文档上生成二维码签名。这对于以非侵入式的方式将元数据或信息直接嵌入图像尤其有用。

步骤1:初始化签名对象

首先,创建一个 Signature 指向目标文件的对象。

String filePath = "YOUR_DOCUMENT_DIRECTORY/sampleImage.jpg";
Signature signature = new Signature(filePath);
步骤 2:设置二维码签名选项

配置使用二维码签名的选项。您需要指定内容和位置等详细信息。

import com.groupdocs.signature.domain.qrcodes.QrCodeTypes;
import com.groupdocs.signature.options.sign.QrCodeSignOptions;

QrCodeSignOptions signOptions = new QrCodeSignOptions("JohnSmith");
signOptions.setEncodeType(QrCodeTypes.QR);
signOptions.setLeft(100);  // 距左边距的位置
signOptions.setTop(100);   // 距上边距的位置
步骤3:签署文件

最后,将二维码签名应用到您的文档。

signature.sign("output/imageWithQR.jpg", signOptions);
System.out.println("QR Code Signature Applied Successfully!");

配置高级图像保存选项

BMP保存选项配置

此配置允许您自定义图像以 BMP 格式保存的方式。请根据需要调整压缩率、分辨率和其他参数。

import com.groupdocs.signature.options.saveoptions.imagessaveoptions.BmpSaveOptions;
import com.groupdocs.signature.domain.enums.BitmapCompression;

BmpSaveOptions bmpSaveOptions = new BmpSaveOptions();
bmpSaveOptions.setAddMissingExtenstion(true);
bmpSaveOptions.setCompression(BitmapCompression.Rgb);
bmpSaveOptions.setHorizontalResolution(7);
bmpSaveOptions.setVerticalResolution(7);
bmpSaveOptions.setBitsPerPixel(16);
bmpSaveOptions.setOverwriteExistingFiles(true);

GIF 保存选项配置

将图像保存为 GIF 时,您可以控制背景颜色和调色板排序等方面。

import com.groupdocs.signature.options.saveoptions.imagessaveoptions.GifSaveOptions;

GifSaveOptions gifSaveOptions = new GifSaveOptions();
gifSaveOptions.setBackgroundColorIndex((byte) 2);
gifSaveOptions.setColorResolution((byte) 7);
gifSaveOptions.setDoPaletteCorrection(true);
gifSaveOptions.setTrailer(true);
gifSaveOptions.setInterlaced(false);
gifSaveOptions.setPaletteSorted(true);
gifSaveOptions.setPixelAspectRatio((byte) 24);
gifSaveOptions.setAddMissingExtenstion(true);

JPEG 保存选项配置

使用质量、颜色类型和压缩模式设置优化您的 JPEG 图像保存。

import com.groupdocs.signature.options.saveoptions.imagessaveoptions.JpegSaveOptions;
import com.groupdocs.signature.domain.enums.JpegCompressionColorMode;
import com.groupdocs.signature.domain.enums.JpegCompressionMode;
import com.groupdocs.signature.domain.enums.JpegRoundingMode;

JpegSaveOptions jpegSaveOptions = new JpegSaveOptions();
jpegSaveOptions.setAddMissingExtenstion(true);
jpegSaveOptions.setBitsPerChannel((byte) 8);
jpegSaveOptions.setColorType(JpegCompressionColorMode.Rgb);
jpegSaveOptions.setComment("signed jpeg file");
jpegSaveOptions.setCompressionType(JpegCompressionMode.Lossless);
jpegSaveOptions.setQuality(100);
jpegSaveOptions.setSampleRoundingMode(JpegRoundingMode.Extrapolate);

PNG 保存选项配置

使用 PNG,您可以定义位深度和压缩级别以满足您的需要。

import com.groupdocs.signature.options.saveoptions.imagessaveoptions.PngSaveOptions;
import com.groupdocs.signature.domain.enums.PngColorType;
import com.groupdocs.signature.domain.enums.PngFilterType;

PngSaveOptions pngSaveOptions = new PngSaveOptions();
pngSaveOptions.setBitDepth((byte) 8);
pngSaveOptions.setColorType(PngColorType.Grayscale);
pngSaveOptions.setCompressionLevel(9);
pngSaveOptions.setFilterType(PngFilterType.Adaptive);
pngSaveOptions.setProgressive(true);
pngSaveOptions.setAddMissingExtenstion(true);

TIFF 保存选项配置

对于 TIFF 图像,您可以指定格式和其他相关设置。

import com.groupdocs.signature.options.saveoptions.imagessaveoptions.TiffSaveOptions;
import com.groupdocs.signature.domain.enums.TiffFormat;

TiffSaveOptions tiffSaveOptions = new TiffSaveOptions();
tiffSaveOptions.setExpectedTiffFormat(TiffFormat.TiffNoCompressionBw);
tiffSaveOptions.setAddMissingExtenstion(true);

实际应用

真实用例

  1. 合同签订:在合同图像中嵌入二维码,以便快速验证。
  2. 营销材料:使用二维码将品牌信息直接添加到宣传材料上。
  3. 图像存档:优化图像保存设置以在存档期间保持质量并减少文件大小。