开发者

FDF - how to check a checkbox?

开发者 https://www.devze.com 2022-12-23 00:44 出处:网络
I\'m using FDF to populate a PDF template.On my PDF template, I have a checkbox and radio field called c1 and r1 respectively.What\'s the syntax I should use in my FDF file to check or select the c1 a

I'm using FDF to populate a PDF template. On my PDF template, I have a checkbox and radio field called c1 and r1 respectively. What's the syntax I should use in my FDF file to check or select the c1 and r1 field?

I tried things like

<</T(c1)/V(1)>>
<</T(c1)/V(checked)>>
<</T(c1)/V(on)>>
<</T(c1)/V(true)>>
开发者_如何学编程

But none of them work.


I found the answer. To check, use

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

To turn off, use

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

I found the answer on this page: http://www.4dcodeexchange.net/fdfformbuilder.htm

Excerpt

Checkboxes come in 2 flavors grouped and individual. Individual checkboxes will usually have a value of "Yes" or "Off". Grouped checkboxes are different in that each checkbox will have its own value. If you have problems with your FDF, look here first.


The value passed to check the box is often "Yes" and "Off" - However, this is only the default value and it can be changed from "Yes" to almost any value at all (this is controlled by the export value of the document, as pointed out by others).

If you are looking to procedurally get the on/checked state value (which you will need to reliably set this checkbox as checked), it is contained in the appearances "AP" dictionary of the field. That dictionary should contain another dictionary "N", and each key is one of two values for the checkbox. The first key will be the unchecked value (usually "Off") and the second key will be the checked value (usually "Yes"). How you do this entirely depends on the API.

If you use pdftk from the command line, you can see what the expected values are using the command dump_data_fields: Eg.

pdftk document.pdf dump_data_fields 

Will show something like this:

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

Here we can see that the checked state is actually expecting "basic_forms" and not "Yes". I believe the other state is always "Off", but that may depend on the language your program is using (the default "Yes" value certainly does).


Just to make a precision. It seems that to check an individual checkbox you need to use the export value you set when creating your box in Acrobat. This value is, indeed, by default to "Yes"


For all those for which above answers didn't work out I've been searching for a solution for a long time with PDF version 1.6. I then exported the form data (1) directly with Adobe Acrobat Pro DC and found another way which in the end worked out for me:

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

As for the checked value (/Yes) this depends on the export value of the field. By standard the checkboxes in PDF forms have the value "yes" in the language your program is in.

Hope this helps others as well.


Footnote

(1) Important content from link:

You can use the "Prepare Form => More => Export data" to create an FDF file with the field name and data values. It will also contain the address of the PDF from which the data was extracted.


For me works:

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

for checked values and

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

values by default.


Yes From JAVA ALSO we can pass value "Yes" to check the checkbox in pdf or fdf thanks.... Rachit Shah

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号