Поле формы Множественного выбора в формате PDF

StackOverflow https://stackoverflow.com/questions/2561686

  •  23-09-2019
  •  | 
  •  

Вопрос

Используя 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-х и т.д.).

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

Это было полезно?

Решение 2

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

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

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

Другие советы

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

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

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

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

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

Набор радиопроизводительных кнопок должен быть установлен с одним оператором, в котором массив значений назначается свойством экспорта -экспорта объекта поля.Например, предположим, что мы хотели бы создать набор из трех радиопроизводительных кнопок, каждая из них в ширину 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"];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top