用 iText7 保存的文件在 nuance pdf professional 中无法正确显示 5

问题描述 投票:0回答:1

编辑添加PDF链接

我有一个 outlook 添加,其中使用 iText 7 编辑附加到电子邮件的 PDF。

代码 (c#) 似乎可以正常运行,并且在 Acrobat 或 Kofax power PDF 中打开 PDF 时,格式正确。在 Nuance PDF professional 5 中打开同一个 PDF 时,只有输入到表单字段中的文本保持可见。如果在 Acrobat 或 Kofax 中打开同一个 PDF,并保存了同一个文件的副本,则它可以在 Nuance 中正确打开。

我尝试将 pdf 展平,这导致 Nuance 中没有可见文本(本质上是空白 PDF)。我还发现这个问题只发生在从 iPad 添加了书面签名的 PDF 上。

最后,我注意到通过 iText 保存的文件比通过 Acrobat 保存的相同 pdf 小 50-100 kb。我将压缩设置为 no_compression 但这并没有影响结果。

任何帮助将不胜感激。

//https://www.dropbox.com/s/4i2pyb7yiewuow6/Electronic%20Daily%20Timesheet%20Template%20V2.24.pdf?dl=0//

c# pdf itext itext7 nuance
1个回答
0
投票

在评论中,OP 提供了他们的代码处理的文件状态,Nuance PDF Professional 显示不正确 - “电子每日时间表模板 V2.24.pdf” - 以及该文件的状态由 Adobe Acrobat 保存为 Nuance PDF Professional 正确显示 - “Electronic Daily Timesheet Template V2.24(同一文件曾经从 Adobe Acrobat reader 保存过).pdf”。主要区别如下。

  • “电子每日时间表模板V2.24.pdf”和“电子每日时间表模板V2.24(从Adobe Acrobat reader保存的相同文件).pdf”的对象几乎没有区别,本质上只是页面内容被修改了分成更多的部分流。

    我怀疑 Nuance PDF Professional 在处理以前文档的较大部分内容流时存在问题,这更经常会导致问题。尽管如此,不能完全排除它是问题的原因。

  • 查看对象在文件中的存储方式,虽然,有一个非常相关的区别:前一个文件存储为修订序列,而后者已被展平为单个修订。这是相关的,因为在前文件的第一次修订中存在结构错误(没有填写或签名潦草),交叉引用表无效。 Adobe Acrobat 在将这些修订合并为一个时,创建了带有有效交叉引用表的后一个文件。

    前一个文件中的这个错误也已知会导致 Adobe Acrobat 在具有多个数字签名的工作流程中出现问题。它也可能导致其他 PDF 处理软件(如 Nuance PDF Professional)出现任意问题。

    (交叉引用表中的确切错误是在 PDF 的第一次修订中被禁止的分段,比较thisthis,以及许多类似的 stackoverflow 答案。)

© www.soinside.com 2019 - 2024. All rights reserved.