介紹
使用元資料進行數位影像簽名對於確立真實性、所有權和可追溯性正變得越來越重要。 GroupDocs.Signature for .NET 提供了一個強大且易於使用的解決方案,用於為各種影像格式新增元資料簽章。本教學將引導您使用 C# 完成使用元資料對影像進行簽名的完整過程。
元資料簽名可讓您將有價值的資訊直接嵌入到影像檔案中,例如作者資訊、建立時間戳記、唯一識別碼等。這些資訊將成為影像檔案本身的一部分,從而提供一種可靠的方法來追蹤和驗證影像的真實性。
先決條件
在繼續本教學之前,請確保您已具備以下條件:
- 適用於 .NET 的 GroupDocs.Signature - 下載並安裝庫
- 開發環境 - Visual Studio 或任何支援 .NET 的相容 IDE
- 圖像檔案 - 支援格式(PNG、JPG、TIFF 等)的範例圖像文件
- 基本 C# 程式設計知識 - 熟悉 C# 程式設計概念
導入命名空間
首先匯入必要的命名空間來存取 GroupDocs.Signature 功能:
using System;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
步驟 1:設定檔案路徑
定義來源影像的路徑以及簽章輸出的儲存位置:
// 指定來源影像檔案的路徑
string filePath = "sample.png";
// 定義簽名影像的輸出目錄和檔名
string outputDirectory = "Your Document Directory";
string outputFilePath = Path.Combine(outputDirectory, "SignImageWithMetadata", "SignedWithMetadata.png");
// 確保輸出目錄存在
Directory.CreateDirectory(Path.GetDirectoryName(outputFilePath));
步驟2:初始化簽名對象
使用來源圖像檔案建立 Signature 類別的實例:
using (Signature signature = new Signature(filePath))
{
// 其餘代碼將放在這裡
}
步驟 3:建立和設定元資料簽名
接下來,定義要嵌入影像的元資料。 GroupDocs.Signature 支援多種元資料資料類型:
// 初始化元資料ID(特定於影像格式)
ushort imgsMetadataId = 41996;
// 建立元資料選項對象
MetadataSignOptions options = new MetadataSignOptions();
// 新增各種類型的元資料簽名
options
.Add(new ImageMetadataSignature(imgsMetadataId++, "Mr.Sherlock Holmes")) // 字串值
.Add(new ImageMetadataSignature(imgsMetadataId++, DateTime.Now)) // 日期時間值
.Add(new ImageMetadataSignature(imgsMetadataId++, 123456)) // 整數值
.Add(new ImageMetadataSignature(imgsMetadataId++, 123.456D)) // 雙倍值
.Add(new ImageMetadataSignature(imgsMetadataId++, 123.456M)) // 十進制值
.Add(new ImageMetadataSignature(imgsMetadataId++, 123.456F)); // 浮點數值
步驟 4:使用元資料對影像進行簽名
將元資料簽名套用至影像並儲存結果:
// 簽署文件並儲存到輸出文件路徑
SignResult result = signature.Sign(outputFilePath, options);
// 顯示成功訊息
Console.WriteLine($"\nSource image signed successfully with {result.Succeeded.Count} metadata signature(s).");
Console.WriteLine($"Signed image saved at: {outputFilePath}");
完整範例
以下是將所有步驟整合在一起的完整程式碼範例:
using System;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
namespace SignImageWithMetadataExample
{
class Program
{
static void Main(string[] args)
{
// 指定檔案路徑
string filePath = "sample.png";
string outputFilePath = Path.Combine("Your Document Directory", "SignImageWithMetadata", "SignedWithMetadata.png");
// 確保輸出目錄存在
Directory.CreateDirectory(Path.GetDirectoryName(outputFilePath));
// 使用元資料對影像進行簽名
using (Signature signature = new Signature(filePath))
{
// 初始化元資料ID(特定於影像格式)
ushort imgsMetadataId = 41996;
// 建立元資料選項
MetadataSignOptions options = new MetadataSignOptions();
// 新增不同類型的元資料簽名
options
.Add(new ImageMetadataSignature(imgsMetadataId++, "Mr.Sherlock Holmes")) // 字串值
.Add(new ImageMetadataSignature(imgsMetadataId++, DateTime.Now)) // 日期時間值
.Add(new ImageMetadataSignature(imgsMetadataId++, 123456)) // 整數值
.Add(new ImageMetadataSignature(imgsMetadataId++, 123.456D)) // 雙倍值
.Add(new ImageMetadataSignature(imgsMetadataId++, 123.456M)) // 十進制值
.Add(new ImageMetadataSignature(imgsMetadataId++, 123.456F)); // 浮點數值
// 簽署文件並儲存到文件
SignResult result = signature.Sign(outputFilePath, options);
// 顯示結果
Console.WriteLine($"\nSource image signed successfully with {result.Succeeded.Count} signature(s).");
Console.WriteLine($"File saved at {outputFilePath}.");
}
}
}
}
進階元資料簽章技術
使用自訂元數據
您也可以建立具有特定 ID 的自訂元資料欄位:
// 使用特定 ID 建立自訂元數據
options.Add(new ImageMetadataSignature(42000, "CustomValue"));
驗證元資料簽名
簽名後,您可能需要驗證元資料簽章:
// 建立驗證選項
MetadataSearchOptions searchOptions = new MetadataSearchOptions();
// 搜尋元資料簽名
SearchResult result = signature.Search(searchOptions);
// 顯示找到的簽名
Console.WriteLine($"Found {result.Signatures.Count} metadata signatures:");
foreach(var metadataSignature in result.Signatures)
{
Console.WriteLine($"- {metadataSignature.Name}: {metadataSignature.Value}");
}
結論
在本教學中,您學習如何使用 GroupDocs.Signature for .NET 為映像新增元資料簽章。將元資料嵌入影像是增強影像真實性、添加關鍵資訊以及改善文件管理工作流程的絕佳方法。流程簡單易用,功能強大,可依您的特定需求進行客製化。
圖像檔案中嵌入的元資料可用於各種目的,例如版權保護、追蹤圖像來源、添加描述性資訊以及建立數位保管鏈。透過實施元資料簽名,您可以確保影像在整個生命週期中保持完整性和真實性。
常見問題解答
我可以為現有的簽名影像添加元資料嗎?
是的,您可以為已包含元資料簽署的影像新增額外的元資料。現有元資料將被保留,新的元資料也會相應地添加。
元資料簽名支援哪些影像格式?
GroupDocs.Signature for .NET 支援多種影像格式的元資料簽名,包括 PNG、JPEG、TIFF、BMP、GIF 等。完整清單請參閱 官方文檔.
是否可以加密影像中的元資料?
是的,GroupDocs.Signature 提供了加密元資料的選項,以增強安全性。您可以使用該庫提供的加密選項來保護敏感的元資料資訊。
我可以透過程式驗證簽名影像的真實性嗎?
當然。您可以使用 GroupDocs.Signature 中的驗證方法來驗證元資料簽章並確認簽章影像的真實性。
使用元資料對影像進行簽名時,檔案大小是否有限制?
該庫本身沒有特定的檔案大小限制,但處理非常大的檔案可能需要更多處理時間和記憶體。建議在處理超大影像時考慮系統資源。
我如何獲得用於測試的臨時許可證?
您可以獲得 臨時執照 用於在購買之前測試 GroupDocs.Signature。