FDF - 如何选中复选框?

Joh*_*ohn 11 fdf

我正在使用FDF来填充PDF模板.在我的PDF模板上,我有一个复选框和无线电字段,分别称为c1和r1.我应该在FDF文件中使用什么语法来检查或选择c1和r1字段?

我尝试过类似的东西

<</T(c1)/V(1)>>
<</T(c1)/V(checked)>>
<</T(c1)/V(on)>>
<</T(c1)/V(true)>>
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用.

Joh*_*ohn 19

我找到了答案.要检查,使用

<</T(c1)/V(Yes)>>
Run Code Online (Sandbox Code Playgroud)

要关闭,请使用

<</T(c1)/V(Off)>>
Run Code Online (Sandbox Code Playgroud)

我在这个页面找到了答案:http: //www.4dcodeexchange.net/fdfformbuilder.htm

摘抄

复选框分为两种类型和个体.单个复选框的值通常为"是"或"关闭".分组复选框的不同之处在于每个复选框都有自己的值.如果您的FDF有问题,请先查看此处.

  • "是"和"关"哈! (9认同)
  • 这是使用英文版Adobe Acrobat创建的PDF的默认值; 对于德语版本,选中的值是默认的"Ja" - >请参阅Desty Nova教授的回答 (3认同)
  • 那么FileNotFound呢? (2认同)
  • 还应注意,即使使用Adobe Acrobat,也可以更改此值.在我的Acrobat版本(适用于Mac的版本9)中,它被称为"导出值",可在每个复选框元素的属性中找到. (2认同)

Zal*_*zen 11

只是为了精确.似乎要检查单个复选框,您需要使用在Acrobat中创建框时设置的导出值.实际上,该值默认为"是"


Aku*_*Aku 10

传递给复选框的值通常为"是"和"关闭" - 但是,这只是默认值,可以从"是"更改为几乎任何值(这由出口值控制)文件,正如其他人所指出的那样).

如果您希望在程序上获得on/checked状态值(您需要将此复选框可靠地设置为已选中),它将包含在该字段的外观"AP"字典中.该字典应包含另一个字典"N",每个键是复选框的两个值之一.第一个键是未选中的值(通常为"关"),第二个键是选中的值(通常为"是").如何完成这完全取决于API.

如果从命令行使用pdftk,则可以使用命令dump_data_fields查看期望值是什么:例如.

pdftk document.pdf dump_data_fields 
Run Code Online (Sandbox Code Playgroud)

会显示这样的事情:

---
FieldType: Button
FieldName: basform
FieldFlags: 0
FieldValue: No
FieldJustification: Left
FieldStateOption: Off
FieldStateOption: basic_forms            <---- Checked value expected by FDF
Run Code Online (Sandbox Code Playgroud)

在这里我们可以看到,检查状态实际上是期望"basic_forms"而不是"是".我相信另一个状态总是"关闭",但这可能取决于你的程序使用的语言(默认的"是"值肯定会).