ONYX - 9.0 - Utilisation - Partie Dynamique de ONYX Designer/en

Différence entre versions

De MappingDoc
(Page créée avec « The spooled file view then displays the data from the spooled file to format. »)
 
(194 révisions intermédiaires par le même utilisateur non affichées)
Ligne 8 : Ligne 8 :
 
To design this part, select the "Map F" tab (and "Map B" for the duplex of the document). In this view, elements of the "Draw" part are displayed as watermarks so that positioning the data to be printed is easier.
 
To design this part, select the "Map F" tab (and "Map B" for the duplex of the document). In this view, elements of the "Draw" part are displayed as watermarks so that positioning the data to be printed is easier.
  
==&quot Spooled File"==
+
=="Spooled File"==
  
 
To retrieve and identify data to be printed, designing a Designer project is done using an example file. This example file is an image of the production ''spooled file'' to format.
 
To retrieve and identify data to be printed, designing a Designer project is done using an example file. This example file is an image of the production ''spooled file'' to format.
Ligne 20 : Ligne 20 :
 
To open and display an example file in DESIGNER, the spooled file view needs to be activated in the ''Display'' Menu:
 
To open and display an example file in DESIGNER, the spooled file view needs to be activated in the ''Display'' Menu:
  
[[File:onyxdesigner-image33.png]]
+
[[File:OX_D_28.PNG]]
  
In the "Home" tab, click on [[File:onyxdesigner-image34.png]] and select the file you want to load in the application.
+
In the "Home" tab, click on [[File:OX_D_29.PNG]] and select the file you want to load in the application.
  
 
The spooled file view then displays the data from the spooled file to format.
 
The spooled file view then displays the data from the spooled file to format.
Ligne 28 : Ligne 28 :
 
[[File:onyxdesigner-image35.png]]
 
[[File:onyxdesigner-image35.png]]
  
[[File:onyxdesigner-image36.png]]
+
[[File:OX_D_30.PNG]]
  
Pour aider l’utilisateur dans la conception de son projet, il est possible de pré-visualiser le résultat sans avoir à imprimer le document. Pour cela, il suffit de cliquer simplement sur le bouton ''Aperçu'' dans le menu ''Accueil''.
+
To help you design your project, you can preview the result without having to print the document. To do so, click on the ''Preview'' button in the ''Home'' menu.
  
==Mode XML : syntaxe et spécifications==
+
==XML: syntax and specifications==
  
En ''mode XML'', les principes de conceptions sont les mêmes et s’appuient sur un fichier d’exemple chargé dans l’application.
+
In XML mode, the design principles are the same and are put in application using an example file loaded in the application.
  
