Il existe plusieurs façons de créer des calculs complexes dans un fichier PDF propre et élégant. Voici comment intégrer des formules conditionnelles dans votre prochain document.
Nous avons déjà abordé les bases des calculs automatiques dans Adobe Acrobat. Les formules conditionnelles vous permettent d'aller au-delà des bases, en créant des formules plus complexes dans un PDF.
EN RELATION: Comment créer des formulaires PDF avec des calculs dans Adobe Acrobat
Si vous utilisez des formules dans Excel ou Google Sheets, vous savez probablement déjà ce que sont les formules conditionnelles. Aussi appelées formules logiques, elles affichent une valeur particulière ou activent un calcul si une certaine condition est remplie, par exemple si un nombre est négatif ou si un score est supérieur à la note de passage. Certaines des formules conditionnelles les plus courantes dans Excel incluent le "IF" standard, ainsi que "SUMIF" et COUNTIF. " Il existe également une mise en forme conditionnelle, dans laquelle des modifications du format sont apportées si une cellule remplit une certaine condition.
En utilisant des champs calculés, ces types de formules peuvent également être appliqués dans les PDF Adobe. Vous pouvez afficher un nombre, du texte ou exécuter un calcul basé sur les résultats d'une autre zone de saisie. Vous pouvez également les utiliser avec d'autres champs calculés. Les formules conditionnelles sont utiles pour de nombreux types de formulaires PDF, tels que:
Notez que si les champs calculés ne peuvent être créés que dans Adobe Acrobat, les calculs réels s'afficheront dans n'importe quel lecteur PDF.
Les champs calculés personnalisés d'Adobe Acrobat utilisent javascript comme langage de programmation. Heureusement, vous n’avez pas besoin de savoir programmer en javascript pour créer un champ conditionnel simple; vous avez juste besoin d'un modèle de base à suivre.
Dans l'exemple suivant, nous utiliserons ce simple formulaire de commande d'entreprise. Il comporte actuellement sept champs: un pour les quantités de chacun des cinq produits, la quantité totale et le prix total.
Une instruction conditionnelle dans Adobe javascript suit cette syntaxe de base:
var Nom de variable = this.getField ("nom du champ").valeur;
si( condition de nom de variable) event.value = vrai résultat
else event.value = faux résultat
La première ligne définit la valeur qui sera utilisée pour votre formule conditionnelle. Dans ce cas particulier, nous avons utilisé le "this.getField" pour obtenir la valeur de l'un des autres champs du document. Sur la deuxième ligne, nous définissons la condition. Similaire à Excel, nous spécifions la condition comme étant supérieure, inférieure ou égale à une valeur particulière.
Enfin, nous définissons les résultats. le vrai résultat est la valeur qui sera affichée si la condition est remplie. Sur la ligne suivante, nous utilisons «else» pour générer le faux résultat, qui est la valeur qui sera affichée si la condition n'est pas remplie.
Pour mettre cela en pratique, nous avons créé un champ calculé appelé "Commande groupée". Pour saisir un script calculé personnalisé, cliquez avec le bouton droit de la souris sur le champ choisi dans Acrobat et sélectionnez «Propriétés». À partir de là, accédez à «Calculer> Script de calcul personnalisé> Modifier».
Ce champ déterminera si une commande compte ou non comme en vrac. La case affichera «Oui» si la quantité totale est supérieure à 20 articles et «Non» si elle est inférieure à 20. Compte tenu de ces conditions, nous avons la formule:
var TQ = this.getField ("Quantité totale").valeur;
si( TQ> 20) event.value = "Oui"
else event.value = "Non"
Dans l'image ci-dessus, vous pouvez voir que nous avons défini le nom de la variable sur "TQ" et que nous avons extrait la valeur de TQ du champ "Quantité totale". Notez que ces champs sont sensibles à la casse. Ensuite, nous définissons notre condition, qui est que TQ doit être supérieur à 20. S'il remplit cette condition, il affichera «Oui». Sinon, la boîte générera "Non"
Si nous avons commandé un total de 11 câbles Lightning et 10 banques de batteries, par exemple, nous aurions un total de 21 articles. Elle serait alors considérée comme une commande groupée et générerait le résultat suivant:
Dans certains cas, vous souhaiterez peut-être que plusieurs conditions soient remplies au lieu d'une seule. Heureusement, il existe un moyen de créer un champ conditionnel qui génère des valeurs basées sur plusieurs conditions.
Supposons que dans votre boutique, toutes les commandes qui portent sur au moins 20 produits et dont le prix total est de 150 sont éligibles à une réduction de 10%. Le montant final apparaîtrait dans un champ intitulé "Total avec remise". Dans ce cas, nous devrons spécifier deux variables et deux conditions. Nous aurions le champ suivant:
var Prix = this.getField ("Prix initial").valeur;
var TQ = this.getField ("Quantité totale").valeur;
si( Prix> 150 && TQ> 20 ) event.value = Prix * 0,9;
else event.value = Prix;
Comme vous pouvez le voir, nous avons défini deux variables sur deux lignes distinctes. Vous devrez également utiliser la notation «&&» pour combiner les deux conditions différentes. Notez que la valeur finale est également un calcul qui prend en compte la remise.
Par conséquent, si nous utilisons le même total que l'exemple ci-dessus, nous générerons le résultat suivant:
Une considération importante à prendre en compte est l'ordre de calcul. Contrairement à Excel, qui rend les calculs simultanément, Acrobat s'appuie sur l'utilisateur pour déterminer les formules qui viennent en premier.
Pour définir l'ordre de calcul, accédez à la barre latérale «Modifier le formulaire» et accédez à Plus> Définir l'ordre de calcul des champs. Dans l'exemple ci-dessus, étant donné que les formules pour la commande en gros et le total avec remise dépendent toutes deux de la quantité totale et du prix total, nous voulons nous assurer que TQ et TP sont calculés en premier.
Assurez-vous de revoir l'ordre de calcul avant de publier votre formulaire. C'est une bonne idée d'essayer quelques exemples d'entrées sur votre formulaire pour vous assurer que tout fonctionne correctement.