Aller au contenu principal

Types de champs

Sept types de champs interactifs sont supportés. Chaque balise de champ suit le modèle :

[fieldType, name, ...field-specific args, width|height]

L'emplacement name est l'identifiant du champ exposé aux lecteurs PDF, Word et à toute extraction de données de formulaire en aval. Choisissez des noms descriptifs — ils apparaissent dans les exports de données de formulaires.

Champ de texte

Une entrée de texte sur une seule ligne.

[textfield, name, defaultValue, width|height]
EmplacementDescription
nameNom unique du champ
defaultValueTexte pré-rempli. Utilisez une chaîne vide pour laisser blanc, ou entourez de guillemets simples pour les références $data
width|heightDimensions du champ en points
{ "p": "Full Name: [textfield, fullName, John Doe, 200|20]" }
{ "p": "Email: [textfield, email, , 250|20]" }

Zone de texte

Une entrée de texte multiligne pour un contenu plus long.

[textarea, name, defaultValue, width|height]
{ "p": "Additional notes:[br][textarea, notes, , 400|80]" }
{ "p": "[textarea, comments, Enter your feedback here, 350|60]" }

Case à cocher

Un bouton bascule booléen.

[checkbox, name, checked, width|height]
EmplacementDescription
nameNom unique du champ
checkedÉtat initial : true ou false
width|heightDimensions de la case en points (généralement carrée, 14–16)
{ "p": "[checkbox, termsAccepted, false, 16|16] I accept the terms and conditions" }

Utilisé pour les listes de contrôle :

{ "p": "[checkbox, item1, true, 14|14] Background check complete" }

Bouton radio

Un bouton sélectionnable au sein d'un groupe mutuellement exclusif.

[radio, name, group, selected, width|height]
EmplacementDescription
nameNom unique du champ (chaque bouton radio a le sien)
groupNom du groupe — les boutons radio partageant un groupe sont mutuellement exclusifs
selectedtrue ou false
width|heightDimensions du bouton radio en points (généralement carré, 14)
{ "p": "[radio, optionA, paymentMethod, true, 14|14] Credit Card" }
{ "p": "[radio, optionB, paymentMethod, false, 14|14] Bank Transfer" }
{ "p": "[radio, optionC, paymentMethod, false, 14|14] Cheque" }

La sélection d'un bouton efface automatiquement les autres du même groupe.

Champ de choix (liste déroulante)

Une sélection déroulante parmi des options prédéfinies.

[choicefield, name, opt1|opt2|opt3, selectedIndex, width|height]
EmplacementDescription
nameNom unique du champ
optionsListe d'options séparées par des barres verticales
selectedIndexIndex de base zéro de l'option initialement sélectionnée
width|heightDimensions du champ en points
{ "p": "Service Level: [choicefield, serviceLevel, Economy|Standard|Express|Next-Day, 1, 150|20]" }

Dans cet exemple, « Standard » (index 1) est initialement sélectionné.

Liste déroulante

Une liste d'options avec défilement et sélection multiple optionnelle.

[listbox, name, opt1|opt2|opt3, defaultValue, multi, width|height]
EmplacementDescription
nameNom unique du champ
optionsListe d'options séparées par des barres verticales
defaultValueValeur sélectionnée par défaut (entre guillemets simples ; '' pour aucune)
multitrue pour autoriser les sélections multiples, false pour une seule
width|heightDimensions du champ en points
{ "p": "Skills: [listbox, skills, Python|Java|Go|Rust, '', true, 150|60]" }

Sélecteur de date

Un champ de texte que les lecteurs PDF affichent avec un widget de calendrier.

[datepicker, name, defaultValue, width|height]
EmplacementDescription
nameNom unique du champ
defaultValueDate pré-remplie (ISO 8601 : YYYY-MM-DD) ou chaîne vide
width|heightDimensions du champ en points
{ "p": "Effective date: [datepicker, effectiveDate, 2026-01-01, 140|22]" }

Formulaire d'approbation — tout assembler

{
"content": [
{ "h2": "Approval Form" },
{ "p": "Reviewer: [textfield, reviewer, , 250|22]" },
{ "p": "Department: [choicefield, dept, Engineering|Legal|Finance, 0, 200|22]" },
{ "p": "Decision:" },
{ "p": "[radio, approve, decision, false, 14|14] Approved" },
{ "p": "[radio, reject, decision, false, 14|14] Rejected" },
{ "p": "[radio, defer, decision, false, 14|14] Deferred" },
{ "p": "[checkbox, final, false, 14|14] This decision is final and binding" },
{ "p": "Effective: [datepicker, effective, , 140|22]" },
{ "p": "Notes:[br][textarea, notes, , 400|80]" }
]
}