养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

C# 在PDF中添加可视化数字签名

时间:2024-10-04 11:25:52

本次经验内容分享C#程序中跗柿椁焚如何给PDF文档添加可视化数字签名的方法。即在PDF中的指定页面位置添加签名,包括前面图片,文字等信息。

工具/原料

VisualStudio2017

Windows10

.netframework4.6.1

PDF类库:Spire.PDFfor.NET

方法/步骤

1、在VS中通过Nuget安装Spire.PDF,步骤如图:

C# 在PDF中添加可视化数字签名

C# 在PDF中添加可视化数字签名

C# 在PDF中添加可视化数字签名

2、安装结果:

C# 在PDF中添加可视化数字签名

3、C#代码:usingSpire.Pd酆璁冻嘌f;usingSpire.Pdf.Graphics;usingSp足毂忍珩ire.Pdf.Interactive.DigitalSignatures;usingSystem.Drawing;usingSystem.Security.Cryptography.X509Certificates;namespaceVisibleDigitalSignature{classProgram{staticvoidMain(string[]args){//加载PDF测试文档PdfDocumentpdf=newPdfDocument();pdf.LoadFromFile("test.pdf");//获取PDF文档中的第5页PdfPageBasepage=pdf.Pages[4];//在页面中的指定位置添加可视化签名X509Certificate2x509=newX509Certificate2("cer.pfx","e-iceblue");PdfOrdinarySignatureMakersignatureMaker=newPdfOrdinarySignatureMaker(pdf,x509);IPdfSignatureAppearancesignatureAppearance=newPdfCustomSignatureAppearance();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();}publicclassPdfCustomSignatureAppearance:IPdfSignatureAppearance{publicvoidGenerate(PdfCanvasg){floatfontSize=15;PdfTrueTypeFontfont=newPdfTrueTypeFont(newFont("Arial",fontSize),true);floatlineHeight=fontSize;g.DrawString("SignHere:",font,PdfBrushes.Black,newPointF(0,0));g.DrawImage(PdfImage.FromFile("sign.png"),newPointF(20,20));}}}}

4、数字签名效果:

C# 在PDF中添加可视化数字签名

© 一点知识