C# 在PDF中添加可视化数字签名
来源:网络收集 点击: 时间:2024-01-27在VS中通过Nuget安装Spire.PDF,步骤如图:



安装结果:

C# 代码:
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Interactive.DigitalSignatures;
using System.Drawing;
using System.Security.Cryptography.X509Certificates;
namespace VisibleDigitalSignature
{
class Program
{
static void Main(string args)
{
//加载PDF测试文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(test.pdf);
//获取PDF文档中的第5页
PdfPageBase page = pdf.Pages;
//在页面中的指定位置添加可视化签名
X509Certificate2 x509 = new X509Certificate2(cer.pfx, e-iceblue);
PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(pdf, x509);
IPdfSignatureAppearance signatureAppearance = new PdfCustomSignatureAppearance();
signatureMaker.MakeSignature(signName_ , page, page.ActualSize.Width-240,page.ActualSize.Height-200,150,150, signatureAppearance);
//保存文档
pdf.SaveToFile(VisibleDigitalSignature.pdf, FileFormat.PDF);
System.Diagnostics.Process.Start(VisibleDigitalSignature.pdf);
pdf.Close();
}
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, PdfBrushes.Black, new PointF(0, 0));
g.DrawImage(PdfImage.FromFile(sign.png), new PointF(20, 20));
}
}
}
}
4/4数字签名效果:

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_7832.html