繁体   English   中英

使用iTextSharp在PDF的所有页面中显示签名

[英]Show signature in all pages of PDF using iTextSharp

您好,我想在PDF的所有页面上显示数字签名,我进行了研究,但只找到了一种在所有页面上插入图像的方法,但是我的证书没有图像,有人可以帮助我。 下面是一段代码:

sap.SetVisibleSignature( new iTextSharp.text.Rectangle( 10f, 10f, 110f, 30f ), reader.NumberOfPages, null );
sap.SignDate = DateTime.Now;
sap.Acro6Layers = true;
PdfSignature dic = new PdfSignature( PdfName.ADOBE_PPKMS, PdfName.ADBE_PKCS7_SHA1 );
dic.Date = new PdfDate( sap.SignDate );
signName = iTextSharp.text.pdf.security.CertificateInfo.GetSubjectFields( sap.Certificate ).GetField( "CN" );
dic.Name = signName;

if ( sap.Reason != null ) dic.Reason = sap.Reason;
if ( sap.Location != null ) dic.Location = sap.Location;

他的代码仅在PDF的最后一页上显示签名。

我从即将发布的规范草案中截取了一个屏幕截图。

在此处输入图片说明

您要求有一个由多个小部件注释表示的签名(每页一个)。 但是,规范说:

签名字段不得引用多个注解。

每当规范使用“ ”一词 ,任何不遵守规范的PDF均被视为无效。 (如果规范仅推荐一些东西, 则应使用单词应该 。)

总结:您要问的是不允许的内容(目前:不推荐;以后:禁止)。

补充说明: PDF中的数字签名涵盖了整个文档。 没有必要在每个页面上都放置视觉标记,因为这会加剧误解,认为可以使用PDF中的数字签名来对单独的页面进行签名。 在ISO规范中添加一个签名=一个小部件注释的原因也是有教育意义的:谁需要在每个页面上为单个签名添加小部件注释,证明他(她)不了解PDF中数字签名的概念;- )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM