Мультиселект Форма поля в PDF - PullRequest
3 голосов
/ 01 апреля 2010

Используя PDF, возможно ли создать один элемент формы с несколькими полями, из которых можно выбрать несколько? Например, в HTML можно создать набор флажков, связанных с тем же именем поля:

<div>Select one for Member of the School Board</div>
<input type="checkbox" name="field(school)" value="vote1">
<span class="label">Libby T. Garvey</span><br/>
<input type="checkbox" name="field(school)" value="vote2">
<span class="label">Emma N. Violand-Sanchez</span><br/>

В этом случае именем поля является «поле (школа)», а при отправке формы «поле (школа)» можно указать 0, 1 или 2 раза.

Существует ли в PDF эквивалентная конструкция, в которой одно поле может иметь несколько значений. До сих пор в моем исследовании выяснилось, что если полям присвоено одно и то же имя, можно выбрать только одно поле. Если это возможно реализовать в PDF, как называется эта конструкция и как ее можно реализовать?

Редактировать. Чтобы уточнить, я знаю, что PDF-файл может содержать несколько полей формы с разными именами полей, и их можно выбирать независимо, но тогда группировка неявная, а не явная, как в форме HTML. Я хотел бы использовать конструкцию, которая делает группировку опций явной и предпочтительно допускает ограничения (например, по крайней мере один обязательный, не более двух разрешенных и т. Д.).

Редактировать: Если кто-то может найти авторитетное мнение, что это невозможно, это также будет желательным ответом.

Ответы [ 2 ]

1 голос
/ 18 апреля 2010

Ответ Аснидера привел меня к выводу, что не существует автоматического способа обработки нескольких значений в одном поле (как это можно сделать с помощью HTML). Примеры asnyder взяты из разработки приложений Acrobat с использованием JavaScript, доступного в Центре разработчика Acrobat Javascript . Этот документ предоставляет некоторые примеры того, как управлять флажками, полями со списком и переключателями. Все примеры проливают некоторый свет на проблему и в конечном итоге приводят меня к выводу, что любая система, использующая формы PDF, будет иметь неявно определенные группы с множественным выбором.

Использование конструкции groupName.fieldName, по-видимому, полезно для управления виджетами как группой (в Acrobat Javascript), но поля группы нельзя перечислить (без перечисления всех полей и фильтрации для groupName), а также Общая ценность этой группы не может быть определена без программной проверки значений.

Другими словами, мультиселектируемое значение не является неотъемлемой особенностью Acrobat и PDF никоим образом, хотя такую ​​форму можно реализовать посредством программирования.

1 голос
/ 14 апреля 2010

Да, это возможно. В Adobe PDF у вас есть концепция флажка и концепция переключателя. Хотя каждый флажок и переключатель могут иметь свое собственное имя, они также могут быть сгруппированы через субтир через GroupName.subobj.

Adobe описывает это следующим образом:

Имя поля. Это может включать в себя иерархический синтаксис для того, чтобы облегчить логические группировки. За Например, имя myGroup.firstField подразумевает, что поле формы firstField принадлежит к группе полей, называемых моя группа. Преимущество создания логическая иерархия в том, что вы можете обеспечить согласованность между свойства связанных полей формы установка свойств группы, которые автоматически распространяются на все поля формы внутри группы.

Когда поля установлены через иерархию, вы можете получить значение myGroup в этом случае и вернуть выбранное значение группы. Точно так же в случае с RadioButtons вы должны убедиться, что все поля в группе имеют одинаковые имена.

Такой подход к созданию полей формы применимо ко всем полям, но это Следует отметить, что переключатели требуют особого отношения. Так как набор из радио кнопок представляет собой набор взаимоисключающие выборы, они принадлежат к той же группе. Потому что это, имена всех переключателей в той же группе должны быть идентичны. Кроме того, экспортные значения

набор радиокнопок должен быть установлен с единственное утверждение, в котором массив значений присваиваются Свойство exportValues ​​поля объект. Например, предположим, что мы хотел бы создать набор из трех радио кнопки, каждая 12 точек в ширину и 12 Очки высоко, все по имени myRadio. Мы разместит их на странице 5 документ, и их экспортные значения будут Да, Нет и Отмена. Они могут быть создан как показано в приведенном коде ниже:

var name = "myRadio";
var type = "radiobutton";
var page = 5;
var rb = this.addField(name, type, page, [400, 442, 412, 430]);
this.addField(name, type, page, [400, 427, 412, 415]);
this.addField(name, type, page, [400, 412, 412, 400]);
rb.exportValues=["Yes", "No", "Cancel"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...