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

时间:2013-11-01 20:21:14

标签: java 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写入文件时似乎没有任何影响。其他更改(例如将复选框设置为选中/取消选中)以及填充文本字段。所以我非常惊讶和困惑,为什么这不起作用。

1 个答案:

答案 0 :(得分:2)

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