Docx-template : Différence entre versions

De YoWiki
Sauter à la navigation Sauter à la recherche
Ligne 18 : Ligne 18 :
 
[[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]]
 
[[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]]
 
<h2 id="inject">Principe des injects dans un docx-template</h2>
 
<h2 id="inject">Principe des injects dans un docx-template</h2>
'''Intérêt de l'Inject'''
+
<p>'''Intérêt de l'Inject'''</p>
''C'est grâce à l'instruction <code>inject</code>, qui doit directement être placée dans le docx-template, qu'il est possible d'injecter tout ou partie du contenu d'un [[SmartDoc]].''
+
<p>''C'est grâce à l'instruction <code>inject</code>, qui doit directement être placée dans le docx-template, qu'il est possible d'injecter tout ou partie du contenu d'un [[SmartDoc]].''</p>
 
<h3 id="injectall">Inject de la totalité d'un SmartDoc dans un docx-template</h3>
 
<h3 id="injectall">Inject de la totalité d'un SmartDoc dans un docx-template</h3>
 
<p>Il suffit d'écrire <code>{ @inject all }</code> dans le docx-template.</p>
 
<p>Il suffit d'écrire <code>{ @inject all }</code> dans le docx-template.</p>

Version du 27 août 2020 à 13:35

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.

Fonctionnement schématisé d'injection entre un SmartDoc et son Docx-template

Avantage de la fonctionnalité

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.

Une DocList prévue pour que le SmartDoc contrat de travail se base sur un docx-template

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.

Le SmartDoc contrat de travail prévoyant une ligne spécifique dans sa colonne Options pour pouvoir bénéficier d'un docx-template

Principe des injects dans un docx-template

Intérêt de l'Inject

C'est grâce à l'instruction inject, qui doit directement être placée dans le docx-template, qu'il est possible d'injecter tout ou partie du contenu d'un SmartDoc.

Inject de la totalité d'un SmartDoc dans un docx-template

Il suffit d'écrire { @inject all } dans le docx-template.

Dans ce cas, le système injecte dans le docx-template la totalité du SmartDoc.

Le { @inject all } est donc utile dans les cas où celui qui paramètre souhaite simplement personnaliser les styles, l'aspect du document, établir une page de garde stylisée, etc ...

Inject d'une partie d'un SmartDoc dans un docx-template

Il est aussi possible d'injecter juste certaines parties du SmartDoc dans le docx-template, dans l'ordre souhaité.

Pour définir une partie de SmartDoc à injecter, celle-ci doit être délimitée par un Bloc.

Il suffit ensuite de prévoir une ligne de ce type dans le docx-template : { @inject NOM_DU_BLOC } .