17

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

我尝试过类似的事情

<</T(c1)/V(1)>>
<</T(c1)/V(checked)>>
<</T(c1)/V(on)>>
<</T(c1)/V(true)>>

但它们都不起作用。

4

6 回答 6

23

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

<</T(c1)/V(Yes)>>

要关闭,请使用

<</T(c1)/V(Off)>>

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

摘抄

复选框有 2 种分组和单独的风格。单个复选框的值通常为“Yes”或“Off”。分组复选框的不同之处在于每个复选框都有自己的值。如果您的 FDF 有问题,请先查看此处。

于 2010-03-10T21:40:14.640 回答
15

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

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

如果您从命令行使用 pdftk,您可以使用命令 dump_data_fields 查看预期值:例如。

pdftk document.pdf dump_data_fields 

将显示如下内容:

---
FieldType: Button
FieldName: basform
FieldFlags: 0
FieldValue: No
FieldJustification: Left
FieldStateOption: Off
FieldStateOption: basic_forms            <---- Checked value expected by FDF

在这里我们可以看到检查状态实际上是期待“basic_forms”而不是“Yes”。我相信另一个状态总是“关闭”,但这可能取决于您的程序使用的语言(默认的“是”值当然可以)。

于 2016-03-14T01:06:25.007 回答
11

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

于 2013-01-26T12:19:16.580 回答
1

对我来说工作:

<</T(c1)/V(0)>>

检查值和

<</T(c1)/V(Off)>>

默认值。

于 2013-07-18T08:57:09.027 回答
1

对于所有上述答案没有解决的问题,我一直在寻找 PDF 1.6 版的解决方案。然后我直接使用 Adob​​e Acrobat Pro DC导出表单数据,并找到了另一种最终为我解决的方法:

<</T(c1)/V/Off>> // this is non-checked
<</T(c1)/V/Yes>> // this is checked

至于检查值 ( /Yes),这取决于字段的导出值。按照标准,PDF 表单中的复选框在您的程序使用的语言中具有“是”值。

希望这对其他人也有帮助。

于 2020-07-09T15:04:22.663 回答
-2

是的,我们也可以通过 JAVA 传递值“是”来检查 pdf 或 fdf 中的复选框,谢谢.... Rachit Shah

于 2010-08-19T08:56:41.423 回答