C中添加可視化數(shù)字簽名到PDF文檔
本篇文章將分享如何在C程序中給PDF文檔添加可視化數(shù)字簽名的方法。具體來(lái)說(shuō),就是在PDF文檔的指定頁(yè)面位置添加簽名,包括圖片、文字等信息。安裝Spire.PDF首先,在Visual Studio中通過(guò)
本篇文章將分享如何在C程序中給PDF文檔添加可視化數(shù)字簽名的方法。具體來(lái)說(shuō),就是在PDF文檔的指定頁(yè)面位置添加簽名,包括圖片、文字等信息。
安裝Spire.PDF
首先,在Visual Studio中通過(guò)NuGet安裝Spire.PDF庫(kù),操作步驟如下圖所示:
(插入NuGet安裝Spire.PDF庫(kù)的圖片)
安裝完成后,我們就可以開(kāi)始使用Spire.PDF庫(kù)來(lái)實(shí)現(xiàn)數(shù)字簽名功能了。
添加數(shù)字簽名代碼
在C程序中,引入Spire.PDF和相關(guān)命名空間:
```csharp
using Spire.Pdf;
using ;
using ;
using System.Drawing;
using ;
namespace VisibleDigitalSignature
{
class Program
{
static void Main(string[] args)
{
// 加載PDF測(cè)試文檔
PdfDocument pdf new PdfDocument();
pdf.LoadFromFile("test.pdf");
// 獲取PDF文檔中的第5頁(yè)
PdfPageBase page [4];
// 在頁(yè)面中的指定位置添加可視化簽名
X509Certificate2 x509 new X509Certificate2("", "e-iceblue");
PdfOrdinarySignatureMaker signatureMaker new PdfOrdinarySignatureMaker(pdf, x509);
IPdfSignatureAppearance signatureAppearance new PdfCustomSignatureAppearance();
("signName", page, - 240, - 200, 150, 150, signatureAppearance);
// 保存文檔
("VisibleDigitalSignature.pdf", FileFormat.PDF);
("VisibleDigitalSignature.pdf");
();
}
public class PdfCustomSignatureAppearance : IPdfSignatureAppearance
{
public void Generate(PdfCanvas g)
{
float fontSize 15;
PdfTrueTypeFont font new PdfTrueTypeFont(new Font("Arial", fontSize), true);
float lineHeight fontSize;
g.DrawString("Sign Here:", font, , new PointF(0, 0));
g.DrawImage((""), new PointF(20, 20));
}
}
}
}
```
以上代碼中,我們加載了一個(gè)PDF測(cè)試文檔,并選擇了其中的第5頁(yè)作為簽名位置。然后,我們創(chuàng)建了一個(gè)X509證書(shū)對(duì)象并設(shè)置了簽名的名稱(chēng)。接著,我們通過(guò)PdfOrdinarySignatureMaker類(lèi)和PdfCustomSignatureAppearance類(lèi)來(lái)生成數(shù)字簽名,并在指定位置添加可視化效果。最后,我們保存了修改后的PDF文檔并打開(kāi)它。
數(shù)字簽名效果
經(jīng)過(guò)上述代碼的執(zhí)行,在PDF文檔的指定位置成功添加了可視化的數(shù)字簽名。簽名位置上顯示了"Sign Here:"的文字,以及一個(gè)名為""的圖片。
(插入數(shù)字簽名效果圖片)