【问题标题】:iText PDF values not shown on iOSiOS 上未显示 iText PDF 值
【发布时间】:2017-08-11 08:12:23
【问题描述】:

我们使用 iText(Java 语言)创建 PDF 文件,这些文件在 Windows / Android 上运行良好,但是当我们在 iPhone 上打开此类文件时,代码中设置的 acroFields 为空。

我们正在使用以下代码,并且 setGenerateAppearances 已设置为 true。

PdfStamper pdfStamper = new PdfStamper(templateReader, pagePdf);
AcroFields acroFields = pdfStamper.getAcroFields();
acroFields.setGenerateAppearances(true);
acroFields.setField("creationdate", creationDate);

知道为什么这在 iPhone 上不起作用,但在所有其他设备上都起作用吗?

谢谢

【问题讨论】:

  • 你也试过 macOS 吗?使用预览应用?
  • 我刚刚检查了一下,它运行得更好,但仍然不如 Windows / Android。显示字段,但字体不同。
  • 这是一个在 ISO 委员会中多次讨论的已知问题:Apple 生产的 PDF 查看器没有(正确地)实现(完整)规范。尤其是表单在 Apple 的 PDF 查看器上存在问题。如果可以选择展平表单,请将其展平。
  • 感谢@BrunoLowagie 解决了我们的问题。

标签: java ios iphone pdf itext


【解决方案1】:

正如 Bruno Lowagie 所说,该问题可以通过使用 flatten 选项来解决,该选项应在调用 pdfStamper.close() 之前设置:

// flatten the PDF (so the values are visible when PDF is downloaded on iOS / OS X)
pdfStamper.setFormFlattening(true);

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    相关资源
    最近更新 更多