0

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

4

1 回答 1

2

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

于 2013-11-02T10:00:56.800 回答