Docx-template : Différence entre versions
(17 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
<h1 id="docxtemp">Docx-template</h1> | <h1 id="docxtemp">Docx-template</h1> | ||
<h2 id="introduction">Introduction</h2> | <h2 id="introduction">Introduction</h2> | ||
+ | <h3 id="debut">Principe</h3> | ||
<p>Un docx-template constitue la base Word d'un [[SmartDoc]].</p> | <p>Un docx-template constitue la base Word d'un [[SmartDoc]].</p> | ||
<p>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.</p> | <p>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.</p> | ||
<p>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.</p> | <p>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.</p> | ||
[[Fichier:Capture d’écran 2020-07-29 à 23.16.58.png|700px|thumb|néant|Fonctionnement schématisé d'injection entre un SmartDoc et son Docx-template]] | [[Fichier:Capture d’écran 2020-07-29 à 23.16.58.png|700px|thumb|néant|Fonctionnement schématisé d'injection entre un SmartDoc et son Docx-template]] | ||
+ | <h3 id="debut">Intérêt et avantages</h3> | ||
+ | <p>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 ...</p> | ||
+ | <p>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 ...</p> | ||
+ | <p>Enfin, à l'instar des [[SmartDocX]], les docx-template peuvent aussi accueillir directement des variables, inscrites de la manière suivante : <code>${MA_VARIABLE}</code></p> | ||
<h2 id="parametrage">Mise en place d'un docx-template dans le fichier de paramétrage</h2> | <h2 id="parametrage">Mise en place d'un docx-template dans le fichier de paramétrage</h2> | ||
− | < | + | <h3 id="doclist">Paramétrage dans la DocList</h3> |
− | <h3 id=" | + | <p>La [[DocList]] doit prévoir le fait que le [[SmartDoc]] correspondant va bénéficier d'un docxtemplate.</p> |
− | < | + | [[Fichier:Capture d’écran 2020-07-29 à 23.36.06.png|1200px|thumb|néant|Une DocList prévue pour que le SmartDoc contrat de travail se base sur un docx-template]] |
− | < | + | <h3 id="smartdoc">Paramétrage dans le SmartDoc concerné</h3> |
+ | <p> Le [[SmartDoc]] doit aussi prévoir, dans ses options, qu'il va bénéficier d'une docx-template.<p> | ||
+ | [[Fichier:Capture d’écran 2020-07-30 à 00.04.31.png|1200px|thumb|néant|Le SmartDoc contrat de travail prévoyant une ligne spécifique dans sa colonne Options pour pouvoir bénéficier d'un 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 <code>${ … }</code>. Elles sont de 4 types : | ||
+ | |||
+ | :: — une simple injection de variable (variable du Datastore ou même [[Dynvars|variable Dynamique]]). Ex : <code>${ PRENOM }</code>. | ||
+ | :: 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. | ||
+ | |||
+ | :: — l'injection de l'ensemble du contenu dynamique du [[SmartDoc]]) : <code>${ @inject all }</code>. | ||
+ | :: Le contenu dynamique injecté prendra en compte les niveaux de titres, leur numérotation, et les styles configurés dans le . (voir [[Docx-template#Les styles dans le modèle docx| la rubrique sur les Styles]] ci-dessous). | ||
+ | |||
+ | :: — l'injection d'un [[SmartDoc/Blocs|bloc]] spécifique du [[SmartDoc]]) : <code>${ @inject id-du-bloc }</code>. | ||
+ | :: Si le bloc ciblé doit provenir d'une autre document que celui qui est en train d'être généré, alors il faudra préciser l'identifiant de cet autre document avec la syntaxe suivante : <code>${ inject @id-du-doc:id-du-bloc }</code>. | ||
+ | |||
+ | :: — l'injection d'une métadonnée du [[SmartDoc]], telle que son titre : <code>${ @doctitle }</code>. Le titre d'un document est celui qui est configuré dans la [[DocList]]. | ||
+ | |||
+ | |||
+ | === 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 <code>.docx</code>. | ||
+ | |||
+ | 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" … |
Version actuelle datée du 6 octobre 2022 à 07:44
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" …