Listes dans les modèles - Puces et numérotées
Les listes constituent des structures fondamentales pour organiser et présenter l'information dans les documents. PDF4meLe moteur de modèles de prend en charge la génération de listes à puces et numérotées, vous permettant de créer des documents bien structurés et lisibles avec un contenu dynamique provenant de vos sources de données.
Listes à puces
Générez des listes à puces en plaçant des boucles foreach dans des paragraphes formatés avec des puces. Word modèle.
Syntaxe de base des listes à puces
Créez un paragraphe à puces dans Word, puis ajoutez la boucle foreach :
<<foreach [bullet in EmployeeNames]>><<[bullet.listFirstName]>> <<[bullet.listLastName]>>
<</foreach>>
Étapes clés :
- Dans Word, créez une puce (utilisez la mise en forme à puce)
- Ajoutez la boucle foreach et fusionnez les champs.
- La boucle répétera la puce pour chaque élément.
Exemple : Liste des noms des employés
Conception du modèle :
Employee Directory:
• <<foreach [bullet in EmployeeNames]>><<[bullet.listFirstName]>> <<[bullet.listLastName]>>
<</foreach>>
Source des données :
{
"companyName": "PDF4me",
"EmployeeNames": [
{
"listFirstName": "Thomas",
"listLastName": "Baskin"
},
{
"listFirstName": "Jacob",
"listLastName": "Gregory"
},
{
"listFirstName": "John",
"listLastName": "Doe"
}
]
}
Résultat généré :
Employee Directory:
• Thomas Baskin
• Jacob Gregory
• John Doe
Listes numérotées
Générez des listes numérotées en utilisant la même approche foreach, mais avec une mise en forme de paragraphe numéroté. Word.
Syntaxe des listes numérotées
Numbered List - Instead of bullets, if you apply the syntax in a numbered paragraph format in Word, the list will be generated as a numbered list with automatic numbering.
Exemple : Liste des tâches
Modèle:
Project Tasks:
1. <<foreach [task in tasks]>><<[task.name]>> - <<[task.status]>>
<</foreach>>
Données:
{
"tasks": [
{ "name": "Design mockups", "status": "Complete" },
{ "name": "Develop features", "status": "In Progress" },
{ "name": "Testing phase", "status": "Pending" }
]
}
Sortir:
Project Tasks:
1. Design mockups - Complete
2. Develop features - In Progress
3. Testing phase - Pending
Listes à plusieurs niveaux
Créez des structures de listes hiérarchiques avec des relations parent-enfant à l'aide de boucles foreach imbriquées.
Exemple de hiérarchie à deux niveaux
Conception du modèle :
<<foreach [manager in employees]>>Manager: <<[manager.listFirstName]>> <<[manager.listLastName]>>
<<foreach [associate in manager.associates]>>Associate: <<[associate.name]>>
<</foreach>><</foreach>>
Important: Les éléments de la liste de deuxième niveau doivent être indentés dans votre Word Modèle pour créer une mise en forme hiérarchique correcte.
Exemple : Structure organisationnelle
Structure des données :
{
"companyName": "PDF4me",
"employees": [
{
"listFirstName": "Christopher",
"listLastName": "Nolan",
"associates": [
{ "name": "Will Smith" },
{ "name": "Barry Allen" },
{ "name": "Oliver Queen" }
]
},
{
"listFirstName": "Sarah",
"listLastName": "Parker",
"associates": []
},
{
"listFirstName": "Justin",
"listLastName": "Langer",
"associates": [
{ "name": "Brad Pitt" },
{ "name": "John Smith" }
]
}
]
}
Résultat généré :
• Manager: Christopher Nolan
○ Associate: Will Smith
○ Associate: Barry Allen
○ Associate: Oliver Queen
• Manager: Sarah Parker
• Manager: Justin Langer
○ Associate: Brad Pitt
○ Associate: John Smith
Gestion des sous-listes vides
Utilisez des vérifications conditionnelles pour gérer les cas où les sous-listes pourraient être vides.
Sous-liste conditionnelle
Modèle:
<<foreach [manager in employees]>>Manager: <<[manager.listFirstName]>> <<[manager.listLastName]>>
<<if [manager.associates.Any()]>>
<<foreach [associate in manager.associates]>>Associate: <<[associate.name]>>
<</foreach>>
<<else>>
No associates assigned
<</if>>
<</foreach>>
Éléments de liste formatés
Appliquez une mise en forme au contenu des éléments de la liste pour une meilleure présentation.
Exemple : Noms et dates formatés
Modèle:
• <<foreach [employee in employees]>><<[employee.name]:caps>> - Joined: <<[employee.joinDate]:"MMMM yyyy"]>>
<</foreach>>
Données:
{
"employees": [
{ "name": "john smith", "joinDate": "2020/03/15" },
{ "name": "jane doe", "joinDate": "2021/07/22" }
]
}
Sortir:
• John Smith - Joined: March 2020
• Jane Doe - Joined: July 2021
Listes triées
Générez des listes dans des ordres spécifiques à l'aide de méthodes d'énumération.
Liste triée par ordre alphabétique
Modèle:
• <<foreach [person in people.OrderBy(p => p.lastName)]>><<[person.lastName]>>, <<[person.firstName]>>
<</foreach>>
Trié selon plusieurs propriétés
Modèle:
• <<foreach [emp in employees.OrderBy(e => e.department).ThenBy(e => e.name)]>><<[emp.name]>> - <<[emp.department]>>
<</foreach>>
Listes filtrées
Afficher uniquement les éléments qui répondent à des critères spécifiques.
Filtrage conditionnel
Modèle:
Active Employees:
• <<foreach [emp in employees.Where(e => e.status == "Active")]>><<[emp.name]>>
<</foreach>>
Filtrage basé sur l'âge
Modèle:
Senior Team Members:
• <<foreach [person in team.Where(p => p.age > 50)]>><<[person.name]>> (Age: <<[person.age]>>)
<</foreach>>
Types de listes mixtes
Combinez différents styles de listes au sein d'un même document.
Exemple : Aperçu du projet
Modèle:
Project Phases (Numbered):
1. <<foreach [phase in phases]>><<[phase.name]>>
<</foreach>>
Team Members (Bulleted):
• <<foreach [member in team]>><<[member.name]>> - <<[member.role]>>
<</foreach>>
Exemples complexes à plusieurs niveaux
Hiérarchie à trois niveaux
Modèle:
<<foreach [dept in departments]>>Department: <<[dept.name]>>
<<foreach [team in dept.teams]>>Team: <<[team.name]>>
<<foreach [member in team.members]>><<[member.name]>> - <<[member.position]>>
<</foreach>>
<</foreach>>
<</foreach>>
Cela crée :
- Niveau 1 : Département (style à puces 1)
- Niveau 2 : Équipe (style bullet 2)
- Niveau 3 : Membre (style de puce 3)
- Niveau 2 : Équipe (style bullet 2)
Conception de listes dans Word Modèle
Configuration de la mise en forme de la liste
- Créer une structure de liste - Utiliser Wordoutils de mise en forme de liste intégrés
- Choisissez le style de puce - Sélectionnez le style de puces ou de numérotation approprié
- Définir l'indentation - Configurer les niveaux d'indentation pour les listes à plusieurs niveaux
- Ajouter des champs de fusion - Insérer des boucles foreach et la syntaxe des champs de fusion
- Conserver la mise en forme - Assurez-vous que la mise en forme de la liste est appliquée au texte du modèle
Niveaux d'indentation
Pour les listes à plusieurs niveaux :
- Niveau 1 : Aucune indentation ni indentation de premier niveau
- Niveau 2 : Une tabulation ou un retrait augmenter
- Niveau 3 : Deux tabulations ou un retrait de second niveau
Word Gère automatiquement le style des puces/numéros en fonction du niveau d'indentation.
Applications pratiques
Cas d'utilisation 1 : Ordre du jour de la réunion
Modèle:
Meeting Agenda - <<[meetingDate]:"MMMM dd, yyyy">>
1. <<foreach [item in agendaItems]>><<[item.title]>> (<<[item.duration]>> min)
<</foreach>>
Attendees:
• <<foreach [attendee in attendees]>><<[attendee.name]>> - <<[attendee.department]>>
<</foreach>>
Cas d'utilisation 2 : Fonctionnalités du produit
Modèle:
<<[productName]>> Features:
• <<foreach [feature in features]>><<[feature.name]>> - <<[feature.description]>>
<</foreach>>
Technical Specifications:
1. <<foreach [spec in specifications]>><<[spec.parameter]>>: <<[spec.value]>>
<</foreach>>
Cas d'utilisation 3 : Articles de facture
Modèle:
Order Items:
<<foreach [item in orderItems]>>
<<[$index + 1]>>. <<[item.name]>> - Quantity: <<[item.qty]>> - Price: $<<[item.price]>>
<</foreach>>
Total Items: <<[orderItems.Count()]>>
Total Amount: $<<[orderItems.Sum(i => i.qty * i.price)]>>
Meilleures pratiques
Conception de liste
- Mise en forme cohérente - Utilisez le même style de liste pour les types de contenu similaires.
- Profondeur appropriée - Limitez l'imbrication à 3 ou 4 niveaux pour une meilleure lisibilité.
- Groupement logique - Regrouper les éléments similaires
- Hiérarchie claire - Utilisez différents styles de puces pour les différents niveaux.
Structure des données
- Collections propres - S'assurer que les collections contiennent des données valides et complètes
- Propriétés cohérentes - Utilisez des noms de propriétés cohérents pour tous les éléments.
- Gérer les valeurs nulles - Vérifier les collections vides avec
Any() - Trier de manière appropriée - Triez les données au préalable ou utilisez OrderBy dans les modèles
Performance
- Limiter la taille de la liste - Envisagez la pagination pour les listes très longues.
- Filtrer efficacement - Appliquer les filtres à la source de données lorsque cela est possible
- Évitez les imbrications complexes - Une imbrication profonde peut impacter la vitesse de traitement
Appliquez une mise en forme (puces, numéros, retrait) directement dans votre liste. Word modèle avant d'ajouter des boucles foreach. Le moteur de modèles préserve la mise en forme que vous avez définie dans Word.