我在对使用Microsoft Word 2013创建的PDF/a-1A文档进行签名并使用带有可见签名的iTextSharp时遇到问题。已签名的文档不再符合PDF/A验证器的以下错误:
- 缺少结束文本运算符
- 缺少开始文本运算符
使用Acrobat打印已签名文档时也会显示警告消息(但打开文档时不会显示)。
如果没有可视签名,该文件将保持一致。
我使用iTextSharp版本5.5.7和5.5.8进行了测试。同样的效果。使用acrobat阅读器或专业版签署相同的PDF/A文档不会破坏PDF/A-1A的一致性。签署由MS Word 2013以外的其他软件创建的PDF文档(使用另存为命令)并使用iText似乎不会破坏PDF/A-1A的一致性。
测试文件可以在这里下载:
- http://federalism.vserver.softronics.ch/itext/Pdf-Validation.pdf
- http://federalism.vserver.softronics.ch/itext/Pdf-Validation.Signed.pdf
使用的在线验证器:pdf在线、pdf工具、Preflight(Adobe Acrobat)。此验证器还验证已签名的文档:-)
iText库中是否存在任何错误,以及如何获取有效的PDF/a-1A文档?
谢谢你的帮助!Corto
谢谢你的回答。我测试了iText在二月份交付给我的一个补丁。它解决了打印文档时的问题(警告消息)。但该补丁可能没有集成在最终版本(5.5.9)中,问题尚未解决。
它将在iText 5.5.10中修复。如果您不能等待,这两个提交可以解决问题:
*https://github.com/itext/itextpdf/commit/f67e2a014217abbd123535325d6e5f5842ddb8f9
*https://github.com/itext/itextpdf/commit/057eb7ce9a22748854cfb5ff01d32f368141ed81