2016 - 2024

感恩一路有你

C中添加可视化数字签名到PDF文档

浏览量:2904 时间:2024-08-17 17:51:11 作者:采采

本篇文章将分享如何在C程序中给PDF文档添加可视化数字签名的方法。具体来说,就是在PDF文档的指定页面位置添加签名,包括图片、文字等信息。

安装Spire.PDF

首先,在Visual Studio中通过NuGet安装Spire.PDF库,操作步骤如下图所示:

(插入NuGet安装Spire.PDF库的图片)

安装完成后,我们就可以开始使用Spire.PDF库来实现数字签名功能了。

添加数字签名代码

在C程序中,引入Spire.PDF和相关命名空间:

```csharp

using Spire.Pdf;

using ;

using ;

using System.Drawing;

using ;

namespace VisibleDigitalSignature

{

class Program

{

static void Main(string[] args)

{

// 加载PDF测试文档

PdfDocument pdf new PdfDocument();

pdf.LoadFromFile("test.pdf");

// 获取PDF文档中的第5页

PdfPageBase page [4];

// 在页面中的指定位置添加可视化签名

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));

}

}

}

}

```

以上代码中,我们加载了一个PDF测试文档,并选择了其中的第5页作为签名位置。然后,我们创建了一个X509证书对象并设置了签名的名称。接着,我们通过PdfOrdinarySignatureMaker类和PdfCustomSignatureAppearance类来生成数字签名,并在指定位置添加可视化效果。最后,我们保存了修改后的PDF文档并打开它。

数字签名效果

经过上述代码的执行,在PDF文档的指定位置成功添加了可视化的数字签名。签名位置上显示了"Sign Here:"的文字,以及一个名为""的图片。

(插入数字签名效果图片)

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。