【问题标题】:iText7 - PdfFormField.setValue() fails if the /DA uses a decimal font sizeiText7 - 如果 /DA 使用十进制字体大小,PdfFormField.setValue() 将失败
【发布时间】:2019-06-09 14:20:54
【问题描述】:

iText 7.0.0

我有一个由 Adob​​e LiveCycle ES 10 创建的 PDF,它生成一个带有

的 TextField
/DA /Arial-BoldMT 9.00 Tf 0.000 0.000 1.000 rg

这会导致 PdfFormField.regenerateField() 失败,它期望文本字体大小为整数(我在 PDF 规范中没有看到任何具体提及这是真的)

对于我的特殊情况,一个可接受的解决方法似乎只是在字典中设置 /V,但奇怪的是为什么 setValue() 工作这么辛苦?

【问题讨论】:

  • “但奇怪的是为什么 setValue() 工作这么辛苦”
  • 我在我们封闭的票务系统中创建了一张票。字体大小为 PDF 编号类型。 PDF 编号可以是整数或实数。这意味着字体大小可以是十进制数。如果 iText 7 不接受这个,我们应该解决这个问题。
  • 感谢 Bruno..我实际上也正准备在 Jira 中为此开一张支持票。对于我们的特殊情况,我们可能不需要将字体大小普遍视为小数(降低到 int 是可以接受的......尤其是因为我遇到的几乎每个案例都是 #.00)
  • 但是当我们修复问题时,我们应该修复所有十进制数。这是同样的努力。
  • 这确实是 iText 的一个错误,现已修复,该修复将从 7.0.1 版本开始提供

标签: itext itext7


【解决方案1】:

这已在 iText 7.0.1 中修复。字体大小现在被处理为十进制值,并在整个 API 中作为浮点数公开

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-09
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多