渲染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时看到的内容。

10-08 08:31
查看更多