Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么iText form.GetAppearanceState(键)方法为复选框字段返回不一致的值?_Java_Itext_Acrofields - Fatal编程技术网

Java 为什么iText form.GetAppearanceState(键)方法为复选框字段返回不一致的值?

Java 为什么iText form.GetAppearanceState(键)方法为复选框字段返回不一致的值?,java,itext,acrofields,Java,Itext,Acrofields,我有使用AdobeAcrobat标准DC创建的带有acroForm的PDF 我使用JavaIText5填充了一个Chekcbox字段。 我不明白为什么,IMHO,form.getAppearanceState(key)方法会为这个字段返回不一致的值 String[] states = form.getAppearanceStates(key); 为什么我发现它们不一致,因为值是: [“关闭”、“是”] 这些是默认值吗?每个表单创建软件是否有不同的默认值?为什么我会问这个问题,因为我的软件可以

我有使用AdobeAcrobat标准DC创建的带有acroForm的PDF

我使用JavaIText5填充了一个Chekcbox字段。 我不明白为什么,IMHO,form.getAppearanceState(key)方法会为这个字段返回不一致的值

String[] states = form.getAppearanceStates(key); 
为什么我发现它们不一致,因为值是: [“关闭”、“是”]

这些是默认值吗?每个表单创建软件是否有不同的默认值?为什么我会问这个问题,因为我的软件可以用于以多种不同方式创建的文档。我正在努力解决代码中的所有情况

我知道我可以在该字段的选项中更改导出值,但默认值始终为“是”?是否默认未选中值将始终为“关闭”

IMHO中的一致值如下所示: [“开”、“关”] 或 [“是”、“否”]

此“不一致性”基于PDF格式,因此,规范强制未检查状态命名为Off,而检查状态的名称可以自由选择,并且在一个示例中,它使用Yes作为检查状态的名称:

关闭状态的外观是可选的,但如果存在,应以名称off存储在外观字典中

示例1此示例显示了一个典型的复选框定义

1 0 obj
<</Type /Annot
/Subtype /Widget
/Rect [100 100 120 120]
/FT /Btn
/T (Urgent)
/V /Yes
/AS /Yes
/AP <</N <</Yes 2 0 R /Off 3 0 R>>
>>
endobj
10对象

感谢mkl,为充分部署的答案!你能不能也看看这个问题:?很抱歉,我找不到其他方式向您发送消息。我会看一看(事实上,我已经将其标记为最喜欢的,以便记住查看它…)