使用 GroupDocs.Signature for .NET 实现和显示文档签名

介绍

在进行任何流程之前,确保关键文件的真实性和完整性至关重要。 适用于 .NET 的 GroupDocs.Signature 提供强大的功能来提取文档中的详细签名信息,包括其详细信息和流程日志。

在本综合指南中,您将了解:

  • 如何使用 GroupDocs.Signature 设置您的环境
  • 实现检索和显示签名信息的功能
  • 理解并有效管理文档认证

让我们首先深入了解设置必要的先决条件。

先决条件

实施之前,请确保满足以下要求:

  • 库和版本:安装 .NET Core 或 .NET Framework。确保项目中的 GroupDocs.Signature for .NET 兼容。
  • 环境设置:设置 Visual Studio 或支持 .NET 项目的类似 IDE。
  • 知识前提:建议对 C# 编程和文档管理概念有基本的了解。

为 .NET 设置 GroupDocs.Signature

要开始使用 GroupDocs.Signature,您需要安装该库。操作方法如下:

安装选项

使用 .NET CLI

dotnet add package GroupDocs.Signature

使用包管理器

Install-Package GroupDocs.Signature

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

许可证获取

要测试 GroupDocs.Signature,请先免费试用。请访问 免费试用 开始使用。如需延长使用时间,请考虑购买许可证或申请临时许可证,网址为 临时执照.

初始化

安装后,在项目中初始化该库:

using GroupDocs.Signature;

实施指南

让我们将实施过程分解为易于管理的部分。

检索文档签名信息

概述

此功能允许您提取有关文档中嵌入的签名的详细信息,包括对审计跟踪至关重要的流程日志。

逐步实施

设置签名设置

配置签名设置:

string filePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_SIGNED_MULTI";
SignatureSettings signatureSettings = new SignatureSettings()
{
    ShowDeletedSignaturesInfo = false
};

为什么: 这确保仅检索现有签名。

初始化签名对象

使用 using 有效处理资源管理的语句:

using (Signature signature = new Signature(filePath, signatureSettings))
{
    // 进一步的操作请点击此处
}
检索文档信息

获取与签名和流程日志相关的所有详细信息:

IDocumentInfo documentInfo = signature.GetDocumentInfo();

为什么: 该方法收集有关文件签名的全面数据。

显示签名详细信息

迭代遍历签名集合:

Console.WriteLine($"Document actual Signatures : {documentInfo.Signatures.Count}");
foreach (BaseSignature baseSignature in documentInfo.Signatures)
{
    Console.WriteLine(
        $" - #{baseSignature.SignatureId}: Type: {baseSignature.SignatureType} Location: {baseSignature.Left}x{baseSignature.Top}. " +
        $"Size: {baseSignature.Width}x{baseSignature.Height}. CreatedOn/ModifiedOn: {baseSignature.CreatedOn.ToShortDateString()} / {baseSignature.ModifiedOn.ToShortDateString()}");
}

为什么: 它清楚地说明了每个签名的位置、大小和时间戳。

显示进程日志详细信息

访问流程日志以了解文档修改:

Console.WriteLine($"Document Process logs information: count = {documentInfo.ProcessLogs.Count}");
foreach (ProcessLog processLog in documentInfo.ProcessLogs)
{
    Console.WriteLine(
        $" - operation [{processLog.Type}] on {processLog.Date.ToShortDateString()}. Succeeded/Failed {processLog.Succeeded}/{processLog.Failed}. Message: {processLog.Message} : ");
    if (processLog.Signatures != null)
    {
        foreach (BaseSignature logSignature in processLog.Signatures)
        {
            Console.WriteLine($"\t\t -{logSignature.SignatureType} #{logSignature.SignatureId} at {logSignature.Top} x {logSignature.Left} pos;");
        }
    }
}

为什么: 这些日志为对文档执行的操作提供了审计跟踪,对于合规性和验证至关重要。

故障排除提示

  • 文档路径问题:确保您的文件路径正确且可访问。
  • 权限:验证您的应用程序是否有权限读取指定的文档。
  • 库更新:保持 GroupDocs.Signature 更新以避免与较新的 .NET 版本出现兼容性问题。

实际应用

GroupDocs.Signature for .NET 可应用于各种实际场景:

  1. 合同管理系统:自动验证并显示合同签名。
  2. 法律文件验证:在采取法律行动之前,确保法律文件已由授权方签署。
  3. 审计线索:维护文档变更的全面日志以符合监管要求。

性能考虑

在处理大规模文档时,优化性能至关重要:

  • 异步操作:尽可能利用异步方法来提高应用程序的响应能力。
  • 资源管理:确保使用适当的资源处置 using 语句以防止内存泄漏。
  • 批处理:对于批量操作,分批处理文档以最大限度地减少资源消耗。

结论

现在,您已经掌握了如何使用 GroupDocs.Signature for .NET 实现和显示文档签名。这款强大的工具简化了数字文档的验证和审核流程,从而提高了安全性和效率。

要进一步探索 GroupDocs.Signature 的功能,请考虑深入研究其 API 参考 或尝试更高级的功能。

常见问题解答部分

  1. 我可以在 Web 应用程序中使用 GroupDocs.Signature for .NET 吗?
    • 是的,它与 ASP.NET 和其他基于 .NET 的 Web 应用程序兼容。
  2. GroupDocs.Signature 支持哪些类型的文档?
    • 它支持 PDF、Word 文档、Excel 文件、图像等。
  3. 如何处理文档中的多个签名?
    • 迭代 Signatures 收集以单独处理每个签名。
  4. 处理的签名数量有限制吗?
    • 没有具体的限制;但是,性能可能会根据系统资源和文档大小而有所不同。
  5. 我可以自定义显示的签名详细信息的外观吗?
    • 是的,您可以通过调整应用程序中的代码来修改签名信息的呈现方式。

资源

如需更深入的知识和支持:

欢迎随时在 [GroupDocs 论坛] 上寻求支持