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)>>
Но никто из них не работает.
5 ответов
Я нашел ответ. Чтобы проверить, используйте
<</T(c1)/V(Yes)>>
Чтобы выключить, используйте
<</T(c1)/V(Off)>>
Я нашел ответ на этой странице: http://www.4dcodeexchange.net/fdfformbuilder.htm
выдержка
Флажки бывают двух видов: сгруппированные и индивидуальные. Отдельные флажки обычно имеют значение "Да" или "Выкл.". Сгруппированные флажки отличаются тем, что каждый флажок будет иметь свое значение. Если у вас есть проблемы с вашим FDF, посмотрите здесь в первую очередь.
Значение, переданное для установки флажка, часто имеет значение "Да" и "Выкл." - однако это только значение по умолчанию, и его можно изменить с "Да" на почти любое значение (это контролируется значением экспорта документ, как указано другими).
Если вы хотите процедурно получить значение включенного / проверенного состояния (которое вам понадобится для того, чтобы надежно установить этот флажок как отмеченный), оно содержится в словаре "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", а не "Да". Я полагаю, что другое состояние всегда выключено, но это может зависеть от языка, который использует ваша программа (значение "Да" по умолчанию, безусловно, делает).
Просто чтобы сделать точность. Похоже, что для установки отдельного флажка вам нужно использовать значение экспорта, которое вы установили при создании вашего окна в Acrobat. Это значение действительно по умолчанию равно "Да"
Для всех тех, для кого вышеперечисленные ответы не сработали, я долгое время искал решение с PDF версии 1.6. Затем я экспортировал данные формы напрямую с помощью Adobe Acrobat Pro DC и нашел другой способ, который в конце концов сработал для меня:
<</T(c1)/V/Off>> // this is non-checked
<</T(c1)/V/Yes>> // this is checked
Что касается проверенного значения (/Yes
) это зависит от экспортного значения поля. По умолчанию флажки в формах PDF имеют значение "да" на языке, на котором написана ваша программа.
Надеюсь, это поможет и другим.
Для меня работает:
<</T(c1)/V(0)>>
для проверенных значений и
<</T(c1)/V(Off)>>
значения по умолчанию.
Да От JAVA ТАКЖЕ мы можем передать значение "Да", чтобы поставить галочку в pdf или fdf спасибо.... Rachit Shah