更改 iText 中复选框字段的外观



我需要能够在渲染 pdf 时根据需要自定义复选框填充类型。

我必须只对AcroFields(pdfStamper.getAcroFields())执行此操作,因为我没有创建任何新字段(只是修改),这是我在范围内唯一可用的内容。我已经尝试了大约一百种方法,包括下面列出的一种,这是我对如何做到这一点的最佳猜测。

  PdfDictionary dictionary = (PdfDictionary)  acrofields.getFieldItem("ABCD").getWidget(0).get(PdfName.MK);
  dictionary.put(PdfName.CA, new PdfString("8", PdfObject.TEXT_UNICODE));

ABCD仅用于测试。

我很困,任何帮助将不胜感激。我可以更改字典中的值,但是当我将pdf写入文件时,它似乎没有任何影响。其他更改,例如将复选框设置为选中/未选中工作,以及填充文本字段。所以我非常惊讶和困惑为什么这不起作用。

您正在尝试更改复选框的标题,但我不清楚您希望看到什么。你想看到文本"8"吗?在这种情况下,更改标题是不够的。您还需要更改外观。您可以在/AP键下找到可能的外观。对于复选框,您将在正常外观 ( /N ) 下找到两种可能的外观状态。这些 XObject 定义了渲染 PDF 时看到的内容。

最新更新