Comme décrit dans le paragraphe [[#création-dun-projet-1|<span class="underline">4.2. Création d’un projet</span>]], pour charger un document .xml, il ne faut surtout pas oublier d’aller dans les '''Propriétés''' du projet et vérifier que dans '''Paramètres''' &gt; '''Mode''' = '''XML'''.
+
As stated in [[#création-dun-projet-1|<span class="underline">4.2. Creating a project</span>]], to load a .xml document, it is important not to forget to go to the project '''Properties''' and check that in '''Parameters''' &gt; '''Mode''' = '''XML'''.
  
[[File:onyxdesigner-image37.png]]
+
[[File:OX_D_31.PNG]]
  
La ''vue Spool'' s’appelle alors '''Vue XML''' et présente le contenu du fichier sous forme d’arborescence.
+
The ''Spooled file'' view is then called the '''XML view''' and displays the content of the file in a tree view.
  
 
[[File:onyxdesigner-image38.png]]
 
[[File:onyxdesigner-image38.png]]
  
===Structure de données===
+
===Data structure===
  
Les fichiers ''XML'' nativement pris en charge par Designer doivent respecter un schéma et une syntaxe prédéfinis dont voici une illustration :
+
XML files that are processed by Designer in native mode have to respect a specific pattern and syntax, such as:
  
Les balises '''&lt;page name=&quot;...&quot;&gt; … &lt;/page&gt;''' permettent de délimiter les pages du document. Dans l’exemple précédent, il n’y a qu’une page.
+
'''&lt;page name=&quot;...&quot;&gt; … &lt;/page&gt;''' tags mark out the pages of the document. In the last example, there is only one page.
  
*Les balises '''&lt;field name=&quot;...&quot;&gt;value1&lt;/field&gt;''' représentent une information unitaire (l’équivalent des ''zones'' dans Designer).
+
*'''&lt;field name=&quot;...&quot;&gt;value1&lt;/field&gt;''' tags correspond to unit-based information (the equivalent of ‘zones’/'fields' in Designer).
*Les balises '''&lt;group name=&quot;...&quot;&gt; … &lt;/group&gt;''' désignent un certain nombre de lignes contenant des zones, comme un ''groupe'' dans Designer.
+
*'''&lt;group name=&quot;...&quot;&gt; … &lt;/group&gt;''' tags refer to a particular number of lines which contain zones, such as a ‘group’ in Designer.
*Les balises '''&lt;line name=&quot;…&quot;&gt; … &lt;line&gt;''' représentent les lignes à l’intérieur de ces groupes.
+
*'''&lt;line name=&quot;…&quot;&gt; … &lt;line&gt;''' tags correspond to the lines inside of these groups.
  
En procédant par analogie avec une facture papier :
+
If we were to use this structure with a paper invoice:
  
*'''&lt;page name=&quot;...&quot;&gt; … &lt;/page&gt;''' représente les pages de la facture.
+
*'''&lt;page name=&quot;...&quot;&gt; … &lt;/page&gt;''' corresponds to the pages of the invoice.
*'''&lt;group name=&quot;...&quot;&gt; … &lt;/group&gt;''' représente la délimitation du corps de la facture (de sa première ligne à sa dernière ligne).
+
*'''&lt;group name=&quot;...&quot;&gt; … &lt;/group&gt;''' marks out the body of the invoice (from the first line to the last).
*'''&lt;line name=&quot;…&quot;&gt; … &lt;line&gt;''' décrit le contenu de chaque ligne du corps de la facture.
+
*'''&lt;line name=&quot;…&quot;&gt; … &lt;line&gt;''' describes every line in the body of the invoice.
*'''&lt;field name=&quot;...&quot;&gt;value1&lt;/field&gt;''' peut représenter deux possibilités :
+
*'''&lt;field name=&quot;...&quot;&gt;value1&lt;/field&gt;''' can correspond to two things:
**Si cette balise est <span class="underline">en dehors</span> d’un groupe, il s’agit d’une information unitaire dans la facture. Dans ce cas, '''value1''' représente le n° de facture dans l’entête par exemple, ou le n° de client, le type de facture, etc.
+
**If this tag is <span class="underline">on the outside</span> of a group, it corresponds to unit-based information in the invoice. In which case, '''value1''' corresponds to the invoice number in the header, for instance, or to the client number, the type of invoice, etc.
**Si elle se trouve <span class="underline">à l’intérieur</span> de la définition d’un groupe, '''value1''' désigne la valeur de la zone dans la ligne. Par exemple, le code produit, désignation, prix, etc.
+
**If this tag is <span class="underline">inside</span> a group, '''value1''' corresponds to the value of the zone in the line. For instance, the product code, its name, price, etc.
  
===Spécifications du schéma XML===
+
===XML pattern specifications===
  
Les spécifications attendues par Designer sont les suivantes :
+
The specifications needed for Designer to process the file are the following:
  
 
<ul>
 
<ul>
<li><p>L’entête XML doit préciser l’'''encodage''' du fichier.</p>
+
<li><p>The XML header needs to specify the file '''encoding'''.</p>
<p><span class="underline">Exemple</span> : &lt;?xml version=&quot;1.0&quot; ''encoding=&quot;'''UTF-16'''&quot;'' standalone=&quot;yes&quot; ?&gt;</p></li>
+
<p><span class="underline">Example</span> : &lt;?xml version=&quot;1.0&quot; ''encoding=&quot;'''UTF-16'''&quot;'' standalone=&quot;yes&quot; ?&gt;</p></li>
<li><p>La balise racine des données XML doit s’appeler '''''doc'''''.</p></li>
+
<li><p>The root tag of XML data needs to be called '''''doc'''''.</p></li>
<li><p>Toutes les balises mentionnées ci-après doivent avoir au moins un attribut nommé '''''name'''''. C’est par cet attribut que les informations seront identifiées, récupérées et mises en forme par l’application.</p></li>
+
<li><p>All tags mentioned hereafter need to have at least one attribute named '''''name'''''. Information will be identified, retrieved and formatted by the application via the use of this attribute.</p></li>
<li><p>Les noms des balises et des attributs sont '''sensibles à la casse''' et doivent être écrits en lettres '''minuscules'''.</p></li>
+
<li><p>The tags and attributes names are '''case-sensitive''' and need to be written in '''lowercase''' letters.</p></li>
<li><p>Pour être accessibles par l’application, les données doivent être localisées dans des pages entre les balises &lt;'''page''' name=&quot;…&quot;&gt; et &lt;/page&gt;. Un même document peut contenir plusieurs pages.</p></li>
+
<li><p>For the application to access it, data must be placed in pages in between the &lt;'''page''' name=&quot;…&quot;&gt; and &lt;/page&gt; tags. One document can contain several pages.</p></li>
<li><p>A l’intérieur d’une page, les données sont ensuite organisées par champs unitaires (balise &lt;'''field''' name=&quot;…&quot;&gt;) ou par groupes d’informations (balise &lt;'''group''' name=&quot;…&quot;&gt;).</p></li>
+
<li><p>Inside a page, data is organised per unit-based fields (balise &lt;'''field''' name=&quot;…&quot;&gt;) or per information groups (balise &lt;'''group''' name=&quot;…&quot;&gt;).</p></li>
<li><p>Les groupes d’informations sont composés de lignes (balise &lt;'''line''' name=&quot;…&quot;&gt;).</p></li>
+
<li><p>Information groups are composed of lines (balise &lt;'''line''' name=&quot;…&quot;&gt;).</p></li>
<li><p>Les lignes contiennent des informations unitaires (balise &lt;'''field''' name=&quot;…&quot;&gt;).</p></li></ul>
+
<li><p>The lines contain unit-based informations (balise &lt;'''field''' name=&quot;…&quot;&gt;).</p></li></ul>
  
Voici un exemple de fichier XML :
+
Here is an example of an XML file:
  
 
[[File:onyxdesigner-image40.png]]
 
[[File:onyxdesigner-image40.png]]
  
Des données XML peuvent se situer en dehors d’une page comme des informations liées au document dans son ensemble et non à une page en particulier. Elles ne seront, cependant, pas visibles par l’application M-Designer et donc non utilisables pour la conception du document. Elles pourront en revanche être utilisées dans le moteur M-Processing Server.
+
XML data can be placed on the outside of a page as information linked to the overall document and not to the page in particular. However this data will not be accessible to Designer and thus cannot be processed to design the document. Nonetheless, this data can be used in the M-Processing Server engine.
  
===Vue XML dans Designer===
+
===XML view in Designer===
  
 
[[File:onyxdesigner-image41.png]]
 
[[File:onyxdesigner-image41.png]]
  
Le chargement d’un fichier d’exemple XML dans Designer se fait de la même manière qu’un fichier texte. Dans la '''vue XML''', la présentation des données apparait sous forme d'une liste d'éléments.
+
An XML example file is loaded in DESIGNER in the same way that is use to load a text file. In the '''XML view''', data is displayed as a list of elements.
  
===Rupture de page sur valeur d'un champ XML===
+
===Page break on an XML field value===
  
Dans les '''Propriétés''' d’un groupe, la génération d’un saut de page peut à présent se déclencher sur le changement de valeur d’un champ XML.
+
In the '''Proprieties''' of a group, generating a page break can now be triggered based on the change in value of the XML field.
  
Par exemple :
+
For example:
  
 
<code>&lt;group name=&quot;groupe&quot;&gt;<br />&lt;line name=&quot;ligne&quot;&gt;<br />&lt;field name=&quot;id&quot;&gt;1&lt;/field&gt;<br />&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;ligne&quot;&gt;<br />&lt;field name=&quot;id&quot;&gt;1&lt;/field&gt;<br />&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;ligne&quot;&gt;<br />&lt;field name=&quot;id&quot;&gt;2&lt;/field&gt;<br />&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;ligne&quot;&gt;<br />&lt;field name=&quot;id&quot;&gt;2&lt;/field&gt;<br />&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />&lt;/line&gt;<br />…<br />&lt;/group&gt;</code>
 
<code>&lt;group name=&quot;groupe&quot;&gt;<br />&lt;line name=&quot;ligne&quot;&gt;<br />&lt;field name=&quot;id&quot;&gt;1&lt;/field&gt;<br />&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;ligne&quot;&gt;<br />&lt;field name=&quot;id&quot;&gt;1&lt;/field&gt;<br />&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;ligne&quot;&gt;<br />&lt;field name=&quot;id&quot;&gt;2&lt;/field&gt;<br />&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;ligne&quot;&gt;<br />&lt;field name=&quot;id&quot;&gt;2&lt;/field&gt;<br />&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />&lt;/line&gt;<br />…<br />&lt;/group&gt;</code>
  
Dans cet exemple, si le champ utilisé pour générer un saut de page est le champ &quot;'''''id'''''&quot;, un saut de page sera alors généré après l’exécution de la deuxième ligne.
+
In this example, if the field used to generate a page break is the field &quot;'''''id'''''&quot; then the page break will be generated after the execution of the second line.
  
Dans l’interface, le paramètre « '''Saut de page''' » d’un groupe possède plusieurs choix :
+
There are several options in the interface for the '''Page break''' parameter:
  
[[File:onyxdesigner-image42.png]]
+
[[File:OX_D_32.PNG]]
  
[[File:onyxdesigner-image43.png]]
+
[[File:OX_D_33.PNG]]
  
[[File:onyxdesigner-image44.png]]
+
[[File:OX_D_34.PNG]]
  
[[File:onyxdesigner-image45.png]]
+
[[File:OX_D_35.PNG]]
  
*'''Aucun''' : le groupe ne génère aucun saut de page.
+
*'''None''': the group does not generate any page break.
*'''Limite ''': le groupe déclenche un saut de page sur une limite de positionnement.
+
*'''Limit''': the group triggers a page break based on a positioning limit.
*'''Champ XML ''': le groupe déclenche un saut de page sur changement de la valeur d’un champ XML.
+
*'''XML Field''': the group triggers a page break based on the change in value of an XML field.
*'''Champ XML et Limite''' : le groupe déclenche un saut de page sur changement de la valeur d’un champ XML et sur une limite de positionnement.
+
*'''Limit and XML Field''': the group triggers a page break based on a positioning limit and on a change in value of an XML field.
  
La gestion de la reprise d’en-têtes, lors de la génération de sauts de page automatiques, est possible grâce aux options « '''En-tête''' » et « '''Dernier en-tête''' » :
+
When generating automatic page breaks, managing the recovery of headers is possible with the options "'''Header'''" and "'''Last header'''":
  
[[File:onyxdesigner-image46.png]]
+
[[File:OX_D_36.PNG]]
  
*'''En-tête''' : permet de choisir le nom de la ligne du fichier XML servant d’en-tête.
+
*'''Header''': to choose the name of the line of the XML file which acts as header.
*'''Dernier en-tête''' : si cochée, cette option permet de ne conserver que le dernier en-tête. La case est cochée par défaut.
+
*'''Last header''': if checked, only the last header is kept. The box is checked by default.
  
Lors de la génération d’un saut de page, le dernier en-tête (ou tous les en-têtes précédents, si l’option est décochée) sont repris en début de la nouvelle page.
+
When generating a page break, the last header (or all of the above headings, if the option is unchecked) are used at the start of the new page.
  
Si dans le XML deux lignes d’en-tête se suivent, elles sont alors considérées comme un seul en-tête.
+
In the XML file, if two header lines follow each other, they are considered as one single header.
  
Si un saut de page se déclenche juste après une ligne d’en-tête, celle-ci n’est pas imprimée et est reporté sur la page suivante.
+
If a page break is triggered just after a header line, that header line is not printed and is moved to the next page.
  
===Éditer une liste variable d’éléments sous forme de tableau===
+
===Edit a variable list of items as a table===
  
Pour pouvoir afficher une liste d’éléments présents dans un groupe XML sous forme de tableau, il faut passer par l’outil de scripts.
+
To display a list of items in an XML group as a table, the script tool must be used.
  
La fonction '''rowtotable''' permet de réorganiser les lignes d’un groupe de manière à obtenir une répartition horizontale des éléments.
+
The '''rowtotable''' feature rearranges the lines of a group so as to obtain a horizontal distribution of the elements.
  
<span class="underline">Syntaxe</span> :<br /><code>rowtotable(nom du groupe, nombre maximal de colonne);</code>
+
<span class="underline">Syntax</span>:<br /><code>rowtotable(name of the group, maximal number of columns in the table);</code>
  
La fonction '''rowtotable''' possède deux paramètres :
+
The '''rowtotable''' feature has two settings:
  
*'''Nom du groupe''' : Contient le nom du groupe devant être réorganisé en tableau, entouré de '''<span class="underline">doubles guillemets</span>'''.
+
*'''Name of the group''': contains the name of the group to be reorganized in a table, framed by '''<span class="underline">double quotes</span>'''.
*'''Nombre maximum de colonne''' : Nombre maximum de colonne du tableau.
+
*'''Maximal number of columns in the table''': Maximal number of columns in the table.
  
'''Remarque :''' Toutes les lignes du groupe doivent avoir le même nom.
+
'''Note:''' All the lines of a group should have the same name.
  
Prenons l’exemple de ce groupe :
+
For example:
  
 
<code>&lt;group name=&quot;invoice&quot;&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 1&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 2&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 3&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 5&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 6&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 7&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 8&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;</code>
 
<code>&lt;group name=&quot;invoice&quot;&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 1&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 2&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 3&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 5&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 6&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 7&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 8&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;</code>
  
Pour réorganiser ce groupe sous la forme d’un tableau de trois colonnes, il faut utiliser le script suivant :
+
To rearrange this group in a three-column table, use the following script:
  
 
<code>rowtotable(&quot;invoice&quot;,3);</code>
 
<code>rowtotable(&quot;invoice&quot;,3);</code>
  
Ce script aura pour effet de modifier le groupe qui devient alors :
+
This script will effectively change the group which then becomes:
  
 
<code>&lt;group name=&quot;invoice&quot;&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name'''_1'''&quot;&gt;item 1&lt;/field&gt;<br />&lt;field name=&quot;name'''_2'''&quot;&gt;item 2&lt;/field&gt;<br />&lt;field name=&quot;name'''_3'''&quot;&gt;item 3&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name'''_1'''&quot;&gt;item 4&lt;/field&gt;<br />&lt;field name=&quot;name'''_2'''&quot;&gt;item 5&lt;/field&gt;<br />&lt;field name=&quot;name'''_3'''&quot;&gt;item 6&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name'''_1'''&quot;&gt;item 7&lt;/field&gt;<br />&lt;field name=&quot;name'''_2'''&quot;&gt;item 8&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;</code>
 
<code>&lt;group name=&quot;invoice&quot;&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name'''_1'''&quot;&gt;item 1&lt;/field&gt;<br />&lt;field name=&quot;name'''_2'''&quot;&gt;item 2&lt;/field&gt;<br />&lt;field name=&quot;name'''_3'''&quot;&gt;item 3&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name'''_1'''&quot;&gt;item 4&lt;/field&gt;<br />&lt;field name=&quot;name'''_2'''&quot;&gt;item 5&lt;/field&gt;<br />&lt;field name=&quot;name'''_3'''&quot;&gt;item 6&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name'''_1'''&quot;&gt;item 7&lt;/field&gt;<br />&lt;field name=&quot;name'''_2'''&quot;&gt;item 8&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;</code>
  
==Eléments Dynamiques==
+
==Dynamic elements==
  
Cette partie de la documentation présente les éléments de base pouvant être ajoutés dans la partie dynamique d’un projet ce qui permet une prise en main des fonctionnalités principales de l’application.
+
This part of the documentation presents the basic elements that can be added in the dynamic part of a project in order to get started with the main features of the application.
  
 
===Zone===
 
===Zone===
  
====Définition====
+
====Definition====
  
Une '''zone''' est l’élément principal qui permet de récupérer des informations dans les données en entrée afin de les positionner et de les mettre en forme dans le document graphique final.
+
A '''zone''' is the main element, which allows you to retrieve information in the input data in order to position and format them in the final graphical document.
  
En ''mode texte'', l’information est identifiée par trois données :
+
In ''text mode'', the information is identified by the following three elements of data:
  
*un numéro de ligne,
+
*a row number,
*un numéro de colonne
+
*a column number,
*une longueur.
+
*a length.
  
En ''mode XML'', elle est identifiée par le nom du champ XML (balise field).
+
In ''XML mode'', it is identified by the name of the XML field (field tag).
  
Une '''zone''' ne peut lire qu’une seule ligne à la fois.
+
A '''zone''' can only read one row at a time.
  
Dans l’espace de conception, elle est représentée de deux façons :
+
It is represented in the following two ways in the designing space:
  
*La '''zone''' est vide, aucune donnée ne lui est associée : une icône apparait dans le coin supérieur droit de celle-ci.
+
*The '''zone''' is empty, no data is associated with it: an icon appears in its upper right corner.
  
 
[[File:onyxdesigner-image47.png]]
 
[[File:onyxdesigner-image47.png]]
  
*La '''zone''' est associée à une donnée, elle apparait sans icône.
+
*The '''zone''' is associated with an element of data, it appears without an icon.
  
 
[[File:onyxdesigner-image48.png]]
 
[[File:onyxdesigner-image48.png]]
<p>Une '''zone''' est identifiée par son ''nom'', défini dans la fenêtre des propriétés (plus de détails dans [[#créer-une-zone|<span class="underline">a.2 Créer une zone</span>]]).</p><p></p>
+
<p>A '''zone''' is identified by its ''name'', defined in the properties window (see [[#créer-une-zone|<span class="underline">a.2 Creating a zone</span>]] for more details).</p><p></p>
====Créer une zone====
+
====Creating a zone====
  
Pour créer une '''zone''', deux méthodes sont possibles :
+
There are two methods you can use to create a '''zone''':
  
 
<ul>
 
<ul>
<li><p>Sélectionner l’icône correspondante et son type dans l’onglet ''Donnée'' puis cliquer (sans relâcher) à l’endroit où cet élément doit être positionné. Cette méthode crée une '''zone''' vide. Pour lier la '''zone''' à une donnée du fichier source il suffit de sélectionner la donnée dans la ''vue Spool'' (voir la deuxième méthode ci-dessous) et de la ''glisser-déposer'' dans la zone précédemment crée en maintenant la touche '''Ctrl''' appuyée.</p>
+
<li><p>Select the corresponding icon and its type in the ''Data'' tab and hold the button of your mouse down where you want the element to be placed. This method creates an empty '''zone'''. To link the '''zone''' to an element of data from the source file, select the data in the ''spooled file view'' (see the second method below) then, ''drag and drop it'' in the zone which was created previously, by holding down the '''Ctrl''' key.</p>
<p>[[File:onyxdesigner-image49.png]]</p></li></ul><p>Sélectionner directement les données à récupérer dans la ''vue Spool'' et utiliser le ''glisser-déposer'' à l'endroit désiré sur l'espace de conception pour créer automatiquement une zone liée aux données sélectionnées.</p><p>[[File:onyxdesigner-image50.png]]</p><p>Une fois la zone créée, sélectionnez celle-ci et affichez la ''vue des Propriétés'' pour renseigner ses informations :</p><p>[[File:onyxdesigner-image51.png]]</p><ul>
+
<p>[[File:OX_D_37.PNG]]</p></li></ul><p>Select the data to be recovered in the ''Spooled file view'' then, ''drag and drop it'' where you want, in the designing space to create a zone automatically linked to the data you selected.</p><p>[[File:onyxdesigner-image50.png]]</p><p>Once the zone has been created, select it and display the 'Properties view'' to fill in the following information:</p><p>[[File:OX_D_38.PNG]]</p><ul>
<li><p>'''Nom''' :</p>
+
<li><p>'''Name''' :</p>
 
<ul>
 
<ul>
<li><p>''Nom'' (de la zone) : information interne à Designer, permettant d’identifier les différents objets dans le projet. Ce champ est vide lors d'une création de zone à vide et vaut la valeur de la donnée lors d'une création de zone à partir de la ''vue Spool.''</p></li>
+
<li><p>''Name'' (of the zone): this information is used as internal information in Designer, it identifies the different objets in the project. When creating the zone from the data tab, this field is empty, its value is given by the data linked to it from the ''Spooled file view.''</p></li>
<li><p>''Label av''/''Label ap'' : possibilités d’ajouter du texte avant et/ou après l’information récupérée.</p></li></ul>
+
<li><p>''Text printed before''/''after'': to add text before and/or after the retrieved information.</p></li></ul>
 
</li>
 
</li>
 
<li><p>'''Position''' :</p>
 
<li><p>'''Position''' :</p>
 
<ul>
 
<ul>
<li><p>Identification de la position de l'information dans le spool de données : colonne, longueur, ligne de début.</p></li>
+
<li><p>Position of the information in the data spooled file: column, length, beginning line.</p></li>
<li><p>Permet également d'extraire une certaine quantité d'information en mode XML.</p></li></ul>
+
<li><p>This is also used to extract a certain quantity of information in XML mode.</p></li></ul>
 
</li>
 
</li>
<li><p>'''Position dans le document''' :</p>
+
<li><p>'''Position in the document''':</p>
 
<ul>
 
<ul>
<li><p>Permet de modifier le positionnement de la zone dans la page.</p></li></ul>
+
<li><p>to change the position of the zone on the page.</p></li></ul>
 
</li>
 
</li>
<li><p>'''Type de données''' :</p>
+
<li><p>'''Data Type''':</p>
 
<ul>
 
<ul>
<li><p>Permet de définir comment l'application Designer doit traiter l'information récupérée (voir [[#type-de-zones|''<span class="underline">a.3 Types de zones</span>'']]).</p></li></ul>
+
<li><p>defines how the Designer application processes the information retrieved (see [[#type-de-zones|''<span class="underline">a.3 Types of zones</span>'']]).</p></li></ul>
 
</li>
 
</li>
<li><p>'''Police''' :</p>
+
<li><p>'''Font''':</p>
 
<ul>
 
<ul>
<li><p>Permet de paramétrer toutes les options de mise en forme de l'information : police, taille, couleur, cadrage, orientation, etc.</p></li></ul>
+
<li><p>To set all formatting options: font, size, colour, framing, orientation, etc.</p></li></ul>
 
</li></ul>
 
</li></ul>
  
====Type de zones====
+
====Types of zones====
  
L’application Designer propose diverses options de traitement de l’information selon le type de données à traiter :
+
The Designer application offers various processing options according to the type of data to process:
  
*'''Texte''' : permet d’imprimer du texte simple.
+
*'''Text''': prints plain text.
**''Normal'' : recopie exactement les valeurs se trouvant aux positions définies par la zone qu'il s'agisse de lettres, de chiffres ou de blancs.
+
**''Normal'': copies the values located in the positions defined by the zone whether they are letters, numbers or blanks.
**''Optimisé'' : recopie les caractères se trouvant à ces positions excepté les blancs au début et à la fin de ces positions. Ainsi, le cadrage à gauche, ou à droite est toujours respecté. Il n'y a pas de décalage dû à la présence de blancs dans le spool.
+
**''Optimized'': copies the characters located in these positions except for blanks at the beginning and end of these positions. The framing to the left or to the right is always observed. There is no shift due to blanks in the spooled file.
**''Substitution'' : permet de remplacer une valeur du spool par une autre stockée dans un fichier appelé replacevalue.txt. Par défaut, ce fichier se trouve à l'état vierge dans le dossier d'installation de M-Designer. Pour faire fonctionner les substitutions, il faut le placer dans le dossier '''lgobitmap''' et il doit contenir les '''valeurs à remplacer''' suivies des '''valeurs de remplacement''' séparées par une '''tabulation.''' Ce sous-type est plus détaillé dans le paragraphe [[#_Remplacement_de_caractère|''<span class="underline">8.3. Remplacement de caractère</span>'']].
+
**''Substitution'': used to replace a value of the spooled file with another one stored in a file called replacevalue.txt. By default, this file is in its blank state in the Designer installation folder. To carry out the substitutions, place it in the '''lgobitmap''' folder. The folder needs to contain the '''values to be replaced''' followed by '''replacement values''' and separated by a '''tab.''' This sub-type is explained in further detail in [[#_Remplacement_de_caractère|''<span class="underline">8.3. Replacing characters</span>'']].
**''Translate'' : permet de substituer une valeur par son équivalent traduit dans une autre langue. On utilise au préalable une zone de type '''Outils''' / ''Set Lang'' pour définir le fichier qui contient les traductions. Pour chaque zone '''Texte''' / ''Translate'' définie dans la maquette, le programme cherche l'entrée correspondante à la valeur de la zone dans le fichier qui contient les traductions. Celui-ci doit se trouver dans le dossier ''lgobitmap'' et son nom doit commencer par « '''Translate_''' ».
+
**''Translate'': substitutes a value for its translation in another language. A zone type '''Tools''' / ''Set Lang'' is used beforehand to define the file with the translated values. The program searches for the corresponding input in the translation file for each '''Text''' / ''Translate'' zone which is defined in the template. The file must be placed in the ''lgobitmap'' folder and its name must start with "'''Translate_'''".
**''Compressé'' : zone affichant le texte récupéré dans l’espace alloué. Le texte occupe la largeur de la zone et adapte la taille de police entre un maximum et un minimum afin que le texte soit affiché complètement dans cet espace alloué. Si la taille de police minimum ne permet toujours pas d’afficher le texte complet, celui-ci est tronqué et est suivi de « ».
+
**''Compressed'': zone displaying the recovered text into the dedicated space. The text occupies the width of the zone and adjusts the font size between a maximum and a minimum so that the text covers all the dedicated space.. If the minimum font size does not display the entire text, it is truncated and followed by "".
**''Tronqué'' : zone affichant le texte récupéré dans l’espace alloué par la largeur de zone. Si le texte ne peut être complètement affiché, il est tronqué suivi de « … ».
+
**''Truncated'': zone displaying the recovered text into the space allowed by the zone width. If the text cannot be fully displayed, it is truncated followed by "...".
  
  
*'''Code barre''' : permet d’encoder et d’imprimer des codes-barres. La liste des codes à barres disponible est détaillée chapitre ''[[#code-à-barre|<span class="underline">8.1 Code à barre</span>]]''
+
*'''Barcode''': encodes and prints barcodes. The list of available barcodes can be seen in ''[[#code-à-barre|<span class="underline">8.1 Barcodes</span>]]''
  
  
*'''Outils ''': permet d’insérer un numéro de page, des images, … mais aussi d’afficher le nombre total de pages, de pages dans le lot en cours, …
+
*'''Tools''': inserts a page number, images, … but also displays the total number of pages, pages in the current batch, …
**''Page'' : permet d'imprimer le numéro de la page éditée. Ce numéro n'est pas forcément le même que le numéro de page du spool initial. En effet, si M-Processing Server est conditionné afin d'exclure certaines pages, le nombre de pages éditées n'est pas forcément le même que le nombre de pages du spool d'origine.
+
**''Page Number'': numbers each edited page. The page number is not necessarily the same as that in the original spooled file. If M-Processing Server is set to exclude certain pages, the number of edited pages will not necessarily be the same as the number of pages in the original spooled file.
**''N° Lot '': permet d’afficher le numéro du lot.
+
**''Batch Number'': displays the batch number.
**''Page'' ''(Lot)'' : permet d’afficher le numéro de la page dans le lot.
+
**''Page Number'' ''(Batch)'': displays the page number in the batch.
**''Nombre total de pages'' : permet d’afficher le nombre total de pages dans le document entier.
+
**''Total Number of Pages'': displays the number of pages in the document.
**''Nombre total de lots'' : permet d’afficher le nombre total de lots dans le document entier.
+
**''Total Number of Batches'': displays the number of batches in the document.
**''Nombre total de pages (Lot)'' : permet d’afficher le nombre total de pages dans le lot.
+
**''Total Number of Pages (Batch)'': displays the number of pages in the current batch.
**''Remplacement spécifique'' : remplace une valeur présente dans le spool traité par une autre valeur récupérée dans un fichier. Par exemple, vous pouvez remplacer le numéro de client qui apparaît dans le spool par le nom de ce client que vous récupérez dans un fichier base de données.
+
**''Specific replacement'': replaces a value in the spooled file processed by another value which was retrieved in a file. For example, the customer number displayed in the spooled file can be replaced with the customer's name which is retrieved in a database file.
**''Image'' : imprime une image différente en fonction d'une valeur du spool.
+
**''Image'': prints out a different image depending on the value of the spooled file.
**''Export'' : ce type de zone permet de récupérer une information du spool et de l'exporter vers un fichier physique.
+
**''Export'': this type of zone allows you to retrieve information from the spooled file and export it to a physical file.
**''Rempl. Fichier'' : récupère du texte dans un fichier. Le nom de la zone doit correspondre au nom du fichier. Celui-ci doit se trouver dans le dossier ''lgobitmap'' et s’appeler ''data_NOMDELAZONE.txt'' (où NOMDELAZONE est le nom réel de la zone). Les paramètres de ligne et longueur de la zone indiquent la ligne de texte et la longueur du texte à récupérer.
+
**''Repl. File'': retrieves text in a file. The name of the zone must correspond to the name of the file. The file must be in the ''lgobitmap'' folder and be called ''data_NAMEOFTHEZONE.txt'' (where NAMEOFTHEZONE is the real name of the zone). The row and length settings of the zone indicate the row and length of the text to be retrieved.
**''Input Text'' : permet de créer champs de saisie en interactif pour concevoir des formulaires SOAP au format PDF ou HTML. Lorsque l'utilisateur ouvre le formulaire ainsi généré dans Adobe Reader ou un navigateur internet, celui-ci peut remplir les champs de saisie et envoyer les données sur une URL M-Processing Server dans un point d’entrée Web en cliquant sur le bouton SUBMIT, celui-ci étant en réalité une zone '''Outils /''' ''Input Text'' appelée '''SUBMIT''' (nom système).
+
**''Input Text'': creates interactive input fields to design SOAP forms in PDF or HTML format. As the user opens the form generated in Adobe Reader or a web browser, he can fill in input fields and send data to an M-Processing Server URL in a Web entry point by clicking on the SUBMIT button, which is actually a '''Tools /''' ''Input Text'' zone called '''SUBMIT''' (system name).
**''HyperLink'' : ajoute un lien URL.
+
**''HyperLink'': adds a URL link.
**''Set Lang'' : permet de spécifier le fichier contenant les traductions. Celui-ci doit se trouver dans le dossier ''lgobitmap'' et son nom doit commencer par Translate_. Cette zone particulière ne s’imprime pas dans le document final, elle n’est visible ni à la visualisation ni au re-maquettage. Le nom de cette zone n’est pas très important, en revanche elle doit être déclarée avant toute autre zone Designer nécessitant une traduction. Ensuite, pour chaque zone de type '''Texte''' / ''Translate'' définie dans la maquette, le programme cherchera l'entrée correspondante à la valeur de la zone dans le fichier qui contient les traductions.
+
**''Set Lang'': to specify the file which contains the translations. The latter must be in the ''lgobitmap'' folder and its name must start with Translate_. This zone is not printed in the final document, it cannot be seen for preview nor mapping. The name of this zone is not really important, however it must be declared before any other Designer zone that requires translation. Then, the program searches for the corresponding input in the translation file for each '''Text''' / ''Translate'' zone defined in the template.
**''Message XPS'' : permet d’insérer dans la page en cours un fichier XPS. La zone est en fait un lien vers un fichier XPS présent sur le serveur M-Processing Server. Ce fichier ne doit contenir qu’une seule page et se trouver dans le répertoire ''lgobitmap'' (directement ou dans un sous-répertoire). La casse n’a pas d’importance. Si vous modifiez le fichier XPS, cela impactera tous les projets utilisant celui-ci.
+
**''XPS Message'': Inserts an XPS file in the current page. This zone is a link to an XPS file which is on the M-Processing Server. This file must only contain one page and must also be placed in the ''lgobitmap'' folder (directly or in a sub-folder). It is not case sensitive. If changes are made to the XPS file, it will impact the projects that use it.
**''Fichier XPS'' : par opposition avec les ''Messages XPS'', les fichiers insérés à l’aide de zones de type ''Fichier XPS'' :
+
**''XPS File'': unlike ''XPS Messages'', the files inserted with ''XPS File '' zones:
***peuvent contenir plusieurs pages.
+
***can contain several pages.
***sont des pages entières.
+
***are whole pages.
***créent des pages supplémentaires dans le fichier de sortie.
+
***create additional pages in the output file.
  
  
*'''Métadonnée''' : permet d’indexer le document pour l’archivage (zones non imprimées). La longueur des métadonnées est iilimitée.
+
*'''Metadata''': indexes the document for archiving (non printed data). The length of the metadata is unlimited.
**''Index'' : zone index par défaut et utilisable dans les manipulations XPS et dans M-Storage Manager en tant que critère.
+
**''Index'': index zone by default, used in XPS manipulations and in M-Storage Manager as criterion.
**''MapFrom'' : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir l’expéditeur du mail.
+
**''MapFrom'': index reserved to send emails. The value of this zone will be used to specify the email sender.
**''MapSend'' : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le destinataire du mail.
+
**''MapSend'': index reserved to send emails. The value of this zone will be used to define the address of the recipient.
**''MapCopy'' : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le destinataire en copie.
+
**''MapCopy'': index reserved to send emails. The value of this zone will be used to specify the copy recipient.
**''MapBCopy'' : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le destinataire en copie cachée.
+
**''MapBCopy'': index reserved to send emails. The value of this zone will be used to define the recipient in hidden copy.
**''MapNote'' : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le corps du mail.
+
**''MapNote'': index reserved to send emails. The value of this zone will be used to define the body of the email.
**''MapSubject'' : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le sujet du mail.
+
**''MapSubject'': index reserved to send emails. The value of this zone will be used to define the mail subject.
**''MapOrg'' : index réservé pour l’envoi de fax. La valeur portée par cette zone sera utilisée pour définir l’expéditeur.
+
**''MapOrg'': index reserved to send faxes. The value of this zone will be used to identify the sender.
**''MapTo'' : index réservé pour l’envoi de fax. La valeur portée par cette zone sera utilisée pour définir le destinataire.
+
**''MapTo'': index reserved to send faxes. The value of this zone will be used to define the recipient.
**''MapUser'' : index réservé pour l’envoi de fax. La valeur portée par cette zone sera utilisée pour définir le propriétaire.
+
**''MapUser'': index reserved to send faxes. The value of this zone will be used to identify the owner.
**''MapFormat'' : index réservé pour l’envoi de fax. La valeur portée par cette zone sera utilisée pour définir le format du document (.BMP, .JPG, .EXE, .PAG, .PDF, .TIF, .TIF_FAX, .TXT, .XLS).
+
**''MapFormat'': index reserved to send faxes. The value of this zone will be used to define the document format (.BMP, .JPG, .EXE, .PAG, .PDF, .TIF, .TIF_FAX, .TXT, .XLS).
  
  
*'''Mémoire ''': permet d’insérer et de mémoriser des informations (non imprimées) qui seront reprises et réutilisées par la suite dans la maquette. (Cf. paragraphe [[#cumul-de-données|''<span class="underline">8.1.b. Cumul de données</span>'']])
+
*'''Memory''': inserts and stores information (not printed) which will later be recovered and used in the template. (see [[#cumul-de-données|''<span class="underline">8.1.b. Combined data</span>'']])
**''Texte'' : mise en mémoire d'une information alphanumérique et suppression des espaces après le texte.
+
**''Text'': saves alphanumeric information and deletes the spaces after the text.
**''Texte avec espaces'' : mise en mémoire d'une information alphanumérique en conservant les espaces après le texte.
+
**''Text with spaces'': saves alphanumeric information and keeps the spaces after the text.
**''Entier'' : mise en mémoire d'une information numérique de type entier.
+
**''Integer'': saves integer-type digital information.
**''Flottant'' : mise en mémoire d'une information numérique de type flottant.
+
**''Float'': saves floating-type digital information.
**''SQL'' : mise en mémoire d’une information alphanumérique retrouvée dans une base de données par l’exécution d’une requête SQL.
+
**''SQL'': saves alphanumeric information found in a database using an SQL query.
**''Protect SQL'' : mise en mémoire d’une information alphanumérique retrouvée dans une base de données par l’exécution d’une requête SQL protégée.
+
**''Protect SQL'': saves alphanumeric information found in a database using a protected SQL query.
**''Calcul Mathématique'' : utilisation des zones mémoire pour effectuer un calcul.
+
**''Math. calculation'': uses memory zones to perform a calculation.
**''Remplacement Mémoire'' : impression des informations mises en mémoire.
+
**''Memory Replacement'': retrieves information saved in the memory zone.
**''Memory Translate'' : mise en mémoire d’une information alphanumérique, résultat de la traduction automatique de l’information récupérée dans le spool.
+
**''Memory Translate'': saves alphanumeric information resulting from the automatic translation of the information retrieved in the spooled file.
  
  
*'''Graphique''' : permet de générer un graphique à partir de plusieurs données
+
*'''Graph''': used to generate a graph using multiple elements of data
**Données du graphique.
+
**Graph data.
**Données de l'axe X.
+
**X-axis data.
**Données de l'axe Y.
+
**Y-axis data.
**Titre du graphique.
+
**Graph title.
**Titre de l'axe X.
+
**X-axis title.
**Titre de l'axe Y.
+
**Y-axis title.
**Données de la légende.
+
**Legend data.
**Valeur minimum de l'axe Y.
+
**Minimum value of the Y-axis.
**Valeur maximum de l'axe Y.
+
**Maximum value of the Y-axis.
**Nombre d'intervalles de l'axe Y.
+
**No. of intervals of the Y-axis.
**Arrondir à n près de l'axe Y.
+
**Rounding up/down to the nearest integer number on the Y-axis.
**Origine de l'axe Y.
+
**Intercept of the Y-axis.
<p>La construction d’un graphique est détaillée dans le paragraphe [[#construction-dun-graphique|''<span class="underline">8.6. Construction d’un graphique</span>'']].</p>
+
<p>The construction of a graph is detailed in section [[#construction-dun-graphique|''<span class="underline">8.6. Drawing a graph</span>'']].</p>
<p>Designer a la possibilité de convertir automatiquement les anciens types de graphique en graphiques complexes. Cette fonctionnalité permet de faciliter la conversion d’anciens projets en projets XPS.</p>
+
<p>Designer can automatically convert old graph types in complex graphics. This feature facilitates the conversion of old projects in XPS projects.</p>
  
  
*'''Conversion''' : permet de convertir des données numériques selon les règles de conversion (Euro à Dollar par exemple) définies dans '''Onyx Server''' &gt; '''Gestion des Formats M-Designer''' &gt; '''Gestion des Taux''' (01=E1 ; 02=E2 ; …)
+
*'''Conversion''': converts numerical data according to conversion rules (Euro to Dollar for example) defined in '''Onyx Server''' &gt; '''Managing Designer Formats''' &gt; '''Managing Rates''' (01=E1 ; 02=E2 ; …)
  
*'''XPS PrintTicket''' :
+
*'''XPS PrintTicket''':
**''Copy'' : nombre d’exemplaire à imprimer.
+
**''Copy'': number of copies to print.
**''Input Bin'' : numéro de bac d’entrée (alimentation de papier sur imprimante).
+
**''Input Bin'': input bin number (printer paper feed).
**''Output Bin'' : numéro de bac de sortie.
+
**''Output Bin'': output bin number.
**''Media Type'' : Type de papier (A4, A5, etc...).
+
**''Media Type'': Type of paper (A4, A5, etc...).
**''Force Front Side'' : Conditionne le mode Recto, Recto / Verso lors de l’impression.
+
**''Force Front Side'': determines the mode Simplex/Duplex when printing.
  
  
*'''Commandes''' : permet d’ajouter des données dans le flux d’impression directement en langage d’impression. Tout comme pour les propriétés du projet ''Document'' et ''Page'' (cf. [[#création-dun-projet-1|<span class="underline">4.2. Création d’un projet</span>]]), une zone « ''Commandes'' » permet de définir des données en langage imprimante pour les langages suivants : '''PCL5''', '''APFDS''', '''PDF''', '''ZPL''', '''DPL''', '''TEC''', '''IGP''', '''IPL''' et '''EPL'''. Une zone peut contenir des données pour plusieurs langages différents. Lors de la conversion du XPS vers le langage de sortie, la donnée correspondante au langage de sortie sera utilisée.  [[File:onyxdesigner-image52.png]]
+
*'''Commands''': adds data in the print stream, in printer language. As for the project properties, ''Document'' and ''Page'' (see [[#création-dun-projet-1|<span class="underline">4.2. Creating a project</span>]]), a "''Commands''" zone defines the printer language data for the following languages: '''PCL5''', '''APFDS''', '''PDF''', '''ZPL''', '''DPL''', '''TEC''', '''IGP''', '''IPL''' and '''EPL'''. A zone can contain data for several different languages. When converting the XPS to the output language, the corresponding data to the output language will be used.  [[File:OX_D_39.PNG]]
**<p>''Langage'' : sélection du langage.</p>
+
**<p>''Language'': select language.</p>
**<p>''Activer'' : Active la zone pour le langage sélectionné.</p>
+
**<p>''Activate'': enable zone for the selected language.</p>
**<p>''Pré-'' et ''Post-Imprimé''''' :''' Donnée écrite avant et après la donnée récupérée du spool.</p>
+
**<p>''Pre-'' and ''Post-Printing''''':''' Data written before and after the retrieved data from the spooled file.</p>
<p>L’écriture de données hexadécimales dans le « ''pré-'' » et « ''post-imprimé'' » est possible en utilisant la syntaxe suivante : '''\x''' suivit de la valeur hexadécimale sur deux caractères.</p>
+
<p>Writing hexadecimal data in the "''pre-''" and "''post-printing''" can be done using the following syntax: '''\x''' followed by the hexadecimal value of two characters.</p>
  
===Un Groupe===
+
===Groups===
  
====Définition====
+
====Definition====
  
Un '''groupe''' permet de récupérer plusieurs lignes d’un flux. Il est caractérisé par une ligne de début et une ligne de fin. Sur l’espace de conception, il est représenté en rouge :
+
A '''group''' can be used to retrieve several rows of a spooled file. It is defined by a beginning row and an end row. It is shown in red in the designing space:
  
 
[[File:onyxdesigner-image53.png]]
 
[[File:onyxdesigner-image53.png]]
  
Un '''groupe''' peut être ''fixe'' (lignes de début et de fin fixes) ou ''variable'' (lignes de début et de fin variables).
+
A '''group''' can be ''fixed'' (fixed beginning and end rows) or ''variable'' (variable beginning and end rows).
  
====Créer un groupe fixe====
+
====Creating a fixed group====
  
Pour créer un '''groupe fixe''', les méthodes disponibles sont équivalentes à la création d'une ''zone''.
+
The creation of a '''fixed group''', is similar to the creation of a ''zone''.
  
*Créer un '''groupe''' vide à partir du menu ''Ruban'', sélectionner les données du fichier source et de les ''glisser-déposer'' dans le groupe précédemment créé en maintenant la touche '''Ctrl''' enfoncée.
+
*Create an empty '''group''' from the ''Ribbon'' menu, select the data of the source file, ''drag and drop it'' in the group you created beforehand while holding down the '''Ctrl''' key.
  
[[File:onyxdesigner-image54.png]]
+
[[File:OX_D_40.PNG.png]]
  
 
[[File:onyxdesigner-image55.png]]
 
[[File:onyxdesigner-image55.png]]
  
*Sélectionner directement les données dans la ''vue Spool'' et utiliser le ''glisser-déposer'' à l'endroit désiré sur l'espace de conception pour créer automatiquement un groupe lié à la zone de sélection du spool.
+
*Select data in the ''Spooled File view'', use the ''drag and drop'' method to place it in the designing space to create a group automatically which is linked to the zone you selected in the spooled file.
  
Une fois le groupe créé, il faut renseigner ses informations dans la ''vue des Propriétés'' :
+
Once the group is created, its informations must be specified in the ''Properties view'':
  
[[File:onyxdesigner-image56.png]]
+
[[File:OX_D_41.PNG]]
  
'''Nom''' :
+
'''Name''':
  
*''Nom'' (du groupe) : information interne à Designer, permettant d’identifier les différents objets dans le projet. Ce champ est vide lors d'une création d'un groupe à vide et vaut la valeur de la première ligne de la sélection de données lors de la création d'un groupe à partir de la ''vue Spool''
+
*''Name'' (of the group): this information is used as internal information in Designer, it identifies the different objets in the project. When creating the group from the data tab, this field is empty, its value is given by the data linked to it from the ''Spooled file view.''
  
*'''Position dans le document''' :
+
*'''Position in the document''':
**Permet de modifier le positionnement du groupe dans la page.
+
**Used to change the position of the group on the page.
*'''Position''' :
+
*'''Position''':
**Identification des lignes de début et fin du bloc d’information à récupérer.
+
**Identifies the beginning and end rows in the block of information to recover.
**''Décalage '': position d’impression de la première ligne par rapport au groupe.
+
**''Offset'': prints the position of the first row in relation to the group
*'''Option''' :
+
*'''Option''':
**''Conditions exclusives'' : pour une ligne du groupe, une condition vraie s’exécutera de manière exclusive sans tester les suivantes.
+
**''Exclusive conditions'': For one row of the group, a true condition will be executed exclusively without testing the following rows
**''Tableau '': permet aux zones du groupe de se comporter comme les cellules d’un tableau. Les zones d’une même ligne se retrouvent donc automatiquement collées. Redimensionner ou déplacer une zone impacte la taille te le positionnement des zones adjacentes. De plus, les lignes du groupe (ou conditions) sont visuellement représentées dans la fenêtre de conception. Les zones sont, quant à elles, réparties verticalement en fonction de leur ligne. Cette option est détaillée dans le paragraphe [[#dessiner-un-tableau-dynamique|''<span class="underline">8.5.b. Dessiner un tableau dynamique</span>'']].
+
**''Table'': allows zones of a group to behave like the cells of a table. Zones of the same line find themselves automatically linked. Resizing or moving a zone impacts the size and the position of the adjacent zones. In addition, the group's lines (or conditions) are visually represented in the designing window. The zones are vertically distributed according to their line. This option is detailed in [[#dessiner-un-tableau-dynamique|''<span class="underline">8.5.b. Drawing a dynamic table</span>'']].
*'''Variable''' :
+
*'''Variable''':
**Permet de changer le type de groupe : de fixe (les lignes de début et de fin sont statiques) à variable (les lignes de début et de fin sont variables et définies par des conditions).
+
**Used to change the type of group: from fixed (the beginning and end rows are static) to variable (the beginning and end rows are variable and defined by conditions).
  
Si l’utilisateur demande un aperçu, aucune information ne sera imprimée. En effet, un '''groupe''' ne définit que des bornes entre lesquelles de l’information doit être récupérée dans le spool.
+
If the user requests a preview, no information will be printed. Indeed, a group only defines the limits between which the data is to be retrieved from the spooled file.
  
Les bornes de la zone de sélection des données étant définies grâce aux champs ''ligne de début'' et ''ligne de fin'' du '''groupe''', il convient maintenant de récupérer les données en créant une ou plusieurs ''Zones'' à l'intérieur du '''groupe'''.
+
Given that the limits of the data selection zone are defined using the ''Beginning line'' and ''End Line'' fields of the '''group''', the data must then be retrieved by creating one or more ''Zones'' inside the '''group'''.
  
'''En résumé :'''
+
'''In short:'''
  
*On configure la zone de sélection du bloc de données par la création d'un ''Groupe :''
+
*The selection zone of the data block is configured by creating a ''Group:''
  
 
[[File:onyxdesigner-image55.png]]
 
[[File:onyxdesigner-image55.png]]
  
*On récupère les données à l'intérieur de ce bloc de données par la création d'une ''Zone :''
+
The data is retrieved inside this block of data by creating a ''Zone:''
  
 
[[File:onyxdesigner-image57.png]]
 
[[File:onyxdesigner-image57.png]]
  
*Nous pouvons alors constater que toutes les lignes de notre bloc de données sont récupérées grâce à l'aperçu ('''Ctrl+w'''). Il est possible de créer plusieurs ''Zones'' issues du bloc de données, de les placer dans le ''groupe'' et de conditionner leur mise en page (voir [[#une-condition|''<span class="underline">6.4.c. Une condition</span>'']]).
+
*All the rows of our block of data are retrieved using the preview function ('''Ctrl+w'''). Several ''Zones'' can be created from the data block, they can then be placed in the ''group'' and their formatting can be conditioned (see [[#une-condition|''<span class="underline">6.4.c. Conditions</span>'']]).
  
 
[[File:onyxdesigner-image61.png]]
 
[[File:onyxdesigner-image61.png]]
  
====Créer un groupe variable====
+
====Creating a variable group====
  
Le principe du '''groupe variable''' est identique au ''groupe fixe'' c’est-à-dire qu’il permet de récupérer plusieurs lignes d’information dans le spool. Lorsque la ligne de début ou la ligne de fin du groupe n'est pas toujours au même endroit dans le spool ou que vous voulez que les informations ne soient pas toujours imprimées au même endroit dans la page, vous devez alors utiliser un groupe variable.
+
A '''variable group''' uses the same principles as a ''fixed group'' i.e. it can be used to retrieve several rows of information in the spooled file. A variable group is used when the beginning or end row of the group is not always at the same place in the spooled file or if you do not want the information to always be printed at the same place on the page.
  
Un '''groupe variable''' utilise une ''condition de début'' et une ''condition de fin''. Le groupe commence à s'exécuter quand une condition est validée et il s'arrête lorsqu'une autre condition est validée ou lorsqu'il a exécuté un certain nombre de lignes. Un groupe variable peut-être exécuté une ou plusieurs fois dans la page.
+
A variable group uses a start condition and an end condition. The group begins to run when a condition is validated and it stops when another condition is validated or when it has executed a certain number of rows. A variable group can be executed once or more times in the page.
  
De plus, la position des valeurs imprimées par un groupe variable peut être variable.
+
The position of the values printed by a variable group can be variable.
  
Vous pouvez définir, par exemple, que les valeurs imprimées par un groupe se positionnent après les valeurs imprimées par un autre groupe. Nous parlerons alors de '''positionnement relatif'''.
+
For example, you can define the settings so that the values printed by a group are positioned after the values printed by another group. We refer to this as relative positioning.
  
Vous pouvez aussi définir que le total de la facture s'imprime toujours un centimètre après la dernière ligne de produits (qu'il y ait 5 ou 20 lignes). La position du total facture changera donc en fonction du nombre de lignes de produits que contient cette facture.
+
You can also define the settings so that the invoice total is always printed one centimeter after the last product row (whether there are 5 or 20 rows). The position of the invoice total will therefore change according to the number of product rows in the invoice, for instance.
  
Un groupe peut être '''variable''' en :
+
A group may vary in:
  
*''taille'' : les lignes de début et de fin sont déterminées dynamiquement par conditions.
+
*''size'': the beginning and end rows are dynamically set by the conditions,
*''position d’impression'' : les groupes variables peuvent être chainés les uns à la suite des autres, le groupe n+1 commençant à s’imprimer dès que le groupe n est terminé.
+
*''print position'': variable groups can be linked one after the other so that the following group is printed straight after the current group has been printed.
  
Ces deux types de variable peuvent exister de façon distincte ou conjointe.
+
These two types of variable can exist separately or jointly.
  
Pour créer un groupe variable, il suffit de cliquer sur l’icône [[File:onyxdesigner-image64.png]] puis de dessiner le groupe sur l’espace de conception.
+
To create a variable group, simply click the [[File:OX_D_42.PNG]] icon and draw the group in the designing space.
  
La vue ''Propriétés'' s’affiche pour renseigner les informations du groupe :
+
The ''Properties'' view is displayed so that the group information can be entered:
  
[[File:onyxdesigner-image65.png]]
+
[[File:OX_D_43.PNG]]
  
*'''Nom''' :
+
*'''Name''':
**''Nom'' (du groupe) : information interne à Designer, permettant d’identifier les différents objets dans le projet. Ce champ est vide lors d'une création d'un groupe à vide.
+
**''Name'' (of the group): this information is used as internal information in Designer, it identifies the different objets in the project. When creating the group from the data tab, this field is empty.
  
*'''Position dans le document''' :
+
*'''Position in the document''':
**Permet de modifier le positionnement du groupe dans la page.
+
**Used to change the position of the group on the page.
  
*'''Position''' :
+
*'''Position''':
**''Décalage '': position d’impression de la première ligne par rapport au groupe.
+
**''Offset'': prints the position of the first row in relation to the group.
  
*'''Option''' :
+
*'''Option''':
**''Conditions exclusives'' : pour une ligne du groupe, une condition vraie s’exécutera de manière exclusive sans tester les suivantes.
+
**''Exclusive conditions'': for a row of the group, a true condition will be performed exclusively without testing the following rows.
**''Répéter'' : si la condition de début apparaît plusieurs fois, le groupe s'exécutera plusieurs fois à condition que la condition de fin ait été validée entre temps.
+
**''Repeat'': if the start condition appears several times, the group will run several times provided that the end condition has been validated in the meantime.
**''MapOffice'' : permet de vérifier la conception d’un groupe MapOffice (voir la documentation Connect pour la conception d’un document Office).
+
**''MapOffice'': used to check the design of a MapOffice group (see the Connect documentation on designing Office documents).
**''Tableau '': permet aux zones du groupe de se comporter comme les cellules d’un tableau. Les zones d’une même ligne se retrouvent donc automatiquement collées. Redimensionner ou déplacer une zone impacte la taille te le positionnement des zones adjacentes. De plus, les lignes du groupe (ou conditions) sont visuellement représentées dans la fenêtre de conception. Les zones sont, quant à elles, réparties verticalement en fonction de leur ligne.
+
**''Table'': allows zones of a group to behave like the cells of a table. Zones of the same line find themselves automatically linked. Resizing or moving a zone impacts the size and the position of the adjacent zones. In addition, the group's lines (or conditions) are visually represented in the designing window. The zones are vertically distributed according to their line.
  
*'''Variable''' :
+
*'''Variable''':
**Permet de changer le type de groupe : de fixe (les lignes de début et de fin sont statiques) à variable (les lignes de début et de fin sont variables et définies par des conditions).
+
**Used to change the type of group: from fixed (the beginning and end rows are static) to variable (the beginning and end rows are variable and defined by conditions).
**''Espacement'' : Espacement avant l'impression du groupe.
+
**''Spacing'': spacing before the printing of the group.
**''Type de condition d'arrêt'' : Permet de conditionner la fin de l'exécution du groupe variable.
+
**''Type of stop condition'': used to condition the end of the execution of the variable group.
**''Groupe précédent'' : Indique après quel ''groupe fixe'' le ''groupe variable'' s'exécute.
+
**''Previous group'': Indicates after which ''fixed group'' the ''variable group'' is run.
  
===Une Condition===
+
===Conditions===
  
====Condition d'Exécution====
+
====Execution conditions====
  
Les '''conditions d'exécution''' permettent d'exécuter, ou non, l'objet conditionné en fonction d'une ''valeur dans le spool''.
+
'''Execution conditions''' are used to execute, or not to execute, the object conditioned in accordance with a ''value in the spooled file''.
  
Une condition peut s’appliquer à la fois sur une page, un composant, un groupe, une zone, une ligne ou un rectangle.
+
A condition can apply to a page, a component, a group, a zone, a line or a rectangle.
  
Si la condition est validée alors l'objet est exécuté. Dans le cas contraire, aucune autre action n'est réalisée. Pour réaliser deux actions différentes en fonction de la présence ou non d'une valeur de spool, il vous faut donc créer deux objets.
+
If the condition is valid, the object is executed. Otherwise, no further action is taken. In order to complete two different actions depending on the presence of a spooled file value or not, you must create two objects.
  
<span class="underline">Exemple</span> : Vous voulez écrire différemment en noir quand il y a la valeur '''''Facture''''' et en rouge quand il y a la valeur '''''Avoir''''' dans une ligne de spool. Vous créez alors une zone avec une police noire quand il y a '''''Facture''''', et une zone qui utilise une police rouge quand il y a '''''Avoir''''' car la création d’une seule condition dans une même zone : « police noire si '''''Facture''''' et police rouge si '''''Avoir '''''» n’est pas possible.
+
<span class="underline">Example</span>: If you want to write in black for an '''''Invoice''''' value and in red for a '''''Credit Note''''' value in a spooled file row, you need to create two zones. One with a black font when the value is '''''Invoice''''', and one with a red font when the value is '''''Credit Note''''' because you cannot apply two conditions to the same particular zone: "black font if '''''Invoice''''' and red font if '''''Credit Note'''''" is not possible.
  
Les conditions sont gérées différemment si l'objet est fixe ou s'il appartient à un groupe. En effet, dans un groupe, la condition est nommée et elle est rattachée au groupe. Nous pouvons donc associer plusieurs objets à une même condition sans devoir ressaisir celle-ci à chaque fois.
+
The conditions are managed differently if the object is fixed or if it belongs to a group. Indeed, in a group, the condition is named and linked to the group. Therefore, we can associate multiple objects to a single condition without having to re-enter the latter each time.
  
====Condition de début====
+
====Start condition====
  
La '''condition de début''' détermine la première ligne d'exécution du ''groupe variable''. Le groupe commence à s'exécuter sur la ligne où la condition de début est vraie.
+
The '''start condition''' defines the first row for the execution of the ''variable group''. The group begins to run on the row where the start condition is true.
  
Onyx Server teste la validité de la condition à partir de la première ligne du spool (ligne 1). Dès que la condition est vérifiée, le groupe commence à s'exécuter. Il s'arrête lorsque la ''condition de fin'' est vérifiée à son tour.
+
Onyx Server tests the validity of the condition from the first row of the spooled file (row 1). As soon as the condition is verified, the group begins to run. It stops when the ''end condition'' is also verified.
  
Il est également nécessaire de définir au niveau de la '''condition de début''' si le groupe est imprimé de manière ''fixe'' sur la page ou s'il est imprimé en ''positionnement relatif'' par rapport à un autre groupe. Il est aussi possible de choisir que le groupe s'imprime un centimètre après la fin d'un autre groupe.
+
The '''start condition''' is also used to define if the group is to be printed at a ''fixed'' position on the page or in ''relative positioning'' in relation to another group. It is also possible to set it so that the group is printed one centimeter after the end of an other group.
  
Si la condition de début de groupe n'est vérifiée sur aucune des lignes du spool, le groupe n'est pas exécuté.
+
If the start condition for the group is not verified on any of the rows of the spooled file, the group is not executed.
  
Si la condition de début est vérifiée sur plusieurs lignes du spool, le groupe ne s'exécute qu'une seule fois : à partir de la première ligne où la condition est vérifiée.
+
If the start condition is verified on several rows of the spooled file, the group runs only once: from the first row where the condition is verified.
  
====Condition de fin====
+
====End condition====
  
La ligne de fin d'un ''groupe variable'' peut être définie de deux manières :
+
The end row of a  ''variable group'' can be defined in two ways:
  
*nombre de lignes d'exécution,
+
*number of execution rows,
*condition de fin.
+
*end condition.
  
En connaissant le nombre de lignes que doit exécuter le groupe variable, Il est alors possible de paramétrer ce nombre en entrée après avoir coché ''Nombre de lignes''.
+
By knowing the number of rows for which the variable group must run, it is possible to set the input number after you have checked the ''Number of lines'' box.
  
La condition d'arrêt n'est pas un test de comparaison par rapport à une valeur présente dans le spool mais le nombre de ligne après lesquelles le groupe s'arrête.
+
The stop condition does not consist in a comparison test in relation to a value present in the spooled file but in a comparison test in relation to the row number after which the group stops.
  
La '''condition de fin''' détermine la dernière ligne d'exécution du ''groupe variable''. Le groupe arrête de s'exécuter sur la ligne où la condition de fin est vraie. De plus, cette ligne peut être ''exclue'' (non exécutée) ou ''incluse'' (exécutée).
+
The '''end condition''' defines the last row for the execution of the ''variable group''. The group stops running on the row where the end condition is true. This row can be ''excluded'' (non executed) or ''included'' (executed).
  
====Condition Exclusive====
+
====Exclusive condition====
  
Dans un groupe, il est possible de gérer plusieurs conditions. Par défaut, il y en a une seule qui est la condition ''Aucune'' et qui s'applique pour toutes les nouvelles zones créées.
+
In a group, it is possible to manage several conditions. By default, there is only one which is the None condition that applies for all newly created zones. That condition is always TRUE (valid).
  
'''<span class="underline">Exemple</span> :'''
+
'''<span class="underline">Example</span>:'''
  
Dans un groupe contenant des lignes de produit, il peut y avoir des lignes de sous-totaux. Il est possible d’utiliser plusieurs zones pour imprimer ces différents types de ligne (pour mettre les sous-totaux en gras par exemple) grâce à une condition.
+
In a group containing product rows, there may be rows of sub-totals. It is possible to use several zones to print these different types of rows (to display the sub-totals in bold for example) using a condition.
  
Ici, il y a donc, à la base, deux conditions : une condition ''Sous-total'' à laquelle est rattachée au moins une zone qui imprime en gras et la condition ''Aucune ''à laquelle est rattachée la zone qui écrit en standard pour les lignes de produit.
+
In this case there are basically two conditions: a ''Sub-total'' condition, which is linked to at least one zone that prints in bold and the ''None'' condition, which is linked to the zone that has standard writing for the product rows.
  
Si le groupe fonctionne en '''conditions exclusives''', une seule condition est appliquée par ligne, même si plusieurs sont vraies (seule la première créée est appliquée). Les lignes de produit sont imprimées en standard par la zone sous la condition ''Aucune'' et les lignes de sous-totaux sont imprimées en gras par la zone sous la condition &quot;Sous-total&quot;.
+
If the group operates using '''exclusive conditions''', one single condition is applied per row, even if several are true (only the first created condition is applied). The product rows are printed as standard by the zone under the ''None'' condition and the rows of sub-totals are printed in bold by the zone under the &quot;Sub-total&quot;. condition.
  
Si le groupe fonctionne en '''conditions non exclusives''', toutes les conditions vérifiées sont appliquées par ligne. Dans ce cas, les lignes de sous-totaux sont imprimées deux fois, une fois en gras par la zone sous la condition ''Sous-total'' et une fois en standard par la zone sous la condition ''Aucune''. En effet, la condition ''Aucune'' est toujours vraie.
+
If the group operates using '''non-exclusive conditions''', all the verified conditions are applied by row. In this case, the sub-total rows are printed twice, once in bold by the zone under the ''Sub-total'' and once as standard by the zone under the ''None'' condition. Indeed, the ''None'' is always true as mentioned before.
  
Le fonctionnement en '''conditions non exclusives''' est très peu utilisé. Il oblige à ajouter dans les filtres d'une condition les conditions inverses des autres conditions. Dans ce type de fonctionnement, la condition ''Aucune'' n'est pas utilisée. Il sert uniquement à répéter l'impression d'une information, ou à imprimer sur deux lignes des informations figurant sur une même ligne de spool.
+
If the group operates using '''non-exclusive conditions''', all the verified conditions are applied by row. In this case, the sub-total rows are printed twice, once in bold, by the zone with the ''Sub-total'' condition and once in standard setting by the zone with the ''None'' condition. Indeed, the ''None'' condition is always true as mentioned before.
  
La condition ''Aucune'' ne peut pas être supprimée. Si vous ne souhaitez pas l'utiliser, il faut n'y rattacher aucun objet.
+
The ''None'' condition cannot be deleted. If you do not want to use it, do not link it to an object.
  
====Type de comparaison====
+
====Comparison type====
  
Lors du paramétrage des conditions, vous pouvez tester :
+
When setting the conditions, you can test:
  
 
<ul>
 
<ul>
<li><p>L'existence dans la ligne : '''il y a''' dans une ligne ou dans toute la page.</p></li>
+
<li><p>The existence in the row: '''there is''' in a row or in the entire page.</p></li>
<li><p>L'absence dans la ligne : '''il n'y a''' pas dans une ligne ou dans toute la page.</p></li>
+
<li><p>The non-existence in the row: '''There is not''' in a row or in the entire page.</p></li>
<li><p>La supériorité stricte (numérique) : '''&gt;.'''</p></li>
+
<li><p>Strictly greater than (numerical): '''&gt;.'''</p></li>
<li><p>L'égalité ou la supériorité (numérique) : '''=&gt;.'''</p></li>
+
<li><p>Equal to or greater than (numerical): '''=&gt;.'''</p></li>
<li><p>L'infériorité stricte (numérique) : '''&lt;.'''</p></li>
+
<li><p>Strictly less than (numerical): '''&lt;.'''</p></li>
<li><p>L'égalité ou l'infériorité (numérique) : '''=&lt;.'''</p></li>
+
<li><p>Equal to or less than (numerical): '''=&lt;.'''</p></li>
<li><p>Le numéro de la page.</p></li>
+
<li><p>The number of the page.</p></li>
<li><p>Le numéro de la ligne.</p></li></ul><p></p><p>Ces tests permettront à Designer de valider ou pas une condition.</p><p></p>
+
<li><p>The number of the row.</p></li></ul><p></p><p>These tests will allow Designer to validate or not to validate a condition.</p><p></p>

Version actuelle datée du 29 août 2019 à 13:06

Autres langues :
English • ‎français

Dynamic Part (Map Tab)

Definition

The Map part of a project corresponds to the dynamic part of designs that are made according to the datastreams processed by the template. The main elements which can be placed in this part are data files printable information.

To design this part, select the "Map F" tab (and "Map B" for the duplex of the document). In this view, elements of the "Draw" part are displayed as watermarks so that positioning the data to be printed is easier.

"Spooled File"

To retrieve and identify data to be printed, designing a Designer project is done using an example file. This example file is an image of the production spooled file to format.

Designer supports two types of data files in native mode: paginated text files and XML files in Mapping format. Input file types are configured in the project properties.

Designer processes files with .PAG or .TXT extensions. Text files usually have a ".PAG" extension because they need to be paginated. Text files can be paginated by running the "MAPPAGIFS" command in Onyx Server where an argument specifying the number of lines per page ("Overflow") will be given.

XML files need to respect a particular syntax so that the application can properly process them. (see 6.3 XML Mode: syntax and specifications).

To open and display an example file in DESIGNER, the spooled file view needs to be activated in the Display Menu:

OX D 28.PNG

In the "Home" tab, click on OX D 29.PNG and select the file you want to load in the application.

The spooled file view then displays the data from the spooled file to format.

Onyxdesigner-image35.png

OX D 30.PNG

To help you design your project, you can preview the result without having to print the document. To do so, click on the Preview button in the Home menu.

XML: syntax and specifications

In XML mode, the design principles are the same and are put in application using an example file loaded in the application.

As stated in 4.2. Creating a project, to load a .xml document, it is important not to forget to go to the project Properties and check that in Parameters > Mode = XML.

OX D 31.PNG

The Spooled file view is then called the XML view and displays the content of the file in a tree view.

Onyxdesigner-image38.png

Data structure

XML files that are processed by Designer in native mode have to respect a specific pattern and syntax, such as:

<page name="..."> … </page> tags mark out the pages of the document. In the last example, there is only one page.

  • <field name="...">value1</field> tags correspond to unit-based information (the equivalent of ‘zones’/'fields' in Designer).
  • <group name="..."> … </group> tags refer to a particular number of lines which contain zones, such as a ‘group’ in Designer.
  • <line name="…"> … <line> tags correspond to the lines inside of these groups.

If we were to use this structure with a paper invoice:

  • <page name="..."> … </page> corresponds to the pages of the invoice.
  • <group name="..."> … </group> marks out the body of the invoice (from the first line to the last).
  • <line name="…"> … <line> describes every line in the body of the invoice.
  • <field name="...">value1</field> can correspond to two things:
    • If this tag is on the outside of a group, it corresponds to unit-based information in the invoice. In which case, value1 corresponds to the invoice number in the header, for instance, or to the client number, the type of invoice, etc.
    • If this tag is inside a group, value1 corresponds to the value of the zone in the line. For instance, the product code, its name, price, etc.

XML pattern specifications

The specifications needed for Designer to process the file are the following:

  • The XML header needs to specify the file encoding.

    Example : <?xml version="1.0" encoding="UTF-16" standalone="yes" ?>

  • The root tag of XML data needs to be called doc.

  • All tags mentioned hereafter need to have at least one attribute named name. Information will be identified, retrieved and formatted by the application via the use of this attribute.

  • The tags and attributes names are case-sensitive and need to be written in lowercase letters.

  • For the application to access it, data must be placed in pages in between the <page name="…"> and </page> tags. One document can contain several pages.

  • Inside a page, data is organised per unit-based fields (balise <field name="…">) or per information groups (balise <group name="…">).

  • Information groups are composed of lines (balise <line name="…">).

  • The lines contain unit-based informations (balise <field name="…">).

Here is an example of an XML file:

Onyxdesigner-image40.png

XML data can be placed on the outside of a page as information linked to the overall document and not to the page in particular. However this data will not be accessible to Designer and thus cannot be processed to design the document. Nonetheless, this data can be used in the M-Processing Server engine.

XML view in Designer

Onyxdesigner-image41.png

An XML example file is loaded in DESIGNER in the same way that is use to load a text file. In the XML view, data is displayed as a list of elements.

Page break on an XML field value

In the Proprieties of a group, generating a page break can now be triggered based on the change in value of the XML field.

For example:

<group name="groupe">
<line name="ligne">
<field name="id">1</field>
<field name="data"> data </field>
</line>
<line name="ligne">
<field name="id">1</field>
<field name="data"> data </field>
</line>
<line name="ligne">
<field name="id">2</field>
<field name="data"> data </field>
</line>
<line name="ligne">
<field name="id">2</field>
<field name="data"> data </field>
</line>

</group>

In this example, if the field used to generate a page break is the field "id" then the page break will be generated after the execution of the second line.

There are several options in the interface for the Page break parameter:

OX D 32.PNG

OX D 33.PNG

OX D 34.PNG

OX D 35.PNG

  • None: the group does not generate any page break.
  • Limit: the group triggers a page break based on a positioning limit.
  • XML Field: the group triggers a page break based on the change in value of an XML field.
  • Limit and XML Field: the group triggers a page break based on a positioning limit and on a change in value of an XML field.

When generating automatic page breaks, managing the recovery of headers is possible with the options "Header" and "Last header":

OX D 36.PNG

  • Header: to choose the name of the line of the XML file which acts as header.
  • Last header: if checked, only the last header is kept. The box is checked by default.

When generating a page break, the last header (or all of the above headings, if the option is unchecked) are used at the start of the new page.

In the XML file, if two header lines follow each other, they are considered as one single header.

If a page break is triggered just after a header line, that header line is not printed and is moved to the next page.

Edit a variable list of items as a table

To display a list of items in an XML group as a table, the script tool must be used.

The rowtotable feature rearranges the lines of a group so as to obtain a horizontal distribution of the elements.

Syntax:
rowtotable(name of the group, maximal number of columns in the table);

The rowtotable feature has two settings:

  • Name of the group: contains the name of the group to be reorganized in a table, framed by double quotes.
  • Maximal number of columns in the table: Maximal number of columns in the table.

Note: All the lines of a group should have the same name.

For example:

<group name="invoice">
<line name="item">
<field name="name">item 1</field>
</line>
<line name="item">
<field name="name">item 2</field>
</line>
<line name="item">
<field name="name">item 3</field>
</line>
<line name="item">
<field name="name">item 4</field>
</line>
<line name="item">
<field name="name">item 5</field>
</line>
<line name="item">
<field name="name">item 6</field>
</line>
<line name="item">
<field name="name">item 7</field>
</line>
<line name="item">
<field name="name">item 8</field>
</line>
</group>

To rearrange this group in a three-column table, use the following script:

rowtotable("invoice",3);

This script will effectively change the group which then becomes:

<group name="invoice">
<line name="item">
<field name="name_1">item 1</field>
<field name="name_2">item 2</field>
<field name="name_3">item 3</field>
</line>
<line name="item">
<field name="name_1">item 4</field>
<field name="name_2">item 5</field>
<field name="name_3">item 6</field>
</line>
<line name="item">
<field name="name_1">item 7</field>
<field name="name_2">item 8</field>
</line>
</group>

Dynamic elements

This part of the documentation presents the basic elements that can be added in the dynamic part of a project in order to get started with the main features of the application.

Zone

Definition

A zone is the main element, which allows you to retrieve information in the input data in order to position and format them in the final graphical document.

In text mode, the information is identified by the following three elements of data:

  • a row number,
  • a column number,
  • a length.

In XML mode, it is identified by the name of the XML field (field tag).

A zone can only read one row at a time.

It is represented in the following two ways in the designing space:

  • The zone is empty, no data is associated with it: an icon appears in its upper right corner.

Onyxdesigner-image47.png

  • The zone is associated with an element of data, it appears without an icon.

Onyxdesigner-image48.png

A zone is identified by its name, defined in the properties window (see a.2 Creating a zone for more details).

Creating a zone

There are two methods you can use to create a zone:

  • Select the corresponding icon and its type in the Data tab and hold the button of your mouse down where you want the element to be placed. This method creates an empty zone. To link the zone to an element of data from the source file, select the data in the spooled file view (see the second method below) then, drag and drop it in the zone which was created previously, by holding down the Ctrl key.

    OX D 37.PNG

Select the data to be recovered in the Spooled file view then, drag and drop it where you want, in the designing space to create a zone automatically linked to the data you selected.

Onyxdesigner-image50.png

Once the zone has been created, select it and display the 'Properties view to fill in the following information:

OX D 38.PNG

  • Name :

    • Name (of the zone): this information is used as internal information in Designer, it identifies the different objets in the project. When creating the zone from the data tab, this field is empty, its value is given by the data linked to it from the Spooled file view.

    • Text printed before/after: to add text before and/or after the retrieved information.

  • Position :

    • Position of the information in the data spooled file: column, length, beginning line.

    • This is also used to extract a certain quantity of information in XML mode.

  • Position in the document:

    • to change the position of the zone on the page.

  • Data Type:

    • defines how the Designer application processes the information retrieved (see a.3 Types of zones).

  • Font:

    • To set all formatting options: font, size, colour, framing, orientation, etc.

Types of zones

The Designer application offers various processing options according to the type of data to process:

  • Text: prints plain text.
    • Normal: copies the values located in the positions defined by the zone whether they are letters, numbers or blanks.
    • Optimized: copies the characters located in these positions except for blanks at the beginning and end of these positions. The framing to the left or to the right is always observed. There is no shift due to blanks in the spooled file.
    • Substitution: used to replace a value of the spooled file with another one stored in a file called replacevalue.txt. By default, this file is in its blank state in the Designer installation folder. To carry out the substitutions, place it in the lgobitmap folder. The folder needs to contain the values to be replaced followed by replacement values and separated by a tab. This sub-type is explained in further detail in 8.3. Replacing characters.
    • Translate: substitutes a value for its translation in another language. A zone type Tools / Set Lang is used beforehand to define the file with the translated values. The program searches for the corresponding input in the translation file for each Text / Translate zone which is defined in the template. The file must be placed in the lgobitmap folder and its name must start with "Translate_".
    • Compressed: zone displaying the recovered text into the dedicated space. The text occupies the width of the zone and adjusts the font size between a maximum and a minimum so that the text covers all the dedicated space.. If the minimum font size does not display the entire text, it is truncated and followed by "…".
    • Truncated: zone displaying the recovered text into the space allowed by the zone width. If the text cannot be fully displayed, it is truncated followed by "...".


  • Barcode: encodes and prints barcodes. The list of available barcodes can be seen in 8.1 Barcodes


  • Tools: inserts a page number, images, … but also displays the total number of pages, pages in the current batch, …
    • Page Number: numbers each edited page. The page number is not necessarily the same as that in the original spooled file. If M-Processing Server is set to exclude certain pages, the number of edited pages will not necessarily be the same as the number of pages in the original spooled file.
    • Batch Number: displays the batch number.
    • Page Number (Batch): displays the page number in the batch.
    • Total Number of Pages: displays the number of pages in the document.
    • Total Number of Batches: displays the number of batches in the document.
    • Total Number of Pages (Batch): displays the number of pages in the current batch.
    • Specific replacement: replaces a value in the spooled file processed by another value which was retrieved in a file. For example, the customer number displayed in the spooled file can be replaced with the customer's name which is retrieved in a database file.
    • Image: prints out a different image depending on the value of the spooled file.
    • Export: this type of zone allows you to retrieve information from the spooled file and export it to a physical file.
    • Repl. File: retrieves text in a file. The name of the zone must correspond to the name of the file. The file must be in the lgobitmap folder and be called data_NAMEOFTHEZONE.txt (where NAMEOFTHEZONE is the real name of the zone). The row and length settings of the zone indicate the row and length of the text to be retrieved.
    • Input Text: creates interactive input fields to design SOAP forms in PDF or HTML format. As the user opens the form generated in Adobe Reader or a web browser, he can fill in input fields and send data to an M-Processing Server URL in a Web entry point by clicking on the SUBMIT button, which is actually a Tools / Input Text zone called SUBMIT (system name).
    • HyperLink: adds a URL link.
    • Set Lang: to specify the file which contains the translations. The latter must be in the lgobitmap folder and its name must start with Translate_. This zone is not printed in the final document, it cannot be seen for preview nor mapping. The name of this zone is not really important, however it must be declared before any other Designer zone that requires translation. Then, the program searches for the corresponding input in the translation file for each Text / Translate zone defined in the template.
    • XPS Message: Inserts an XPS file in the current page. This zone is a link to an XPS file which is on the M-Processing Server. This file must only contain one page and must also be placed in the lgobitmap folder (directly or in a sub-folder). It is not case sensitive. If changes are made to the XPS file, it will impact the projects that use it.
    • XPS File: unlike XPS Messages, the files inserted with XPS File zones:
      • can contain several pages.
      • are whole pages.
      • create additional pages in the output file.


  • Metadata: indexes the document for archiving (non printed data). The length of the metadata is unlimited.
    • Index: index zone by default, used in XPS manipulations and in M-Storage Manager as criterion.
    • MapFrom: index reserved to send emails. The value of this zone will be used to specify the email sender.
    • MapSend: index reserved to send emails. The value of this zone will be used to define the address of the recipient.
    • MapCopy: index reserved to send emails. The value of this zone will be used to specify the copy recipient.
    • MapBCopy: index reserved to send emails. The value of this zone will be used to define the recipient in hidden copy.
    • MapNote: index reserved to send emails. The value of this zone will be used to define the body of the email.
    • MapSubject: index reserved to send emails. The value of this zone will be used to define the mail subject.
    • MapOrg: index reserved to send faxes. The value of this zone will be used to identify the sender.
    • MapTo: index reserved to send faxes. The value of this zone will be used to define the recipient.
    • MapUser: index reserved to send faxes. The value of this zone will be used to identify the owner.
    • MapFormat: index reserved to send faxes. The value of this zone will be used to define the document format (.BMP, .JPG, .EXE, .PAG, .PDF, .TIF, .TIF_FAX, .TXT, .XLS).


  • Memory: inserts and stores information (not printed) which will later be recovered and used in the template. (see 8.1.b. Combined data)
    • Text: saves alphanumeric information and deletes the spaces after the text.
    • Text with spaces: saves alphanumeric information and keeps the spaces after the text.
    • Integer: saves integer-type digital information.
    • Float: saves floating-type digital information.
    • SQL: saves alphanumeric information found in a database using an SQL query.
    • Protect SQL: saves alphanumeric information found in a database using a protected SQL query.
    • Math. calculation: uses memory zones to perform a calculation.
    • Memory Replacement: retrieves information saved in the memory zone.
    • Memory Translate: saves alphanumeric information resulting from the automatic translation of the information retrieved in the spooled file.


  • Graph: used to generate a graph using multiple elements of data
    • Graph data.
    • X-axis data.
    • Y-axis data.
    • Graph title.
    • X-axis title.
    • Y-axis title.
    • Legend data.
    • Minimum value of the Y-axis.
    • Maximum value of the Y-axis.
    • No. of intervals of the Y-axis.
    • Rounding up/down to the nearest integer number on the Y-axis.
    • Intercept of the Y-axis.

The construction of a graph is detailed in section 8.6. Drawing a graph.

Designer can automatically convert old graph types in complex graphics. This feature facilitates the conversion of old projects in XPS projects.


  • Conversion: converts numerical data according to conversion rules (Euro to Dollar for example) defined in Onyx Server > Managing Designer Formats > Managing Rates (01=E1 ; 02=E2 ; …)
  • XPS PrintTicket:
    • Copy: number of copies to print.
    • Input Bin: input bin number (printer paper feed).
    • Output Bin: output bin number.
    • Media Type: Type of paper (A4, A5, etc...).
    • Force Front Side: determines the mode Simplex/Duplex when printing.


  • Commands: adds data in the print stream, in printer language. As for the project properties, Document and Page (see 4.2. Creating a project), a "Commands" zone defines the printer language data for the following languages: PCL5, APFDS, PDF, ZPL, DPL, TEC, IGP, IPL and EPL. A zone can contain data for several different languages. When converting the XPS to the output language, the corresponding data to the output language will be used. OX D 39.PNG
    • Language: select language.

    • Activate: enable zone for the selected language.

    • Pre- and Post-Printing: Data written before and after the retrieved data from the spooled file.

Writing hexadecimal data in the "pre-" and "post-printing" can be done using the following syntax: \x followed by the hexadecimal value of two characters.

Groups

Definition

A group can be used to retrieve several rows of a spooled file. It is defined by a beginning row and an end row. It is shown in red in the designing space:

Onyxdesigner-image53.png

A group can be fixed (fixed beginning and end rows) or variable (variable beginning and end rows).

Creating a fixed group

The creation of a fixed group, is similar to the creation of a zone.

  • Create an empty group from the Ribbon menu, select the data of the source file, drag and drop it in the group you created beforehand while holding down the Ctrl key.

Fichier:OX D 40.PNG.png

Onyxdesigner-image55.png

  • Select data in the Spooled File view, use the drag and drop method to place it in the designing space to create a group automatically which is linked to the zone you selected in the spooled file.

Once the group is created, its informations must be specified in the Properties view:

OX D 41.PNG

Name:

  • Name (of the group): this information is used as internal information in Designer, it identifies the different objets in the project. When creating the group from the data tab, this field is empty, its value is given by the data linked to it from the Spooled file view.
  • Position in the document:
    • Used to change the position of the group on the page.
  • Position:
    • Identifies the beginning and end rows in the block of information to recover.
    • Offset: prints the position of the first row in relation to the group
  • Option:
    • Exclusive conditions: For one row of the group, a true condition will be executed exclusively without testing the following rows
    • Table: allows zones of a group to behave like the cells of a table. Zones of the same line find themselves automatically linked. Resizing or moving a zone impacts the size and the position of the adjacent zones. In addition, the group's lines (or conditions) are visually represented in the designing window. The zones are vertically distributed according to their line. This option is detailed in 8.5.b. Drawing a dynamic table.
  • Variable:
    • Used to change the type of group: from fixed (the beginning and end rows are static) to variable (the beginning and end rows are variable and defined by conditions).

If the user requests a preview, no information will be printed. Indeed, a group only defines the limits between which the data is to be retrieved from the spooled file.

Given that the limits of the data selection zone are defined using the Beginning line and End Line fields of the group, the data must then be retrieved by creating one or more Zones inside the group.

In short:

  • The selection zone of the data block is configured by creating a Group:

Onyxdesigner-image55.png

The data is retrieved inside this block of data by creating a Zone:

Onyxdesigner-image57.png

  • All the rows of our block of data are retrieved using the preview function (Ctrl+w). Several Zones can be created from the data block, they can then be placed in the group and their formatting can be conditioned (see 6.4.c. Conditions).

Onyxdesigner-image61.png

Creating a variable group

A variable group uses the same principles as a fixed group i.e. it can be used to retrieve several rows of information in the spooled file. A variable group is used when the beginning or end row of the group is not always at the same place in the spooled file or if you do not want the information to always be printed at the same place on the page.

A variable group uses a start condition and an end condition. The group begins to run when a condition is validated and it stops when another condition is validated or when it has executed a certain number of rows. A variable group can be executed once or more times in the page.

The position of the values printed by a variable group can be variable.

For example, you can define the settings so that the values printed by a group are positioned after the values printed by another group. We refer to this as relative positioning.

You can also define the settings so that the invoice total is always printed one centimeter after the last product row (whether there are 5 or 20 rows). The position of the invoice total will therefore change according to the number of product rows in the invoice, for instance.

A group may vary in:

  • size: the beginning and end rows are dynamically set by the conditions,
  • print position: variable groups can be linked one after the other so that the following group is printed straight after the current group has been printed.

These two types of variable can exist separately or jointly.

To create a variable group, simply click the OX D 42.PNG icon and draw the group in the designing space.

The Properties view is displayed so that the group information can be entered:

OX D 43.PNG

  • Name:
    • Name (of the group): this information is used as internal information in Designer, it identifies the different objets in the project. When creating the group from the data tab, this field is empty.
  • Position in the document:
    • Used to change the position of the group on the page.
  • Position:
    • Offset: prints the position of the first row in relation to the group.
  • Option:
    • Exclusive conditions: for a row of the group, a true condition will be performed exclusively without testing the following rows.
    • Repeat: if the start condition appears several times, the group will run several times provided that the end condition has been validated in the meantime.
    • MapOffice: used to check the design of a MapOffice group (see the Connect documentation on designing Office documents).
    • Table: allows zones of a group to behave like the cells of a table. Zones of the same line find themselves automatically linked. Resizing or moving a zone impacts the size and the position of the adjacent zones. In addition, the group's lines (or conditions) are visually represented in the designing window. The zones are vertically distributed according to their line.
  • Variable:
    • Used to change the type of group: from fixed (the beginning and end rows are static) to variable (the beginning and end rows are variable and defined by conditions).
    • Spacing: spacing before the printing of the group.
    • Type of stop condition: used to condition the end of the execution of the variable group.
    • Previous group: Indicates after which fixed group the variable group is run.

Conditions

Execution conditions

Execution conditions are used to execute, or not to execute, the object conditioned in accordance with a value in the spooled file.

A condition can apply to a page, a component, a group, a zone, a line or a rectangle.

If the condition is valid, the object is executed. Otherwise, no further action is taken. In order to complete two different actions depending on the presence of a spooled file value or not, you must create two objects.

Example: If you want to write in black for an Invoice value and in red for a Credit Note value in a spooled file row, you need to create two zones. One with a black font when the value is Invoice, and one with a red font when the value is Credit Note because you cannot apply two conditions to the same particular zone: "black font if Invoice and red font if Credit Note" is not possible.

The conditions are managed differently if the object is fixed or if it belongs to a group. Indeed, in a group, the condition is named and linked to the group. Therefore, we can associate multiple objects to a single condition without having to re-enter the latter each time.

Start condition

The start condition defines the first row for the execution of the variable group. The group begins to run on the row where the start condition is true.

Onyx Server tests the validity of the condition from the first row of the spooled file (row 1). As soon as the condition is verified, the group begins to run. It stops when the end condition is also verified.

The start condition is also used to define if the group is to be printed at a fixed position on the page or in relative positioning in relation to another group. It is also possible to set it so that the group is printed one centimeter after the end of an other group.

If the start condition for the group is not verified on any of the rows of the spooled file, the group is not executed.

If the start condition is verified on several rows of the spooled file, the group runs only once: from the first row where the condition is verified.

End condition

The end row of a variable group can be defined in two ways:

  • number of execution rows,
  • end condition.

By knowing the number of rows for which the variable group must run, it is possible to set the input number after you have checked the Number of lines box.

The stop condition does not consist in a comparison test in relation to a value present in the spooled file but in a comparison test in relation to the row number after which the group stops.

The end condition defines the last row for the execution of the variable group. The group stops running on the row where the end condition is true. This row can be excluded (non executed) or included (executed).

Exclusive condition

In a group, it is possible to manage several conditions. By default, there is only one which is the None condition that applies for all newly created zones. That condition is always TRUE (valid).

Example:

In a group containing product rows, there may be rows of sub-totals. It is possible to use several zones to print these different types of rows (to display the sub-totals in bold for example) using a condition.

In this case there are basically two conditions: a Sub-total condition, which is linked to at least one zone that prints in bold and the None condition, which is linked to the zone that has standard writing for the product rows.

If the group operates using exclusive conditions, one single condition is applied per row, even if several are true (only the first created condition is applied). The product rows are printed as standard by the zone under the None condition and the rows of sub-totals are printed in bold by the zone under the "Sub-total". condition.

If the group operates using non-exclusive conditions, all the verified conditions are applied by row. In this case, the sub-total rows are printed twice, once in bold by the zone under the Sub-total and once as standard by the zone under the None condition. Indeed, the None is always true as mentioned before.

If the group operates using non-exclusive conditions, all the verified conditions are applied by row. In this case, the sub-total rows are printed twice, once in bold, by the zone with the Sub-total condition and once in standard setting by the zone with the None condition. Indeed, the None condition is always true as mentioned before.

The None condition cannot be deleted. If you do not want to use it, do not link it to an object.

Comparison type

When setting the conditions, you can test:

  • The existence in the row: there is in a row or in the entire page.

  • The non-existence in the row: There is not in a row or in the entire page.

  • Strictly greater than (numerical): >.

  • Equal to or greater than (numerical): =>.

  • Strictly less than (numerical): <.

  • Equal to or less than (numerical): =<.

  • The number of the page.

  • The number of the row.

These tests will allow Designer to validate or not to validate a condition.