Docx-template
Sommaire
Docx-template
Introduction
Principe
Un docx-template constitue la base Word d'un SmartDoc.
Tout Smartdoc, avant de devenir un fichier Word (docx), est d'abord traité en HTML par le système puis injecté dans un docx-template.
Si aucun docx-template n'est spécifié dans le paramétrage du SmartDoc, le système crée automatiquement un docx-template dans lequel il injecte la totalité du SmartDoc.
Intérêt et avantages
L'avantage principal lié au fait de préciser un Docx-template dans le paramétrage est de pouvoir personnaliser totalement le fichier Docx qui fera office de docx-template : styles des titres, interlignes, pied de page, en-tête, filigrane, page de garde stylisé, etc ...
Le second avantage, de manière générale, est de pouvoir profiter de toutes les fonctionnalités les plus avancées de Word : tableaux, retraits, etc ...
Enfin, à l'instar des SmartDocX, les docx-template peuvent aussi accueillir directement des variables, inscrites de la manière suivante : ${MA_VARIABLE}
Mise en place d'un docx-template dans le fichier de paramétrage
Paramétrage dans la DocList
La DocList doit prévoir le fait que le SmartDoc correspondant va bénéficier d'un docxtemplate.
Paramétrage dans le SmartDoc concerné
Le SmartDoc doit aussi prévoir, dans ses options, qu'il va bénéficier d'une docx-template.
Injecter du contenu dynamique dans un modèle
Le modèle étant au format docx, son contenu est statique. Lors de la génération d'un Document, si un modèle docx est précisé, alors le contenu dynamique va pouvoir y être intégré.
La syntaxe de l'injection dynamique dans un modèle
Les instructions sont toujours sous la forme ${ … }
. Elles sont de 4 types :
- — une simple injection de variable (variable du Datastore ou même variable Dynamique). Ex :
${ PRENOM }
. - Cette méthode d'injection est simpliste, la valeur de la variable sera injectée telle quelle, puisqu'on est dans le docx, il n'est pas possible d'appliquer des traitements à ce niveau.
- — une simple injection de variable (variable du Datastore ou même variable Dynamique). Ex :
- — l'injection de l'ensemble du contenu dynamique du SmartDoc) :
${ inject all }
. - Le contenu dynamique injecté prendra en compte les niveaux de titres, leur numérotation, et les styles configurés dans le . (voir la rubrique sur les Styles ci-dessous).
- — l'injection de l'ensemble du contenu dynamique du SmartDoc) :
Les styles dans le modèle docx
Pour bien personnaliser les styles des modèles, il est important de bien maîtriser son logiciel de traitement de texte et de toujours bien sauvegarder le modèle au format .docx
.
Le style par défaut appliqué aux paragraphes injectés est généralement nommé "Normal" chez Microsoft Word ou LibreOffice. En modifiant la couleur, la taille (ou tout autre propriété) de ce Style dans le fichier de modèle, alors le contenu injecté utilisera automatiquement la mise en forme choisie dans le document généré.
Les styles qui seront appliqués sur les titres du document sont des styles de titre proposés par défaut dans la norme .docx. Sous Microsoft Word, ils sont nommés "Titre 1", "Titre 2" etc. , mais dans la version Anglaise du logiciel, ils seront nommés "Header 1", "Header 2" …