數字簽名是驗證文件真實性的可靠方案。數字簽名通常用於實現電子簽名。在本文中,您將學習如何使用 C# 使用數字證書對 PDF 和 Word 文檔進行電子簽名。
用於數字簽名和證書的 .NET API
為了使用數字證書籤署文檔,我將在本文的 C# 示例中使用 GroupDocs.Signature for .NET API。除了簽署 PDF 文檔外,此 API 還支持文字處理文檔和電子表格格式的數字簽名。
從 下載部分 下載 DLL 或 MSI 安裝程序,或通過 NuGet 在您的 .NET 應用程序中安裝 API。
PM> Install-Package GroupDocs.Signature
在 C# 中使用數字證書籤署 PDF
設置好環境後,幾行代碼就可以成功簽署文檔了。按照以下步驟使用 C# 使用可用的數字證書對文檔進行簽名。
- 使用要簽名的文檔初始化 Signature 對象。
- 使用證書文件初始化 DigitalSignOptions 對象。
- 設置所需的簽名選項,例如密碼和位置。
- 調用Sign方法用數字證書對文檔進行簽名。
以下代碼示例使用 C# 中的證書對 PDF 文檔進行簽名。
// 在 C# 中使用數字證書籤署 PDF
using (Signature signature = new Signature("document.pdf"))
{
DigitalSignOptions options = new DigitalSignOptions("certificate.pfx");
{
ImageFilePath = "sampleImage.jpg", // Optional - Set image file path
Left = 50, // Set signature position
Top = 50,
Password = "GroupDocs" // Set Password
};
signature.Sign("signedDocument.pdf", options);
}
在 C# 中使用自定義外觀使用數字簽名進行簽名
可以自定義數字簽名以具有不同的表示形式。對於個性化外觀,可以使用 PdfDigitalSignatureAppearance 類自定義以下選項。
- 背景
- 聯繫方式
- 簽署日期
- 數字簽名
- 地點
- 原因
- 字體系列
- 字體大小
此外,您可以更改以下屬性:
- 高度
- 寬度
- 邊框樣式
- 是否在所有頁面上顯示
在以下示例中,我幾乎使用了上述所有屬性。此示例使用 C# 自定義 PDF 文檔中數字簽名的外觀。
// 在具有自定義外觀和設置的 C# 中使用數字證書籤署 PDF
using (Signature signature = new Signature("document.pdf"))
{
DigitalSignOptions options = new DigitalSignOptions("certificate.pfx")
{
Password = "GroupDocs",
// 數字證書詳細信息
Reason = "Approved",
Location = "New York",
// 自定義 PDF 簽名外觀
Appearance = new PdfDigitalSignatureAppearance()
{
// 不顯示聯繫方式
ContactInfoLabel = string.Empty,
// 簡化原因標籤
ReasonLabel = "?",
// 更改位置標籤
LocationLabel = "From",
DigitalSignedLabel = "By",
DateSignedAtLabel = "On",
Background = Color.Red
},
AllPages = true,
Width = 160,
Height = 80,
// 設置簽名邊框
Border = new Border()
{
Visible = true,
Color = Color.Red,
DashStyle = DashStyle.DashDot,
Weight = 2
}
};
SignResult signResult = signature.Sign("signedDocument.pdf", options);
}
在 C# 中使用數字證書對 Word 文檔進行簽名
同樣,您可以使用證書籤署 Word 文檔。當您開始初始化 Signature 對象時,只需提供正確的文檔即可。
- 使用要簽名的 Word 文檔初始化 Signature 對象。
- 使用證書文件初始化 DigitalSignOptions 對象。
- 設置簽名選項,例如密碼和位置。
- 使用 Sign 方法使用數字證書對文檔進行簽名。
該示例使用 C# 中的證書對 Word 文檔進行簽名。
// 在 C# 中使用數字證書對 Word 文檔進行簽名
using (Signature signature = new Signature("document.docx"))
{
DigitalSignOptions options = new DigitalSignOptions("certificate.pfx");
{
ImageFilePath = "sampleImage.jpg", // Optional - Set image file path
Left = 50, // Set signature position
Top = 50,
Password = "GroupDocs" // Set Password
};
signature.Sign("signedDocument.docx", options);
}
結論
在本文中,您學習了使用 C# 使用數字證書對 PDF 和 Word 文檔進行電子簽名。此外,您可以輕鬆自定義簽名的外觀。現在,您可以嘗試構建自己的 .NET 應用程序,以使用在 C# 中具有自定義外觀的數字證書對 PDF 和 Word 文檔進行簽名。