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]
| Emplacement | Description |
|---|---|
name | Nom unique du champ |
defaultValue | Texte pré-rempli. Utilisez une chaîne vide pour laisser blanc, ou entourez de guillemets simples pour les références $data |
width|height | Dimensions 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]
| Emplacement | Description |
|---|---|
name | Nom unique du champ |
checked | État initial : true ou false |
width|height | Dimensions 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]
| Emplacement | Description |
|---|---|
name | Nom unique du champ (chaque bouton radio a le sien) |
group | Nom du groupe — les boutons radio partageant un groupe sont mutuellement exclusifs |
selected | true ou false |
width|height | Dimensions 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]
| Emplacement | Description |
|---|---|
name | Nom unique du champ |
options | Liste d'options séparées par des barres verticales |
selectedIndex | Index de base zéro de l'option initialement sélectionnée |
width|height | Dimensions 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]
| Emplacement | Description |
|---|---|
name | Nom unique du champ |
options | Liste d'options séparées par des barres verticales |
defaultValue | Valeur sélectionnée par défaut (entre guillemets simples ; '' pour aucune) |
multi | true pour autoriser les sélections multiples, false pour une seule |
width|height | Dimensions 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]
| Emplacement | Description |
|---|---|
name | Nom unique du champ |
defaultValue | Date pré-remplie (ISO 8601 : YYYY-MM-DD) ou chaîne vide |
width|height | Dimensions 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]" }
]
}