使用 GroupDocs.Signature for .NET 进行主文档签名和验证

如何使用 GroupDocs.Signature for .NET 掌握文档签名和验证

在当今的数字时代,高效的文档签名解决方案对于管理合同、协议或任何法律文件至关重要。自动化此流程可以节省时间并减少错误。 适用于 .NET 的 GroupDocs.Signature 提供强大的解决方案,简化应用程序中的文本签名管理。本指南将带您了解 GroupDocs.Signature for .NET 的功能,包括签名、验证、搜索、更新和删除文本签名。

您将学到什么

  • 如何使用可自定义的文本签名签署文档
  • 有效验证签名文件的技术
  • 在文档中搜索现有文本签名的方法
  • 根据需要更新和删除文本签名的步骤
  • 优化性能和内存管理的最佳实践

让我们先了解一下先决条件。

先决条件

开始之前,请确保您的开发环境已设置必要的工具:

所需的库和依赖项

  • 适用于 .NET 的 GroupDocs.Signature:该库使您能够在应用程序中添加签名功能。
  • .NET Framework 4.6.1 或更高版本 (或 .NET Core 2.x+)

环境设置要求

您将需要一个 C# 开发环境(例如 Visual Studio)和互联网连接来下载必要的软件包。

知识前提

建议您熟悉基本的 C# 编程概念。如果您是 GroupDocs.Signature for .NET 的新手,不用担心——本指南将指导您完成每个步骤。

为 .NET 设置 GroupDocs.Signature

首先,您需要在项目中安装 GroupDocs.Signature 库。具体操作如下:

通过 .NET CLI 安装

dotnet add package GroupDocs.Signature

程序包管理器控制台

Install-Package GroupDocs.Signature

NuGet 包管理器 UI

  1. 在 Visual Studio 中打开您的项目。
  2. 导航至 工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包
  3. 搜索“GroupDocs.Signature”并安装最新版本。

许可证获取步骤

基本初始化和设置

安装后,在您的项目中初始化 GroupDocs.Signature,如下所示:

using GroupDocs.Signature;

// 使用文档路径初始化签名实例。
Signature signature = new Signature("path/to/your/document.pdf");

现在您已完成设置,让我们探索如何利用 GroupDocs.Signature 实现各种功能。

实施指南

使用文本签名签署文档

此功能允许您向文档添加文本签名。让我们来详细了解一下:

概述

您可以使用字体大小、颜色、对齐方式等各种选项自定义文本签名的外观和位置。

逐步实施

步骤 1:定义文件路径和输出位置。

string filePath = "YOUR_DOCUMENT_DIRECTORY"; // 原始文档的路径
string outputFilePath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "SignedDocument.docx");

第 2 步:使用创建文本签名 TextSignOptions

using (Signature signature = new Signature(filePath))
{
    TextSignOptions signOptions = new TextSignOptions("John Smith")
    {
        VerticalAlignment = GroupDocs.Signature.Options.VerticalAlignment.Top,
        HorizontalAlignment = GroupDocs.Signature.Options.HorizontalAlignment.Center,
        Width = 100,
        Height = 40,
        Margin = new Padding(20),
        ForeColor = Color.Red,
        Font = new SignatureFont { Size = 12, FamilyName = "Comic Sans MS" }
    };

步骤3:签署文件并输出结果。

    SignResult signResult = signature.Sign(outputFilePath, signOptions);
    foreach (BaseSignature temp in signResult.Succeeded)
    {
        Console.WriteLine($"Signed Text Signature: Id:{temp.SignatureId}, Location: {temp.Left}x{temp.Top}. Size: {temp.Width}x{temp.Height}");
    }
}

关键配置选项

  • 垂直对齐和水平对齐:控制签名在页面上出现的位置。
  • 字体:自定义文本签名的字体大小和样式。

验证文档中的文本签名

验证可确保文档已按预期签署。具体实现方式如下:

概述

验证文档中现有的文本签名以确认其真实性和完整性。

逐步实施

步骤 1:指定签名文档的文件路径。

string filePath = "YOUR_OUTPUT_DIRECTORY"; // 签名文档的路径

第 2 步:使用以下方式创建验证选项 TextVerifyOptions

using (Signature signature = new Signature(filePath))
{
    TextVerifyOptions verifyOptions = new TextVerifyOptions()
    {
        AllPages = false,
        PageNumber = 1,
        Text = "John Smith",
        MatchType = GroupDocs.Signature.Options.TextMatchType.Exact
    };

步骤3:验证文件。

    VerificationResult verifyResult = signature.Verify(verifyOptions);
    if (verifyResult.IsValid)
    {
        Console.WriteLine("Document was verified successfully!");
    }
    else
    {
        Console.WriteLine("Document failed verification process.");
    }
}

故障排除提示

  • 确保 Text 属性与文档中的内容完全匹配。
  • 检查 PageNumber 对应于包含签名的正确页面。

搜索文档中的文本签名

使用此功能可以有效地在文档中定位文本签名。

概述

搜索文档的全部或选定页面以查找特定的文本签名。

逐步实施

步骤 1:定义文件路径。

string filePath = "YOUR_OUTPUT_DIRECTORY"; // 签名文档的路径

第 2 步: 使用 TextSearchOptions 进行搜索。

using (Signature signature = new Signature(filePath))
{
    TextSearchOptions searchOptions = new TextSearchOptions()
    {
        AllPages = true,
        MatchType = GroupDocs.Signature.Options.TextMatchType.Exact,
        Text = "John Smith"
    };

步骤3:执行搜索。

    List<TextSignature> signatures = signature.Search<TextSignature>(searchOptions);
    foreach (TextSignature textSignature in signatures)
    {
        if (textSignature != null)
        {
            Console.WriteLine($"Found Text signature at page {textSignature.PageNumber} with type [{textSignature.SignatureImplementation}] and text '{textSignature.Text}'. Location: {textSignature.Left}-{textSignature.Top}. Size is {textSignature.Width}x{textSignature.Height}.");
        }
    }
}

更新文档文本签名

在需要时修改文档中现有的文本签名。

概述

调整现有文本签名的属性,例如大小和位置。

逐步实施

步骤 1:指定文件路径和签名ID。

string filePath = "YOUR_OUTPUT_DIRECTORY"; // 签名文档的路径
List<string> signatureIds = new List<string>(); // 假设此列表中填充了有效的签名 ID

第 2 步: 创造 TextSignature 需要更新的对象。

using (Signature signature = new Signature(filePath))
{
    foreach (var item in signatureIds)
    {
        TextSignature temp = new TextSignature(item)
        {
            Width = 150,
            Height = 50,
            HorizontalAlignment = GroupDocs.Signature.Options.HorizontalAlignment.Right
        };

步骤3:更新文档。

        SignResult signResult = signature.UpdateSignatures(temp);
        if (signResult.Succeeded.Count > 0)
        {
            Console.WriteLine($"Updated Text Signature: Id:{temp.SignatureId}");
        }
    }
}

关键配置选项

  • 宽度和高度:调整签名的大小。
  • 水平对齐:控制更新后的签名在页面上出现的位置。

结论

通过本指南,您学习了如何使用 GroupDocs.Signature for .NET 来签名、验证、搜索、更新和删除文档中的文本签名。这些功能对于在应用程序中自动化数字签名流程至关重要。有关更多详细信息和高级选项,请参阅 官方文档.