Others

Pouvez-vous ajouter une logique conditionnelle et des règles aux champs de formulaire PDF

Vous concevez un formulaire PDF pour l’accueil des clients. Si le client sélectionne « Individuel » comme type de compte, le formulaire doit afficher des champs pour leur nom et leur numéro de sécurité sociale. S'ils sélectionnent « Business », le formulaire devrait plutôt afficher les champs pour le nom de l’entreprise et le numéro d’identification de l’employeur. Dans un formulaire papier, vous imprimeriez les deux sections et écririez « Le cas échéant » à côté de chacun. Dans un PDF numérique, la logique conditionnelle peut masquer entièrement la section non pertinente, montrant à l'utilisateur uniquement les champs qu'il doit réellement remplir.

La logique conditionnelle dans les formulaires PDF est réelle et fonctionnelle, mais elle comporte des mises en garde importantes. Contrairement aux formulaires Web, où JavaScript et CSS offrent un contrôle flexible sur la visibilité et la mise en page, la logique conditionnelle PDF est limitée par l'implémentation JavaScript limitée du format PDF et par la manière incohérente dont les différents visualiseurs PDF exécutent les scripts. Comprendre ce qui est possible et ce qui ne l'est pas vous empêche de concevoir un formulaire qui fonctionne dans votre environnement de test mais qui ne fonctionne pas pour la moitié de vos destinataires.

Can You Add Conditional Logic and Rules to PDF Form Fields

Ce que la logique conditionnelle dans un formulaire PDF peut réellement faire

La logique conditionnelle PDF s'exécute sur Acrobat JavaScript, une version simplifiée de JavaScript qui fait partie de la spécification PDF depuis le début des années 2000. Il peut afficher ou masquer les champs du formulaire en fonction de la saisie de l'utilisateur. Il peut activer ou désactiver des champs, modifier leur couleur ou leur bordure, les marquer comme obligatoires ou facultatifs et renseigner leurs valeurs à partir des tables de recherche. Il peut valider les entrées au fur et à mesure que l'utilisateur les tape, afficher des messages d'avertissement et déclencher des calculs lorsque certaines conditions sont remplies.

Ce qu’il ne peut pas faire, c’est restructurer la mise en page. Masquer un champ le supprime de la vue, mais l'espace qu'il occupait demeure. Les champs ci-dessous ne glissent pas vers le haut pour combler le vide. La page ne se redistribue pas. C'est la plus grande différence entre un Formulaires PDF et un formulaire Web, et c'est la source de la plus grande déception lorsque quelqu'un essaie de reproduire une expérience de formulaire Web dans un PDF. Si votre logique conditionnelle doit modifier radicalement la mise en page, un PDF n’est pas le bon outil. S'il doit afficher ou masquer quelques champs dans une mise en page fixe, la logique conditionnelle PDF le gère bien.

WukongPDF

Essayez de modifier le PDF

Aucune installation nécessaire. Fonctionne directement dans votre navigateur.

Commencer →

Comment configurer une règle d'affichage-masquage basée sur une sélection de liste déroulante ou de case à cocher

Le modèle conditionnel le plus courant est une liste déroulante ou un ensemble de boutons radio qui contrôlent les champs suivants qui sont visibles. Dans l'éditeur de formulaire du WukongPDF, commencez par créer le champ de contrôle, la liste déroulante ou le groupe de boutons radio dont la valeur détermine ce qui se passe ensuite. Donnez-lui un nom clair comme « accountType ». Créez ensuite tous les champs qui pourraient être affichés ou masqués. Tous les champs possibles doivent exister sur le formulaire dès le départ. La logique conditionnelle contrôle uniquement la visibilité. Il ne crée ni ne détruit de champs.

Une fois les champs créés, ouvrez les propriétés du champ de contrôle et localisez l'onglet Valider ou Sur événement Flou. C'est ici que vous écrivez le JavaScript qui répond à la sélection de l'utilisateur. Un simple script show-hide ressemble à ceci : var Choice = event.target.value; this.getField("ssnField").display = (choice === "Individual") ? display.visible : display.hidden; this.getField("einField").display = (choice === "Business") ? display.visible : display.hidden; Lorsque l'utilisateur modifie la liste déroulante, le script s'exécute, vérifie la valeur sélectionnée et définit la propriété d'affichage de chaque champ sur visible ou masquée.

Un détail important : définissez l'état initial de tous les champs conditionnels pour qu'il corresponde à la valeur par défaut du champ de contrôle. Si la liste déroulante est par défaut « Individuel », le champ SSN doit commencer visible et le champ EIN doit commencer masqué. Si les champs démarrent dans le mauvais état, l'utilisateur voit les deux ou aucun des deux jusqu'à ce qu'il interagisse pour la première fois avec la liste déroulante, qui semble cassée. L'état initial et la logique du script doivent correspondre.

Règles de validation qui vérifient les entrées avant que l'utilisateur ne passe à autre chose

La logique conditionnelle s'étend au-delà de la visibilité jusqu'à la validation des entrées. Un champ de date peut vérifier que la date saisie se situe dans une plage acceptable. Un champ de courrier électronique peut vérifier que l'entrée contient un signe @ et un domaine. Un champ de numéro de téléphone peut nécessiter exactement dix chiffres. Les scripts de validation s'exécutent dans l'événement Validate du champ, qui se déclenche lorsque l'utilisateur tente de quitter le champ. Si le script appelle event.rc = false, le focus reste sur le champ et l'utilisateur ne peut pas continuer tant que la saisie n'est pas corrigée.

