使用 GroupDocs.Signature 掌握 .NET 中的签名管理

介绍

在当今的数字时代,高效管理文档签名对企业和个人都至关重要。无论您是要验证合同还是确保合规性,合适的工具都能发挥重要作用。本教程将指导您如何使用 适用于 .NET 的 GroupDocs.Signature 无缝管理和删除文档中的签名。

您将学到什么:

  • 如何初始化签名实例。
  • 添加用于检测签名的各种搜索选项。
  • 在文档中搜索不同类型的签名。
  • 高效删除多个签名。

准备好了吗?我们先来了解一下先决条件。

先决条件

在开始之前,请确保您具备以下条件:

  • 所需库GroupDocs.Signature for .NET
  • 环境设置:安装了 .NET Framework 或 .NET Core 的 Visual Studio 2019 或更高版本。
  • 知识前提:对 C# 和 .NET 开发有基本的了解。

为 .NET 设置 GroupDocs.Signature

首先,您需要安装 GroupDocs.Signature 库。具体步骤如下:

安装说明

使用 .NET CLI:

dotnet add package GroupDocs.Signature

程序包管理器控制台:

Install-Package GroupDocs.Signature

NuGet 包管理器 UI: 搜索“GroupDocs.Signature”并安装最新版本。

许可证获取

您可以先免费试用,探索各项功能。如需延长使用时间,请考虑获取临时许可证或从以下网站购买许可证: 群组文档.

实施指南

让我们逐步分解每个功能。

功能1:初始化签名实例

此功能演示如何使用 GroupDocs.Signature for .NET 设置用于管理文档中签名的环境。

概述

初始化 Signature 实例至关重要,因为它为文档准备搜索和删除等签名操作。

代码实现

using System.IO;
using GroupDocs.Signature;

var filePath = Path.Combine("YOUR_DOCUMENT_DIRECTORY", "Sample_Signed_Multi_Document");
Directory.CreateDirectory(Path.GetDirectoryName(filePath)); // 确保该目录存在。
File.Copy(filePath, outputFilePath, true);

// 使用文档路径初始化签名实例
using (Signature signature = new Signature(outputFilePath))
{
    // 签名实例现已准备好进行操作。
}

解释

  • filePath:源文档的路径。
  • Directory.CreateDirectory(...):尝试文件操作之前确保目录存在。
  • signature:促进所有与签名相关的任务的主要对象。

功能 2:添加搜索选项

有效地检测签名需要指定您在文档中寻找什么类型的签名。

概述

添加搜索选项允许您定位文档中的特定类型的签名,如文本、条形码、二维码或基于图像的签名。

代码实现

using System.Collections.Generic;
using GroupDocs.Signature.Options;

List<SearchOptions> listOptions = new List<SearchOptions>();
listOptions.Add(new TextSearchOptions()); // 搜索基于文本的签名。
listOptions.Add(new BarcodeSearchOptions()); // 搜索条形码签名。
listOptions.Add(new QrCodeSearchOptions()); // 搜索二维码签名。
listOptions.Add(new ImageSearchOptions()); // 搜索基于图像的签名。

// listOptions 现在包含在文档中查找不同类型签名所需的所有搜索选项。

解释

  • TextSearchOptions:针对文档内的文本签名。
  • BarcodeSearchOptionsQrCodeSearchOptions, 和 ImageSearchOptions:分别启用条形码、二维码和基于图像的签名的检测。

功能 3:搜索文档中的签名

设置搜索选项后,您现在可以在文档中找到这些签名。

概述

此功能重点介绍如何使用指定的签名选项搜索文档并相应地处理结果。

代码实现

using System.Collections.Generic;
using GroupDocs.Signature.Domain;

string filePath = Path.Combine("YOUR_DOCUMENT_DIRECTORY", "Sample_Signed_Multi_Document");
Directory.CreateDirectory(Path.GetDirectoryName(filePath)); // 确保目录存在。
File.Copy(filePath, outputFilePath, true);

using (Signature signature = new Signature(outputFilePath))
{
    List<SearchOptions> listOptions = new List<SearchOptions>();
    listOptions.Add(new TextSearchOptions());
    listOptions.Add(new BarcodeSearchOptions());
    listOptions.Add(new QrCodeSearchOptions());
    listOptions.Add(new ImageSearchOptions());

    // 使用指定的选项搜索签名。
    SearchResult result = signature.Search(listOptions);

    if (result.Signatures.Count > 0)
    {
        // 在文件中找到签名。
    }
    else
    {
        // 文件中未发现任何签名。
    }
}

解释

  • SearchResult:包含所有检测到的签名的详细信息,允许进一步处理(如删除)。

功能 4:从文档中删除签名

一旦确定了不需要的签名,下一步就是有效地将其删除。

概述

此功能演示如何使用 GroupDocs.Signature for .NET 从文档中删除多种类型的签名。

代码实现

using System.Collections.Generic;
using GroupDocs.Signature.Domain;

string filePath = Path.Combine("YOUR_DOCUMENT_DIRECTORY", "Sample_Signed_Multi_Document");
Directory.CreateDirectory(Path.GetDirectoryName(filePath)); // 确保目录存在。
File.Copy(filePath, outputFilePath, true);

using (Signature signature = new Signature(outputFilePath))
{
    List<SearchOptions> listOptions = new List<SearchOptions>();
    listOptions.Add(new TextSearchOptions());
    listOptions.Add(new BarcodeSearchOptions());
    listOptions.Add(new QrCodeSearchOptions());
    listOptions.Add(new ImageSearchOptions());

    // 搜索签名。
    SearchResult result = signature.Search(listOptions);

    if (result.Signatures.Count > 0)
    {
        List<BaseSignature> signaturesToDelete = new List<BaseSignature>();

        // 收集签名以删除。
        foreach (BaseSignature temp in result.Signatures)
        {
            signaturesToDelete.Add(temp);
        }

        // 从文档中删除收集的签名。
        DeleteResult deleteResult = signature.Delete(signaturesToDelete);
    }
}

解释

  • signaturesToDelete:已确定要删除的签名集合。
  • DeleteResult:提供删除过程成功或失败的反馈。

实际应用

  1. 合同管理:自动验证并删除合同中的过时签名。
  2. 合规审计:通过审核和清理签名确保所有文件符合监管要求。
  3. 文档生命周期管理:管理文档签名的整个生命周期,从创建到存档。

性能考虑

  • 在搜索或删除签名时仅处理文档的必要部分,从而优化性能。
  • 监控资源使用情况,以确保您的应用程序在签名操作期间保持高效且响应迅速。