首先,让我感谢 SO 社区过去多次帮助我;你们是一个了不起的资源!
在我的工作中,我开发了一个 Web 应用程序,该应用程序使用在 Scribus 中创建的 PDF 模板和 iText Java 库来使用我们数据库中的数据填充模板。有时,用户提供的字段是必需的,而 iText 并未触及。下载 .pdf 时,会编辑一个字段,并使用 Evince 保存副本,结果文件在重新打开时不会显示编辑后的文本。但是,在编辑字段的焦点上,它将显示保存的文本。失焦,文字消失。剪切文本,粘贴回字段;它保持可见 - 直到您保存并重新打开文档。保存并重新打开后,原始问题就出现了。我发现了很多关于这个问题的非常相似的帖子,但没有一个解决方案似乎对我有用。
此外,这个问题很古怪。如果我用 Evince 打开 Scribus 模板(iText 未触及的 .pdf 文件),然后编辑字段并保存,它们将在重新打开时正确显示。但是,一旦库接触到模板,就会出现问题。同样,我可以用我在搜索此问题的原因时发现的 PDF 文件重现该问题;像这个:
http://www.quask.com/samples/pdfforms/pcpurchase.pdf
这使我相信行为不端的文件可能以某种方式损坏,并且 iText 可能是我的问题的原因,但 iText 不是我可以重现该问题的唯一途径,所以我不知道该怎么做思考。在我见过的众多解决方案中,我似乎找不到可行的解决方案。是否有人对这个问题足够熟悉,能够告诉我在哪里可以深入了解这个问题或提供一些关于我正在使用的工具的见解?如果您使用谷歌搜索该问题,我已经看到了。
我正在使用 Ubuntu 12.04(精确)、Evince 3.4.0、iText 2.1.5,并且可以根据要求尝试填写任何其他相关详细信息。我很担心发布任何代码,因为我不确定它是否是 Kosher,并且它可以很好地构建表单,除了这个特殊问题;更不用说我可以在不使用我们的 webapp 的情况下重现问题。
这是我在这里的第一篇文章,我是一名新手程序员(还在上学!)所以如果我违反了任何约定或可以以任何方式改进我未来的查询,请务必告诉我。
谢谢你的尽心帮助!