Pergunta

Usando PDF, é possível criar um único elemento de formulário com vários campos, dos quais vários podem ser selecionados?Por exemplo, em HTML, pode-se criar um conjunto de caixas de seleção associadas ao mesmo nome de campo:

<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/>

Neste caso, o nome do campo é “campo(escola)”, e quando o formulário for enviado, “campo(escola)” pode ser fornecido 0, 1 ou 2 vezes.

Existe uma construção equivalente em PDF onde um único campo pode ter vários valores.Até agora, na minha investigação, parece que se os campos receberem o mesmo nome, só será possível selecionar um campo.Se for possível implementar isso em PDF, como é chamada essa construção e como ela pode ser implementada?

Editar:Para esclarecer, estou ciente de que um PDF pode conter vários campos de formulário com nomes de campos diferentes, e esses podem ser selecionados independentemente, mas o agrupamento é implícito e não explícito como acontece com o formulário HTML.Eu gostaria de usar uma construção que torne explícito o agrupamento de opções e, de preferência, permita restrições (por exemplo,pelo menos um obrigatório, não mais que 2 permitidos, etc.).

Editar:Se alguém puder encontrar uma opinião oficial de que isso não é possível, essa também seria uma resposta desejável.

Foi útil?

Solução 2

a resposta de asnyder me levou à conclusão de que não existe uma maneira automática de lidar com vários valores em um único campo (como é possível com HTML).Os exemplos de asnyder vêm de Desenvolvimento de aplicativos Acrobat usando JavaScript, disponível em Centro de desenvolvedores Javascript do Acrobat.Este documento fornece alguns exemplos de como manipular caixas de seleção, caixas de combinação e botões de opção.Todos os exemplos lançaram alguma luz sobre o problema e, finalmente, me levaram à conclusão de que qualquer sistema que use formulários PDF terá quaisquer grupos multisselecionáveis ​​implicitamente definidos.

Usar a construção de groupName.fieldName parece ser útil para manipular os widgets como um grupo (no Acrobat Javascript), mas os campos de um grupo não podem ser enumerados (sem enumerar todos os campos e filtrar o groupName), e o valor coletivo de esse grupo não pode ser determinado sem inspecionar programaticamente os valores.

Em outras palavras, um valor multisselecionável não é um recurso intrínseco do Acrobat nem do PDF de forma substancial, embora seja possível implementar tal forma por meio de programação.

Outras dicas

Sim, é possível.Nos Adobe PDFs você tem o conceito de caixa de seleção e o conceito de botão de opção.Embora cada caixa de seleção e botão de opção possam ter seu próprio nome, eles também podem ser agrupados por meio de uma subcamada por meio de GroupName.subobj.

A Adobe descreve isso da seguinte maneira:

O nome do campo.Isso pode incluir sintaxe hierárquica para facilitar os agrupamentos lógicos.Por exemplo, o nome MyGroup.Firstfield implica que o campo Formulário Firstfield pertence a um grupo de campos chamado MyGroup.A vantagem de criar hierarquias lógicas é que você pode aplicar a consistência entre as propriedades dos campos de formulários relacionados, definindo as propriedades do grupo, que se propagam automaticamente a todos os campos do grupo dentro do grupo.

Quando os campos são definidos por meio de uma hierarquia, você pode obter o valor de myGroup neste caso e retornar o valor selecionado do grupo.Da mesma forma, no caso de RadioButtons, você deve garantir que todos os campos de um grupo tenham o mesmo nome.

Essa abordagem para criar campos de formulário é aplicável a todos os campos, mas deve -se notar que os botões de rádio exigem tratamento especial.Como um conjunto de botões de rádio representa um conjunto de opções mutuamente exclusivas, eles pertencem ao mesmo grupo.Por esse motivo, os nomes de todos os botões de rádio do mesmo grupo devem ser idênticos.Além disso, os valores de exportação do

O conjunto de botões de rádio deve ser definido com uma única instrução, na qual uma matriz de valores é atribuída pela propriedade ExportValues ​​do objeto de campo.Por exemplo, suponha que gostaríamos de criar um conjunto de três botões de rádio, cada um de 12 pontos e 12 pontos de altura, todos chamados Myradio.Vamos colocá -los na página 5 do documento, e seus valores de exportação serão sim, não e cancelarão.Eles podem ser criados como mostrado no código dado abaixo:

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"];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top