如何使用itext7库获取有关复选框的信息?

时间:2019-11-29 08:34:33

标签: java itext7

我需要获取有关Checkbox的信息,例如,复选框标记(十字,圆形等),选中,未选中等。但是,如果该文件中没有XFA信息,我将无法理解该信息在何处保存。该文件是通过Adobe Acrobat Pro DC 19.21.20049创建的。我尝试使用pdfbox tool来查找此信息,但没有找到。这是复选框信息的屏幕截图: enter image description here

任何人都可以向我解释如何获取此信息以及在哪里必须找到它?

1 个答案:

答案 0 :(得分:0)

对于 any PdfFormField field具有一个值,您可以像这样检索该值:

PdfObject value = field.getValue();

如果有复选框字段,则将返回PdfName。对于未选中的字段,名称为关闭。对于选中的字段,即使规范建议,它也可以是其他任何内容。


更难确定这些状态的外观,因为至少对于选中状态,复选框必须提供一个外观流,其中包含创建可视化效果的指令。

我们已经分析了一个这样的流in response to your other recent question。在这种情况下,将使用ZapfDingbats刻度符号,您可以将文本提取应用于流并确定它。

在其他情况下,例如如果出现交叉复选框,通常仅使用矢量图形指令。

不过,也可以在此处使用可能显示任何内容的位图图像。

因此,尽管您当然可以将外观流与由例如Adobe Acrobat会识别许多复选框字段的外观,因此您将无法自动识别全部。