Donnez vie à vos documents numériques !
 

Duplication rapide de champs

Duplication rapide de champs de formulaire avec Acrobat

& Convention de dénomination des champs de formulaire

 

• Duplication rapide de champs de formulaire

Avant toute chose, rappelons que dans les formulaires PDF les noms de champs ne doivent pas contenir d’espace ni de caractères spéciaux (accents, symboles, etc.), c’est autorisé par Acrobat mais il ne le devrait pas.

La création d’un tableau contenant de nombreuses rangées et colonnes de champs de formulaire est une opération qui devient vite laborieuse si l’on utilise pas les automatismes fournis par Acrobat.
Il faut d’abord commencer par créer manuellement un champ de type texte pour chaque rangée (ou pour chaque colonne) en traçant un rectangle pour chacun, ou en utilisant le copier-coller. Depuis Acrobat 9 cela se fait dans l’Editeur de formulaire.

Une fois les réglages d’attributs et d’apparence achevés et les fonctions de calculs intégrées il faut impérativement veiller à ce que deux ou plusieurs champs ne portent pas un nom identique. C’est la seule contrainte.

Ensuite : sélection de tous les champs à dupliquer et clic-droit dessus : Placer plusieurs champs

Inserer01.png

La boite de dialogue suivante est suffisamment explicite pour se passer de commentaires, il faut juste comprendre que si l’un des deux premiers champ de saisie est grisé c’est tout simplement qu’il n’y a pas assez de place sur le document pour pouvoir dupliquer les champs sélectionnés, comme sur la capture d’écran ci-dessous (horizontalement).

Cocher la case Aperçu permet de prévisualiser et d’ajuster les champs comme nécessaire au formulaire que l’on est en train de créer.

Inserer02.png

OK : et voilà, le tour est joué !

 

 

• Convention de dénomination des champs de formulaire

Les nouveaux champs utilisent la Convention de dénomination des champs de formulaire du format PDF, elle s’appuie sur la notion d’héritage, également appelée relation parent-enfant.

C’est-à-dire que le nom des champs originels a été modifié : un point a été ajouté, suivi d’un numéro d’incrémentation qui permet la répétition des noms originels pour les nouveaux champs, sans que ce ne soient exactement les mêmes.
Et comme souvent en informatique, la numérotation commence à zéro.

Inserer03.png

Cette convention va nous simplifier la vie pour la suite car on aimerait maintenant pouvoir ajouter un champ de calcul dépendant du tableau ci-dessus…

Un champ Total général par exemple :

Inserer05.png

Dans les Propriétés du champ de ce nouveau champ Total général, dans l’onglet Calcul, il suffit d’indiquer que l’on souhaite l’addition du champ Total_TTC tout court pour qu’Acrobat comprenne qu’on lui demande d’additionner la valeur de tous ses champs enfants. Ceux dont le nom est suivi d’un point et d’un numéro.

Il est donc inutile de sélectionner tous les champs dont on veut additionner les valeurs uns par uns car cela devient très vite laborieux.
En effet, dans notre exemple il y a 6 rangées de champs, mais il pourrait aussi bien y en avoir 60 ou 600…

Cela se fait tout simplement en sélectionnant le champ parent dans la liste, c’est-à-dire celui qui ne porte que la partie commune du nom de champ (le nom de famille), la partie qui précède le point.

Le champ parent est visible dans les listes et dans la fenêtre des champs de formulaire mais il n’apparaît pas sur la page, il est virtuel.
Les champs parents apparaissent aussi dans la liste du panneau de navigation Champs dans l’Editeur de formulaire d’Acrobat.

Inserer04.png

 

Et c’est tout !
Désormais notre champ Total général affiche la somme de tous les champs situés au-dessus

Inserer06.png

 

La convention de dénomination des champs de formulaires à bien d’autres applications, notamment lorsqu’elle est conjuguée avec l’usage du langage JavaScript car elle permet de pouvoir manipuler un grand nombre de champs avec une seule ligne de code…

 

Par contre attention avec la notation simplifiée : l’utilisation de la convention de dénomination des champs de formulaires à un inconvénient réel bien que pas forcément pénalisant : la présence d’un point ou d’une espace dans le nom d’un champ de formulaire est interprétée comme un séparateur et doit être échappé par un anti-slash. \

Par exemple pour multiplier le champ Prix.1 par le champ Quantite.1 :

Prix\.1 * Quantite\.1

 

Le fichier PDF illustrant cet exemple est disponible en téléchargement : https://abracadabrapdf.net/file/Duplication_rapide_denomination.pdf