gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:10:57 26 4
gpt4 key购买 nike

您好,我想在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 最后一页上的签名。

最佳答案

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

enter image description here

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

signature fields shall never refer to more than one annotation.

只要规范使用一词,任何不遵守规范的 PDF 都将被视为无效。 (如果规范只是推荐一些东西,则使用应该这个词。)

总结:你在问一些不允许的事情(现在:不推荐;将来:禁止)。

额外说明:PDF 中的数字签名涵盖整个文档。在每个页面上放置视觉标记是没有用的,因为这会助长一种误解,即 PDF 中的数字签名可用于签署单独的页面。在 ISO 规范中添加一个签名=一个小部件注释的原因也是有教育意义的:谁要求在每个页面上为单个签名添加小部件注释,证明他或她不理解这个概念PDF 中的数字签名 ;-)

关于c# - 使用 iTextSharp 在 PDF 的所有页面中显示签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20502236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com