我希望在PDF中的多个地方放置相同的外部签名容器(签名值)。
我提到了“How to place the Same Digital signatures to Multiple places in PDF using itextsharp.net”一页。
在进行上述工作时,我观察到,每当我尝试在单个页面上放置多个签名(如4-5次)时,它都无法工作。始终只显示一个有效签名字段和其他字段为未签名(未签名的PDF表单字段)。所以无法理解问题所在。
现在我想知道是否有任何参考资料可以用来了解PdfLiteral和PdfIndirectReference是如何工作的?我已经看过了这篇文章,但是没有得到足够的信息。此外,在PDF中可以添加多少批注/签名字段,还有什么限制吗?如果我必须使用BlankSignatureContainer和MakeSignature.SignDeferred,那么签名将如何连接到所有字段,
MakeSignature.SignDeferred(pdfreader, "Sig", output, externalcontainer)我们只需传递一个签名字段名。
谢谢。
发布于 2018-03-23 10:34:07
你想要的是mkl写的东西:
注意:虽然这个过程创建的东西不违反PDF规范的文字(它只禁止在多个页面中引用同一个字段对象,无论是通过相同的还是通过不同的小部件),但它显然违背了它的意图和精神。因此,本程序也可能被禁止作为规范的更正文件的一部分。
实际上,您所要求的确实违反了规范。见ISO PDF标准12.7.5.5节:

请允许我重复一下屏幕截图的最后一行:
签名字段不得引用一个以上的注释。
这句话中有一个应该,而不是一个应该。A不应该是规范的。这意味着你应该或者不应该做一些事情,但是如果你不做或者不做的话,你就没有违反规范。不尊重PDF文档中违反PDF规范的结果,严格意义上这不是一个真正的PDF文件。
这是一条你不想走的路,因为违反PDF规范会剥夺你使用Adobe拥有的一系列PDF专利的权利。Adobe拥有每个人都可以免费使用的专利(永久的,非排他性的,免费的,.)前提是你必须尊重ISO规范。
因此,请不要期望你的问题得到回答,除非建议放弃你的要求。符合PDF规范的PDF查看器不会期望将一个签名放置在不同的位置,因为规范不允许这样做,所以即使您将软件修改为为单个签名字段创建多个小部件注释/外观,也不能保证PDF查看器会理解您要做的事情。
https://stackoverflow.com/questions/49446542
复制相似问题