如何使用 itext7 库获取有关复选框的信息?
How to get information about checkbox using itext7 library?
我需要获取有关 Checkbox
的信息,例如复选框标记(十字、圆形等)、已选中、未选中等等。但是如果在这个文件中没有 XFA
信息,我不明白这些信息保存在哪里。此文件是通过 Adobe Acrobat Pro DC 19.21.20049
创建的。我试图使用 pdfbox tool
查找此信息,但没有找到。那是checkbox信息的截图:
任何人都可以向我解释如何获取此信息以及我必须在哪里找到它吗?
对于 any PdfFormField field
的值,您可以像这样检索该值:
PdfObject value = field.getValue();
如果是复选框字段,这将 return 一个 PdfName
。对于未选中的字段,名称为 Off。对于选中的字段,它可以是任何其他内容,即使规范建议 Yes.
这些状态的外观更难确定,因为至少对于选中状态,复选框必须提供包含创建可视化指令的外观流。
我们分析了一个这样的流 。在那种情况下,使用了 ZapfDingbats 刻度符号,您可以将文本提取应用于流并确定这一点。
在其他情况下,例如如果是打勾的复选框,通常只使用矢量图形指令。
不过,也可以在此处使用可能显示任何内容的位图图像。
因此,虽然您当然可以将外观流与由例如生成的标准外观进行比较。 Adobe Acrobat 等识别很多复选框字段的外观,你将无法自动识别所有。
我需要获取有关 Checkbox
的信息,例如复选框标记(十字、圆形等)、已选中、未选中等等。但是如果在这个文件中没有 XFA
信息,我不明白这些信息保存在哪里。此文件是通过 Adobe Acrobat Pro DC 19.21.20049
创建的。我试图使用 pdfbox tool
查找此信息,但没有找到。那是checkbox信息的截图:
任何人都可以向我解释如何获取此信息以及我必须在哪里找到它吗?
对于 any PdfFormField field
的值,您可以像这样检索该值:
PdfObject value = field.getValue();
如果是复选框字段,这将 return 一个 PdfName
。对于未选中的字段,名称为 Off。对于选中的字段,它可以是任何其他内容,即使规范建议 Yes.
这些状态的外观更难确定,因为至少对于选中状态,复选框必须提供包含创建可视化指令的外观流。
我们分析了一个这样的流
在其他情况下,例如如果是打勾的复选框,通常只使用矢量图形指令。
不过,也可以在此处使用可能显示任何内容的位图图像。
因此,虽然您当然可以将外观流与由例如生成的标准外观进行比较。 Adobe Acrobat 等识别很多复选框字段的外观,你将无法自动识别所有。