使用 GroupDocs.Signature for .NET 實作自訂序列化的 PDF 元資料簽名

介紹

在當今的數位世界中,確保文件的真實性和完整性至關重要。無論您是開發合約管理系統的開發人員,還是處理敏感資訊的組織,可靠地簽署文件都至關重要。本指南將指導您使用自訂序列化實作 PDF 元資料簽名 適用於 .NET 的 GroupDocs.Signature—一個強大的函式庫,旨在簡化.NET應用程式中的數位簽章。

本教學重點在於如何建立和套用元資料簽章的自訂序列化格式,此功能增強了資料嵌入文件時呈現方式的靈活性。透過利用 GroupDocs.Signature for .NET,您可以控制簽署相關資料(例如 ID、作者、日期和其他指標)在 PDF 檔案中的序列化和儲存方式。

您將學到什麼:

  • 如何在您的環境中設定和設定 GroupDocs.Signature for .NET
  • 使用屬性定義唯一的元資料格式來實現自訂序列化
  • 使用自訂元資料簽名對文件進行簽名
  • 使用數位簽章時優化效能的最佳實踐

在深入探討技術細節之前,請確保一切準備就緒。

先決條件

為了有效地遵循本教程,請確保滿足以下先決條件:

所需的庫和版本:

  • 適用於 .NET 的 GroupDocs.Signature:確保您擁有 21.5 或更高版本,該版本支援自訂序列化功能。

環境設定要求:

  • .NET 開發環境(建議使用 Visual Studio)
  • 對 C# 程式設計有基本的了解

知識前提:

  • 熟悉物件導向程式設計概念
  • 在 .NET 中使用檔案路徑和目錄的基礎知識

為 .NET 設定 GroupDocs.Signature

首先,您需要安裝 GroupDocs.簽名 將庫加入你的專案。以下是使用不同套件管理器的操作方法:

.NET CLI:

dotnet add package GroupDocs.Signature

套件管理器:

Install-Package GroupDocs.Signature

NuGet 套件管理器 UI:

搜尋“GroupDocs.Signature”並直接從您的 IDE 安裝最新版本。

許可證取得步驟:

  • 免費試用:從免費試用開始探索功能。
  • 臨時執照:申請臨時許可證,以便不受限制地延長測試時間。
  • 購買:如果您需要完全存取權限以供生產使用,請考慮購買。

安裝後,請在專案中初始化 GroupDocs.Signature,如下所示:

using GroupDocs.Signature;

// 使用輸入檔路徑初始化 Signature 類
var signature = new Signature("input.pdf");

實施指南

本節將指導您建立自訂序列化機制並將其套用至簽署文件。

為元資料簽章建立自訂序列化

概述:

自訂序列化可讓您定義在將元資料嵌入文件時特定欄位的序列化方式。這對於確保後續可能使用已簽署文件的不同系統之間的資料一致性和可讀性尤其有用。

逐步實施:

定義自訂資料簽名類

建立一個代表您的簽名資料的類,該類具有控制序列化行為的屬性。

using System;
using GroupDocs.Signature.Domain.Extensions;

class DocumentSignatureData
{
    [CustomSerialization]
    public class SignatureData
    {
        // 對 SignID 欄位使用自訂格式
        [Format("SignID")]
        public string ID { get; set; }

        // 作者欄位的自訂格式
        [Format("SAuth")]
        public string Author { get; set; }

        // 使用特定模式自訂日期格式
        [Format("SDate", "yyyy-MM-dd")]
        public DateTime Signed { get; set; }

        // 格式化為兩位小數
        [Format("SDFact", "N2")]
        public decimal DataFactor { get; set; }

        // 從序列化中排除此字段
        [SkipSerialization]
        public string Comments { get; set; }
    }
}
解釋:
  • [自訂序列化]:將整個類別標記為自訂序列化。
  • [格式(“欄位名稱”, “模式”)]):指定如何序列化特定屬性,包括其鍵和格式模式。
  • [跳過序列化]:排除被序列化的屬性。

使用元資料和自訂序列化對文件進行簽名

概述:

在本節中,您將使用自訂序列化類別對文件進行簽署。這涉及設定元資料簽章並使用 GroupDocs.Signature for .NET 應用它們。

步驟:
設定加密

實施資料加密以保護您的簽章元資料。

using System.IO;
using GroupDocs.Signature.Domain;

// 建立加密物件(例如,CustomXOREncryption)
IDataEncryption encryption = new CustomXOREncryption();
配置元資料簽章選項

設定簽名選項,包括自訂序列化和加密。

using GroupDocs.Signature.Options;
using GroupDocs.Signature.Domain;

MetadataSignOptions options = new MetadataSignOptions()
{
    DataEncryption = encryption
};
建立自訂簽章資料對象

使用特定的簽章細節實例化您的自訂資料類別。

documentSignatureData = new DocumentSignatureData.SignatureData
{
    ID = Guid.NewGuid().ToString(),
    Author = Environment.UserName,
    Signed = DateTime.Now,
    DataFactor = 11.22M
};
新增簽章元數據

在選項中新增各種元資料欄位。

using GroupDocs.Signature.Domain;

WordProcessingMetadataSignature mdSignature = new WordProcessingMetadataSignature("Signature", documentSignatureData);
WordProcessingMetadataSignature mdAuthor = new WordProcessingMetadataSignature("Author", "Mr.Scherlock Holmes");
WordProcessingMetadataSignature mdDocId = new WordProcessingMetadataSignature("DocumentId", Guid.NewGuid().ToString());

options.Add(mdSignature).Add(mdAuthor).Add(mdDocId);
簽署文件

應用配置的選項來簽署您的文件。

using GroupDocs.Signature;

string filePath = "YOUR_DOCUMENT_DIRECTORY";
string outputFilePath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "SignedDocument.pdf");

using (Signature signature = new Signature(filePath))
{
    // 簽署並儲存文件
    SignResult signResult = signature.Sign(outputFilePath, options);
}

故障排除提示:

  • 確保正確指定了檔案路徑。
  • 驗證自訂序列化所需的所有屬性是否均已正確設定。
  • 檢查 GroupDocs.Signature 庫是否已更新以支援自訂功能。

實際應用

自訂元資料簽章的能力有多種實際應用:

  1. 合約管理:使用自訂格式在文件中以標準化格式嵌入合約 ID 和簽署日期。
  2. 文件版本控制:將版本號碼和作者詳細資料直接附加到元資料中,確保可追溯性。
  3. 電子商務交易:將交易 ID 和金額安全地嵌入 PDF 發票或收據中。
  4. 法律文件:以預先定義格式新增案件編號和法律術語,以便在審計期間輕鬆檢索。

與 CRM 或 ERP 平台等其他系統的整合可以透過自動化元資料提取和處理進一步增強文件管理工作流程。

性能考慮

使用數位簽章時,優化效能至關重要:

  • 非同步處理:使用非同步方法避免阻塞操作。
  • 資源管理:妥善管理資源,防止記憶體洩漏或 CPU 使用率過高。
  • 批次處理:處理多個文件時,請考慮使用批次技術來提高效率。

透過遵循這些準則並利用 GroupDocs.Signature for .NET 的功能,您可以在應用程式中有效地實現強大的元資料簽章解決方案。