gpt4 book ai didi

java - 为什么 iText form.getAppearanceStates(key) 方法返回复选框字段的值不一致?

转载 作者:行者123 更新时间:2023-12-02 11:45:39 25 4
gpt4 key购买 nike

我有使用 Adob​​e Acrobat Standard DC 创建的带有 acroForm 的 PDF。

我使用 Java iText 5 填充了 Chekcbox 字段。我不明白为什么,恕我直言, form.getAppearanceStates(key) 方法返回该字段的不一致值。

String[] states = form.getAppearanceStates(key); 

为什么我发现它们不一致,因为值是:[“关闭”、"is"]

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

我知道我可以更改此字段选项中的导出值,但默认值是否始终为"is"?默认未选中值是否将始终为“Off”?

恕我直言,一致的值将类似于:[“开关”]或者["is",“否”]

最佳答案

这种“不一致”是基于 PDF 格式的,规范强制将未选中状态命名为 Off,而选中状态的名称可以自由选择,在一个示例中,使用 Yes 作为选中状态的名称:

The appearance for the off state is optional but, if present, shall be stored in the appearance dictionary under the name Off.

...

EXAMPLE 1 This example shows a typical check box definition.

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

(ISO 32000-2:2017,第 12.7.5.2.3 节“复选框”)

关于你的问题,因此:

Are these default values? Does each form creation software has different default values?

一个复选框状态始终为关闭,选中状态的名称可以自由选择,但可能许多表单都会遵循上面的示例并使用。因此,期望经常找到,但要准备好处理任何事情。

关于java - 为什么 iText form.getAppearanceStates(key) 方法返回复选框字段的值不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48218577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com