Une validation téléphonique pratique ressemble à ceci : var phone = event.value.replace(/\s|-|\(|\)/g, ''); if (phone !== "" && !/^\d{10}$/.test(phone)) { app.alert("Veuillez entrer un numéro de téléphone à 10 chiffres."); événement.rc = faux ; } Ce script supprime les espaces, les tirets et les parenthèses, puis vérifie si les caractères restants comportent exactement dix chiffres. Si le champ est vide, la validation réussit, car tous les champs de téléphone ne sont pas obligatoires. Si le champ a du contenu mais qu'il ne comporte pas dix chiffres, le script affiche un message d'alerte et empêche l'utilisateur de quitter le champ.

Les règles de validation doivent être utilisées avec parcimonie et avec des messages d'erreur clairs. Un formulaire qui bloque l'utilisateur dans chaque champ avec des alertes cryptées crée de la frustration. Un formulaire qui valide uniquement les champs pour lesquels une saisie incorrecte entraînerait de réels problèmes et explique ce que l'utilisateur doit corriger, crée la confiance. Le texte d'alerte doit indiquer exactement ce qui ne va pas et comment y remédier. "Entrée invalide" est inutile. "Le numéro de téléphone doit comporter 10 chiffres sans espaces ni tirets" indique à l'utilisateur quoi faire.

Le problème de compatibilité du visualiseur et comment le contourner

PDF JavaScript est pris en charge dans Adobe Acrobat Reader, Acrobat Pro et la plupart des applications PDF de bureau. Il n'est pas pris en charge dans la plupart des visionneuses PDF basées sur un navigateur, y compris la visionneuse intégrée de Chrome, PDF.js de Firefox et l'aperçu de Safari. Il est partiellement pris en charge dans certaines applications PDF mobiles et totalement absent dans d'autres. Si votre formulaire repose sur une logique conditionnelle et des scripts de validation, et que votre destinataire l'ouvre dans une visionneuse qui n'exécute pas JavaScript, il verra tous les champs, y compris ceux destinés à être masqués, et aucune des règles de validation ne se déclenchera.

Il n’existe pas de solution technique parfaite à ce problème. La meilleure approche consiste à combiner un étiquetage clair et une instruction bien visible en haut du formulaire. Étiquetez les sections conditionnelles avec leur condition de déclenchement : "Si vous avez sélectionné Entreprise ci-dessus, complétez cette section." De cette façon, même si le script échoue, l’utilisateur peut suivre le formulaire manuellement. L'expérience Interactive PDF se dégrade gracieusement vers une forme statique utilisable plutôt que de devenir incompréhensible.

Test des formulaires conditionnels sur plusieurs visualiseurs

Avant de distribuer un formulaire PDF conditionnel, testez-le dans au moins quatre environnements : Adobe Acrobat Reader sur ordinateur, la visionneuse PDF intégrée à Chrome, la visionneuse PDF Safari ou Preview sur Mac et une visionneuse PDF mobile sur iPhone et Android. Dans chaque environnement, travaillez systématiquement sur le formulaire. Modifiez les sélections dans la liste déroulante et vérifiez que les champs corrects apparaissent et disparaissent. Entrez les données invalides et confirmez que les messages de validation apparaissent et empêchent la soumission. Enregistrez le formulaire et rouvrez-le pour vérifier que l'état enregistré est cohérent.

Pour les formulaires destinés à un public connu, tels que les formulaires internes à l'entreprise ou les formulaires soumis via un portail spécifique, testez uniquement les lecteurs que votre public utilise réellement. Si tous les membres de votre organisation utilisent Adobe Acrobat, la compatibilité des navigateurs n'a pas d'importance. Si votre formulaire doit être publié sur un site Web public et ouvert par toute personne utilisant n'importe quel appareil, supposez qu'un pourcentage important d'utilisateurs verra le formulaire sans JavaScript. Concevez le formulaire pour qu'il fonctionne de manière acceptable dans cet état dégradé, avec tous les champs visibles et toutes les instructions claires, et laissez la logique conditionnelle être une amélioration plutôt qu'une exigence.

Quand la logique conditionnelle appartient plutôt à un formulaire Web

Si votre formulaire nécessite des assistants en plusieurs étapes, une création de champs dynamiques, une validation de serveur en temps réel ou une redistribution des pages lorsque des champs apparaissent et disparaissent, un formulaire Web est le bon outil, pas un PDF. Les formulaires PDF sont des documents statiques dotés d'améliorations interactives. Les formulaires Web sont des applications interactives avec une sortie semblable à un document. La distinction est importante, car créer un formulaire conditionnel complexe en PDF, pour ensuite découvrir que la moitié de votre public ne peut pas l'utiliser comme prévu, est une erreur frustrante et chronophage.

Une approche hybride pratique consiste à utiliser un formulaire Web pour la collecte de données et la logique conditionnelle, et à générer un PDF à partir des données soumises pour les signatures, l'archivage et le partage. L'éditeur PDF de WukongPDF fonctionne bien dans ce flux de travail : collectez les données via un formulaire Web, remplissez un modèle PDF avec les réponses et fournissez le PDF soigné à l'utilisateur pour ses dossiers. Le formulaire Web gère la logique. Le PDF gère la présentation. Chaque outil fait ce qu'il fait de mieux.

WukongPDF

Essayez de modifier le PDF

Aucune installation nécessaire. Fonctionne directement dans votre navigateur.

Commencer →