Conditions et boucles
Dernière mise à jour le 23 mars 2026
Le panneau Logic du builder vous permet de contrôler quand les éléments apparaissent et comment ils se répètent. Vous pouvez rendre n’importe quel élément conditionnel (visible uniquement quand une condition sur les données est remplie), ou le répéter une fois pour chaque élément d’une collection. Ces deux fonctionnalités couvrent les schémas de contenu dynamique les plus courants : afficher ou masquer des sections selon le contexte, et générer des rangées à partir d’une liste d’éléments.
Le panneau Logic
Sélectionnez n’importe quel élément sur le canevas (sauf la racine du document), puis basculez vers l’onglet Settings dans le panneau droit. La section Logic apparaît sous la section Élément Info, avec deux boutons bascule : Visibility Condition (Condition de visibilité) et Répétition.
Un petit point indigo apparaît à côté du titre « Logic » lorsque l’une ou l’autre des fonctionnalités est active sur l’élément sélectionné.
Conditions de visibilité
Activez Visibility Condition pour qu’un élément n’apparaisse que lorsqu’une condition est vraie. Un champ de saisie apparaît dans lequel vous entrez une expression JavaScript évaluée par rapport aux données de test de votre document.

Écrire des conditions
La condition est une expression JavaScript qui a accès à vos données de test. Quelques exemples :
| Condition | Ce qu’elle fait |
|---|---|
customer.isPremium | Affiche l’élément quand le client est premium |
items.length > 0 | Affiche l’élément quand le tableau items n’est pas vide |
order.status === 'paid' | Affiche l’élément quand le statut de la commande est « paid » |
total >= 1000 | Affiche l’élément quand le total est de 1 000 ou plus |
Évaluation en temps réel
Le panneau Logic évalue votre condition par rapport aux données de test actuelles en temps réel et affiche le résultat :
- Vert (« Element is currently visible ») : la condition s’évalue à une valeur truthy avec vos données de test actuelles, donc l’élément apparaît dans l’aperçu.
- Rouge (« Element is currently hidden ») : la condition s’évalue à une valeur falsy, donc l’élément est masqué dans l’aperçu.

Si la condition contient une erreur de syntaxe, un bandeau d’erreur rouge apparaît en bas du builder.
Un lien vers Edit test data apparaît sous l’indicateur de statut, vous permettant d’ajuster rapidement vos données de test pour essayer différents scénarios.
Répétition
Activez Répétition pour répéter un élément une fois pour chaque item d’une collection de vos données de test. Deux champs de saisie apparaissent :
- Collection : le chemin vers un tableau dans vos données de test (par exemple,
invoice.productsouusers) - Item name (Nom de l’item) : le nom de variable pour l’item courant dans la boucle (auto-suggéré en mettant au singulier le nom de la collection)

Comment ça fonctionne
Lorsque vous entrez un chemin de collection comme lineItems, le builder suggère automatiquement un nom d’item lineItem (la forme singulière). Vous pouvez le changer pour n’importe quel nom de votre choix.
Le panneau affiche ensuite un résumé de ce que fait la boucle et liste les variables disponibles :
| Variable | Description |
|---|---|
La variable d’item (ex. lineItem) | L’item courant de la collection |
La variable d’index (ex. lineItemIndex) | La position à base zéro de l’item courant |
Le panneau montre également des expressions d’aide que vous pouvez copier pour des vérifications courantes :
- Vérification du premier item :
lineItemIndex === 0 - Vérification du dernier item :
lineItemIndex === lineItems.length - 1
Utiliser les variables de boucle dans les éléments enfants
Les éléments enfants d’un élément répété peuvent référencer les variables d’item et d’index. Par exemple, si vous répétez un conteneur sur lineItems avec le nom d’item lineItem, un bloc Text à l’intérieur de ce conteneur peut afficher lineItem.name ou lineItem.price en utilisant le navigateur de variables.
Visibilité et répétition sont mutuellement exclusives
Vous ne pouvez pas activer à la fois Visibility Condition et Répétition sur le même élément. Le builder impose cette règle : quand un bouton bascule est actif, l’autre est désactivé. Combiner les deux sur un même élément HTML produirait un comportement ambigu.
Solution :
Combiner avec les styles situationnels
Les éléments répétés fonctionnent bien avec les styles situationnels. Une fois qu’un élément se répète sur une collection, vous pouvez appliquer des styles différents pour les items pairs et impairs, mettre en évidence le premier ou le dernier item, ou afficher un contenu de remplacement quand la collection est vide. Consultez la page Styles situationnels pour plus de détails.
Questions fréquentes
- Comment afficher ou masquer un élément de façon conditionnelle dans le builder PDFMonkey ?
- Sélectionnez l’élément, ouvrez l’onglet Settings, puis activez Visibility Condition dans la section Logic. Saisissez une expression JavaScript évaluée par rapport aux données de votre document — par exemple, « customer.isPremium » ou « items.length > 0 ». L’élément n’apparaît que lorsque la condition est vraie.
- Comment boucler sur une liste d'éléments dans un modèle builder PDFMonkey ?
- Sélectionnez l’élément que vous souhaitez répéter, ouvrez le panneau Logic et activez Repetition. Saisissez le chemin vers un tableau dans vos données (par ex. « invoice.products ») comme Collection et choisissez un nom d’élément (Item name). Le builder répète l’élément une fois pour chaque entrée du tableau.
- Peut-on utiliser à la fois les conditions de visibilité et la répétition sur le même élément ?
- Non. Le builder n’autorise qu’une seule option à la fois sur un même élément. Pour répéter des éléments et en afficher certains de façon conditionnelle, imbriquez un enfant avec une Visibility Condition à l’intérieur d’un Container parent sur lequel la Repetition est activée.