ONYX - 9.0 - Utilisation - Fonctionnalités avancées de ONYX Designer/en

Différence entre versions

De MappingDoc
(Page créée avec « This type of barcode is very widespread in Japan. It is already used in the industry, but has also been adopted by the general public eversince mobile phones know how to d... »)
 
(210 révisions intermédiaires par le même utilisateur non affichées)
Ligne 10 : Ligne 10 :
 
====Types of barcodes====
 
====Types of barcodes====
  
*'''EAN 8'''  This barcode is used to track logistics units and identify stock keeping units. The eight characters version is used for small sized packages. The data must contain '''seven digits'''. The eighth character is a check digit which is calculated by the computer.
+
*'''EAN 8'''  This barcode is used to track logistics units and identify stock keeping units. The eight characters version is used for small sized packages. The data must contain '''seven digits'''. The eighth character is a control character which is calculated by the computer.
  
*'''EAN 13'''  This barcode is used to track logistics units and identify stock keeping units. In an EAN 13 code, the first two characters are the identifiers of the country of origin, the other 10 are the data and the last is the check digit which is calculated by the computer. The data must contain '''12 digits'''.
+
*'''EAN 13'''  This barcode is used to track logistics units and identify stock keeping units. In an EAN 13 code, the first two characters indicate the country of origin, the other 10 are data and the last is the control character which is calculated by the computer. The data characters must contain '''12 digits'''.
  
 
<ul>
 
<ul>
<li><p>'''Code 39'''</p><p>This barcode is used to encode alphanumeric data. It is used in almost every industry except the retail sector. The data may be of variable length and may contain letters and digits.</p><p>The information can be of '''any length''' and contain digits, uppercase letters and the "space", "plus sign", "minus sign", "division", "dot", "percentage" and "dollar" characters.</p></li></ul>
+
<li><p>'''Code 39'''</p><p>This barcode is used to encode alphanumeric data. It is used in almost every industry except the retail sector. Data may be of variable length and may contain letters and digits.</p><p>The information can be of '''any length''' and contain digits, uppercase letters and the "space", "plus sign", "minus sign", "division", "dot", "percentage" and "dollar" characters.</p></li></ul>
  
*'''Code 128''' allows general alphanumerical data and ASCII data to be encoded. These codebars are used in numerous industries for stock management purposes. The data is of variable length. The Code 128 C must contain an even number of characters (otherwise a zero is added at the beginning of the barcode) and may only contain digits. The Code 128 B accepts all ASCII characters, whereas the Code 128 A accepts only some of them.  The information to encode can be of '''any length''' and composed of:
+
*'''Code 128''' allows general alphanumerical data and ASCII data to be encoded. These codebars are used in numerous industries for stock management purposes. Data is of variable length. The Code 128 C must contain an even number of characters (otherwise a zero is added at the beginning of the barcode) and may only contain digits. The Code 128 B accepts all ASCII characters, whereas the Code 128 A accepts only some of them.  The information to encode can be of '''any length''' and composed of:
 
**'''''Optimised''''': digits, uppercase letters, lowercase letters, printing or non-printing ASCII characters (0 - 128), and all the function signs and characters provided by the Code 128 in the A, B and C code sets, with systematic length optimisation
 
**'''''Optimised''''': digits, uppercase letters, lowercase letters, printing or non-printing ASCII characters (0 - 128), and all the function signs and characters provided by the Code 128 in the A, B and C code sets, with systematic length optimisation
 
**'''''N/optimised''''': digits, uppercase letters, lowercase letters, printing or non-printing ASCII characters (0 - 128), and all the function signs and characters provided by the Code 128 in the B code set, without length optimisation
 
**'''''N/optimised''''': digits, uppercase letters, lowercase letters, printing or non-printing ASCII characters (0 - 128), and all the function signs and characters provided by the Code 128 in the B code set, without length optimisation
**'''''Digital''''': digits and check character provided by the Code 128 in the C code set, with systematic length optimisation
+
**'''''Digital''''': digits and control character provided by the Code 128 in the C code set, with systematic length optimisation
*'''Code 2/5 interleaved'''  This encoding of numbers is used to enter information about the density of products, in response to precise specifications.  The security of this symbology is weak, except when using optional security measures (check character, messages of fixed length that are checked when scanning).
+
*'''Code 2/5 interleaved'''  This encoding of numbers uses density to meet precise characteristics.  The security of this symbology is weak, except when using optional security measures (control character, messages of fixed length that are checked when scanning).
 
**Although the '''length of the barcode is unlimited''' in terms of the number of characters, the principle of interleaving requires the following:
 
**Although the '''length of the barcode is unlimited''' in terms of the number of characters, the principle of interleaving requires the following:
**An even number of digits when the optional check character is not used
+
**An even number of digits when the optional control character is not used
**An odd number of digits when the optional check character is used
+
**An odd number of digits when the optional control character is used
 
*'''Code 2/5 industrial'''  This old symbology was frequently used in industry, particularly the automotive industry. The security of this symbology is weak, unless it is used with messages of fixed-length and checked when scanning.
 
*'''Code 2/5 industrial'''  This old symbology was frequently used in industry, particularly the automotive industry. The security of this symbology is weak, unless it is used with messages of fixed-length and checked when scanning.
 
The data must contain '''1 to 32 digits'''
 
The data must contain '''1 to 32 digits'''
**Digital information encoding that is designed for its ease of use
+
**The digital information encoding is designed with regards to ease of use
 
**Development or modification of pre-existing applications
 
**Development or modification of pre-existing applications
  
*'''EAN128 Alpha n/optimised'''  Code GS1-128  Used to identify dispatch units (pallets or cartons, possibly).
+
*'''EAN128 Alpha n/optimised'''  Code GS1-128  Used to identify dispatch units (pallets or cardboard boxes).
 
**Encoding of alphanumeric information,
 
**Encoding of alphanumeric information,
 
**Variable length,
 
**Variable length,
**Continuous bidirectional self-checking.
+
**Continuous bidirectional self-controlled.
  
*'''EAN128 digital''' Code GS1-128  Used to identify dispatch units (pallets or cartons, possibly)..
+
*'''EAN128 digital''' Code GS1-128  Used to identify dispatch units (pallets or cardboard boxes)..
 
**Encoding of digital information,
 
**Encoding of digital information,
 
**Variable length,
 
**Variable length,
**Continuous bidirectional self-checking.
+
**Continuous bidirectional self-controlled.
  
*'''PDF 417'''  Used in every sector of activity. The PDF417 code is the only two-dimensional barcode that can be scanned using a simple linear scan (1D) due to the fact that, as stacked linear symbology, it has the features of linear barcodes as well as those of  two-dimensional ones.
+
*'''PDF 417'''  Used in every business sector. The PDF417 code is the only two-dimensional barcode that can be scanned using a simple linear scan (1D) due to the fact that, as stacked linear symbology, it has the features of linear barcodes as well as those of  two-dimensional ones.
 
**Two-dimensional,
 
**Two-dimensional,
 
**Alphanumeric 2000 length,
 
**Alphanumeric 2000 length,
 
**Eight levels of security.
 
**Eight levels of security.
  
*'''Data Matrix''' This code can encode up to 2335 characters. Various types of encoding are available (ASCII, C40, text and Base 256). The default mode is the automatic mode which can be used to optimise the encoding by swapping from one mode to the other depending on the data. It also has an error detection/correction system to repair any damage.
+
*'''Data Matrix''' This code can encode up to 2335 characters. Various types of encoding are available (ASCII, C40, text and Base 256). The default mode is the automatic mode which can be used to optimise the encoding by switching from one mode to the other depending on the data. It also has an error detection/correction system to repair any damage.
 
*'''Postnet'''  The '''Postnet''' barcode is used by the United States postal service. It has been replaced by the USPS or Intelligent Mail barcode.
 
*'''Postnet'''  The '''Postnet''' barcode is used by the United States postal service. It has been replaced by the USPS or Intelligent Mail barcode.
 
*'''Planet'''  The '''Planet''' barcode is used by the United States postal service. It has been replaced by the USPS or Intelligent Mail barcode.
 
*'''Planet'''  The '''Planet''' barcode is used by the United States postal service. It has been replaced by the USPS or Intelligent Mail barcode.
*'''QR Code'''  It has the particular feature of being able to encode a very large number of characters (7336 in numeric mode). This type of barcode is very widespread in Japan. There are four types of encoding (alphanumeric, numeric, bytes, Kanji) for compressing the data by varying degrees depending on the type of data. By default, an automatic mode is used to choose the encoding method that will give the best compression rate (switch of mode while processing). Error detection/correction codes are added to the data, which are used to prevent the loss of data in the event of damage. There are four levels of error detection/correction.'''<br />'''
+
*'''QR Code'''  It has the particular feature of being able to encode a very large number of characters (7336 in numeric mode). This type of barcode is very widespread in Japan. There are four types of encoding (alphanumeric, numeric, bytes, Kanji) to compress data depending on the type of data. By default, an automatic mode is used to choose the encoding method that will give the best compression rate (switch of mode while processing). Error detection/correction codes are added to the data, which are used to prevent the loss of data in the event of damage. There are four levels of error detection/correction.'''<br />'''
  
*'''MaxiCode''' The '''MaxiCode''' barcodes, developed by UPS - United Parcel Service, are defined by the ISO 16023-2000 standard. Unlike the others, it has a set size, which limits the number of characters to be encoded. Indeed, the maximum number of characters is 93 alphanumeric characters or 138 numeric characters. There are two types of encoding. The first only encodes a string of characters containing data according to a conventional type of encoding and a standard type of error detection/correction. The second type encodes the following three fields in addition to the string of data: the country which is encoded using 3 digits according to the ISO 3166 standard, the postal code which is encoded using 6 characters and finally a type of service using 3 digits. These three fields are encoded using an extended error correction mode contrary to the string of data whose correction mode is standard.
+
*'''MaxiCode''' The '''MaxiCode''' barcodes, developed by UPS - United Parcel Service, are defined by the ISO 16023-2000 standard. Unlike the others, its size is fixed, which limits the number of characters to be encoded. Indeed, the maximum number of characters is 93 alphanumeric characters or 138 numeric characters. There are two types of encoding. The first only encodes a string of characters, containing data, according to a conventional type of encoding and a standard type of error detection/correction. The second type encodes the following three fields in addition to the string of data: the country which is encoded using 3 digits according to the ISO 3166 standard, the postal code which is encoded using 6 characters and finally a type of service using 3 digits. These three fields are encoded using an extended error correction mode contrary to the string of data whose correction mode is standard.
 
*'''Japan Postal''' The '''Japan Postal''' barcode is used by the Japanese postal service.
 
*'''Japan Postal''' The '''Japan Postal''' barcode is used by the Japanese postal service.
*'''Codabar (NW7)'''  In Japan, the Codabar Monarch is also called NW-7. The relatively simple composition of the Codabar Monarch means that it is frequently used to encode serial numbers for applications involving blood bank transfusion services, home deliveries, libraries, etc.
+
*'''Codabar (NW7)'''  In Japan, the Codabar Monarch is also called NW-7. Because of its relatively simple composition, the Codabar Monarch is frequently used to encode serial numbers in blood bank transfusion services, home deliveries, libraries, etc.
 
*'''USPS''' '''USPS''' = '''U'''nited '''S'''tates '''P'''ostal '''S'''ervice. The more commonly used official name is the '''Intelligent Mail Barcode'''. It is the new American postal barcode, which is to replace the Planet and the Postnet. The Intelligent Mail barcode is a 4-state barcode composed of 65 bars.
 
*'''USPS''' '''USPS''' = '''U'''nited '''S'''tates '''P'''ostal '''S'''ervice. The more commonly used official name is the '''Intelligent Mail Barcode'''. It is the new American postal barcode, which is to replace the Planet and the Postnet. The Intelligent Mail barcode is a 4-state barcode composed of 65 bars.
*'''UPC-A'''  The '''UPC-A''' barcode est un équivalent américain du code à barres EAN13, dont le premier chiffre serait 0. is a U.S. equivalent of the EAN13 barcode, the first digit of which is 0. It is used primarily to identify products in store. The UPC-A barcode can encode 11 digits, a number system, five digits for the Manufacturing Code and five digits for the product code. A 12th digit is calculated using the first eleven in order to act as a check digit.
+
*'''UPC-A'''  The '''UPC-A''' barcode is an american counterpart of the EAN13 barcode, with a 0 as its first number. It is used primarily to identify products in store. The UPC-A barcode can encode 11 digits, a number system with five digits for the Manufacturing Code and five digits for the product code. A 12th digit is calculated using the first eleven in order to act as a control character.
*'''UPC-E'''  The '''UPC-E''' barcode is a short version of the UPC-A barcode, in which the ten digits of the UPC-A barcode (manufacturing and product code) are reduced to six digits by removing superfluous zeros. With the Number System and the check digit, a UPC-E barcode is therefore composed of eight digits. M-Designer can be used to include UPC-A (11 digits) barcodes in the UPC-E format as well as a code reduced to 6, 7 or 8 digits.
+
*'''UPC-E'''  The '''UPC-E''' barcode is a short version of the UPC-A barcode, in which the ten digits of the UPC-A barcode (manufacturing and product code) are reduced to six digits by removing unnecessary zeros. With the Number System and the control character, a UPC-E barcode is therefore composed of eight digits. Designer can be used to include UPC-A (11 digits) barcodes in the UPC-E format as well as a code reduced to 6, 7 or 8 digits.
  
*'''MSI'''  The '''MSI''' barcode is used primarily for stock management, marking storage containers and shelving in warehouse environments. An MSI barcode uses one or two check keys calculated using the Modulo 10 or Modulo 11 methods and is used to encode numeric values of indefinite size. Designer can encode using either a Modulo 10 check key, a Modulo 11 check key, two Modulo 10 check keys, or even a Modulo 11 check key followed by a Modulo 10 check key.
+
*'''MSI'''  The '''MSI''' barcode is used primarily for stock management, marking storage containers and shelving in warehouse environments. An MSI barcode uses one or two control keys calculated using the Modulo 10 or Modulo 11 and is used to encode numeric values with non fixed sizes. Designer can encode using either a Modulo 10 control key, a Modulo 11 control key, two Modulo 10 control keys, or a Modulo 11 control key followed by a Modulo 10 control key.
  
====The size of the barcode====
+
====Size of the barcode====
  
 
The size of the barcode can be defined in the following two ways:
 
The size of the barcode can be defined in the following two ways:
  
*The first involves choosing the ''Fit the area'' option in the ''Properties view'', lin which case the barcode will adjust as well as possible to the size of the zone, according to its standard
+
*The first involves choosing the ''Fit the area'' option in the ''Properties view'', in which case the barcode will adjust as well as possible to the size of the zone, according to its standard
 
*If the Fit the area option is unticked, the size of the barcode can be set by the size of the font of the zone. This size affects the width and the height of the code. The height can be reduced by reducing the percentage of the height setting of the zone.
 
*If the Fit the area option is unticked, the size of the barcode can be set by the size of the font of the zone. This size affects the width and the height of the code. The height can be reduced by reducing the percentage of the height setting of the zone.
  
Ligne 76 : Ligne 76 :
 
*In the ''Properties'' view:
 
*In the ''Properties'' view:
  
[[File:onyxdesigner-image71.png|cid:image003.png@01D170A6.CBD745A0]]
+
[[File:OX_D_47.PNG]]
  
*In this example, the Memory zone have the values:
+
*In this example, the Memory zones have the values:
**MEM_FACT : 0012601
+
**MEM_FACT: 0012601
**MEM_DTFACT : 14/10/99
+
**MEM_DTFACT: 14/10/99
  
 
*<span class="underline">Outcome</span>:
 
*<span class="underline">Outcome</span>:
  
[[File:onyxdesigner-image72.png|cid:image004.png@01D170A7.20EEB820]]
+
[[File:OX_D_48.PNG]]
  
 
It is also possible to add text that is not found in the spooled file using the '''Memory''' zones (detailed in [[#type-de-zones|''<span class="underline">6.4.a.3 Types of zones</span>'']]) : '''[[MEM1|<nowiki>[[MEM1]]</nowiki>]]TEXT[[[[MEM2|<nowiki>MEM2]]</nowiki>]]'''.
 
It is also possible to add text that is not found in the spooled file using the '''Memory''' zones (detailed in [[#type-de-zones|''<span class="underline">6.4.a.3 Types of zones</span>'']]) : '''[[MEM1|<nowiki>[[MEM1]]</nowiki>]]TEXT[[[[MEM2|<nowiki>MEM2]]</nowiki>]]'''.
Ligne 98 : Ligne 98 :
 
'''FNC1''': Separator character of the EAN128.
 
'''FNC1''': Separator character of the EAN128.
  
'''AI''': Application Identifier, is used to encode several standardized elements of information in one code (date+time+etc.).
+
'''AI''': an Application Identifier, is used to encode several standardized elements of information in one code (date+time+etc.).
  
The first '''FNC1''' is automatically added by M-Designer. It is required as it is used to differentiate an EAN128 barcode from a CODE128 barcode.
+
The first '''FNC1''' is automatically added by Designer. It is required as it is used to differentiate an EAN128 barcode from a CODE128 barcode.
  
 
However, the following FNC1 are optional. Indeed, they are only required when the previous element of data does not have a fixed length, in which case they are used to separate each element of data.
 
However, the following FNC1 are optional. Indeed, they are only required when the previous element of data does not have a fixed length, in which case they are used to separate each element of data.
Ligne 106 : Ligne 106 :
 
If you want to insert the FNC1 character, you have to put the {FNC1} character sequence in your spooled file. These characters will automatically be replaced with FCN1 characters by MAPPING.
 
If you want to insert the FNC1 character, you have to put the {FNC1} character sequence in your spooled file. These characters will automatically be replaced with FCN1 characters by MAPPING.
  
<span class="underline">Ex</span>: SPOOL ----&gt; MAPPING
+
<span class="underline">E.g.</span> SPOOL ----&gt; MAPPING
  
 
AI DATA ----&gt; START FNC1 AI DATA CRC END
 
AI DATA ----&gt; START FNC1 AI DATA CRC END
Ligne 112 : Ligne 112 :
 
AI DATA {FNC1} AI DATA ----&gt; START FNC1 AI DATA FNC1 AI DATA CRC END
 
AI DATA {FNC1} AI DATA ----&gt; START FNC1 AI DATA FNC1 AI DATA CRC END
  
If you cannot change your spool to add the "'''{FNC1}"''' characters or if you want to combine several elements of data that are located in different places in the spooled file (see previous paragraph: [[#cumul-de-données|''<span class="underline">8.1.b. Combined data</span>'']]), you can use the memory zones.
+
If you cannot change your spooled file to add the "'''{FNC1}"''' characters or if you want to combine several elements of data that are located in different places in the spooled file (see previous paragraph: [[#cumul-de-données|''<span class="underline">8.1.b. Combined data</span>'']]), use memory zones.
  
 
===Special case: code 128===
 
===Special case: code 128===
Ligne 124 : Ligne 124 :
 
The code 128 Alphanumeric Optimized switches from B mode to C mode automatically in order to optimize the size of the barcode.
 
The code 128 Alphanumeric Optimized switches from B mode to C mode automatically in order to optimize the size of the barcode.
  
However, your barcode may have to comply with a specific type of formatting, i.e. a certain number of characters in A, B or C mode.
+
However, your barcode may have to respect a specific type of formatting, i.e. a certain number of characters in A, B or C mode.
  
 
For example, the barcode that corresponds to the mail tracking ID of "La Poste" contains 13 characters. The first three must be encoded in B mode and the last ten in C mode.
 
For example, the barcode that corresponds to the mail tracking ID of "La Poste" contains 13 characters. The first three must be encoded in B mode and the last ten in C mode.
  
In order to create this barcode using Designer, you must create a "'''Code 128 N/Optimisé'''" type zone and then enter a formatting screen in the '''Advanced''' options of the zone.
+
In order to create this barcode using Designer, you must create a "'''Code 128 N/Optimised'''" type zone and then enter a formatting screen in the '''Advanced''' options of the zone.
  
 
<span class="underline">Example</span>:
 
<span class="underline">Example</span>:
Ligne 146 : Ligne 146 :
 
===Special case: 2D Codebars===
 
===Special case: 2D Codebars===
  
Currently, MAPPING manages four types of 2D barcode: '''PDF417''', '''DATA MATRIX''', '''QR CODE''' and '''MAXICODE'''.
+
Currently, MAPPING manages four types of 2D barcodes: '''PDF417''', '''DATA MATRIX''', '''QR CODE''' and '''MAXICODE'''.
  
If "'''Fit the area'''" is checked, the "'''Barcode width'''" setting is used to change the size of the barcode. In this case it should be noted that the size of the barcodes can vary in height and width depending on the content to be encoded.
+
If "'''Fit the zone'''" is checked, the "'''Barcode width'''" setting is used to change the size of the barcode. In this case it should be noted that the size of the barcodes can vary in height and width depending on the content to be encoded.
  
 
The benefit of 2D barcodes is being able to encode a number of important pieces of information. If the data that you need to encode is located in different places in the spool, go to section [[#cumul-de-données|''<span class="underline">8.1.b. Combined data</span>'']] to combine them in a single barcode.
 
The benefit of 2D barcodes is being able to encode a number of important pieces of information. If the data that you need to encode is located in different places in the spool, go to section [[#cumul-de-données|''<span class="underline">8.1.b. Combined data</span>'']] to combine them in a single barcode.
Ligne 158 : Ligne 158 :
 
This type of barcode is very widespread in Japan. It is already used in the industry, but has also been adopted by the general public eversince mobile phones know how to decode it.
 
This type of barcode is very widespread in Japan. It is already used in the industry, but has also been adopted by the general public eversince mobile phones know how to decode it.
  
Il existe quatre types d’encodage (alphanumérique, numérique, octets, Kanji) permettant de compresser plus ou moins les données selon leur type. Par défaut, le mode automatique est utilisé afin de choisir l’encodage qui donnera le meilleur taux de compression (basculement de mode en cours de traitement). Par exemple, supposons que le début de la chaine contient des données de type alphanumérique. Dès que le programme détecte une chaine d’au moins 13 caractères numériques, il change de mode d’encodage.
+
There are four types of encoding (alphanumeric, numeric, bytes, Kanji) to compress the data depending on the type of data. By default, the automatic mode is used to choose the encoding method that will give the best compression rate (switch of mode while processing). For example, let us assume that the beginning of the string contains alphanumeric type data. As soon as the program detects a string of at least 13 numeric characters, it changes encoding mode.
  
Des codes de détection/correction d’erreur sont ajoutés aux données. Ces codes permettent de résister à des dommages sans perte de donnée. Il existe quatre niveaux de détection/correction d’erreur. Nous utilisons par défaut le niveau trois dont les codes utilisent approximativement 25% du code à barre final.
+
Error detection/correction codes are added to the data. These codes prevent the loss of data in the event of damage. There are four levels of error detection/correction. By default, level three is used, its codes use approximately 25% of the final barcode.
  
 
[[File:onyxdesigner-image75.png]]
 
[[File:onyxdesigner-image75.png]]
  
<span class="underline">Options avancées disponibles</span> :
+
<span class="underline">Advanced options available</span>:
  
*Largeur du code barre : Valeur comprise entre 1 et 15 définissants la taille du code barre.
+
*Barcode width: Value between 1 and 15 specifying the size of the barcode.
*Error Level : (7%, 15%, 25% et 30%).
+
*Error Level: (7%, 15%, 25% and 30%).
*FCN1 :
+
*FCN1:
 
**ECI protocol not implemented.
 
**ECI protocol not implemented.
 
**ECI protocol not implemented, FNC1 implied in first position.
 
**ECI protocol not implemented, FNC1 implied in first position.
**ECI protocol not implemented, FNC1 implied in second position Dans ce dernier cas, un caractère de séparation (application identifier) doit être précisé.
+
**ECI protocol not implemented, FNC1 implied in second position, in this case, a separator character (Application identifier) must be specified.
*'''A'''pplication '''I'''dentifier : Caractère de séparation, utilisé uniquement avec le FCN1 implicite en deuxième position.
+
*'''A'''pplication '''I'''dentifier: Separator character, used only with the implicit FCN1 in second position.
*<span class="underline">Type d’encodage</span> :
+
*<span class="underline">Type of encoding</span>:
**'''AUTO''' : Encodage automatique des données avec changement de mode en fonction des données.
+
**'''AUTO''': Automatic encoding of the data with a switch in mode depending on the data.
**'''ALPHA''' : Encodage Alphanumérique.
+
**'''ALPHA''': Alphanumeric encoding.
**'''NUMERIC''' : Encodage Numérique.
+
**'''NUMERIC''': Numerical encoding.
**'''BYTE''' : Encodage en octet.
+
**'''BYTE''': Encoding in bytes.
  
 
====DATAMATRIX====
 
====DATAMATRIX====
  
Le code à barres '''Datamatrix''' est défini par la norme internationale ISO/IEC 16022 (ECC200). Ce code permet d’encoder jusqu’à 2335 caractères.
+
The '''Datamatrix''' barcode is defined by the International ISO/IEC 16022 (ECC200) standard. This code can encode up to 2335 characters.
  
Divers types d’encodage sont disponibles (ASCII, C40, Text et Base 256) et le mode par défaut est le mode automatique qui permet d’optimiser l’encodage en permutant d’un mode à l’autre suivant les données.
+
Various types of encoding are available (ASCII, C40, text and Base 256) and the default mode is the automatic mode that can be used to optimize the encoding by swapping from one mode to the other depending on the data.
  
Il existe également un système de détection/correction d’erreur pour réparer toute dégradation.
+
It also has an error detection/correction system to repair any damage.
  
 
[[File:onyxdesigner-image76.png]]
 
[[File:onyxdesigner-image76.png]]
  
<span class="underline">Options avancées</span> :
+
<span class="underline">Advanced options</span>:
  
*Largeur du code barre : Valeur comprise entre 1 et 15 définissant la taille du code barre.
+
*Barcode width: Value between 1 and 15 specifying the size of the barcode.
*<span class="underline">Type d’encodage</span> :
+
*<span class="underline">Type of encoding</span>:
**'''AUTO''' : Encodage automatique des données avec changement de mode en fonction des données.
+
**'''AUTO''': Automatic encoding of the data with a switch in mode depending on the data
**'''ASCII''' : L’encodage ASCII est un plan tacite pour encoder les données ASCII.
+
**'''ASCII''': The ASCII encoding is a tacit plan for encoding the ASCII data.
**'''C40''' : L’encodage C40 transforme 3 caractères alphanumériques en deux codewords.
+
**'''C40''': C40 encoding transforms 3 alphanumeric characters into two code words.
**'''TEXT''' : L’encodage Text est utilisé pour encoder les caractères minuscules.
+
**'''TEXT''': The Text encoding is used to encode the lowercase characters.
  
 
====PDF 417====
 
====PDF 417====
  
Le PDF 417 est défini par la norme internationale ISO/IEC 15438. Ce type de code à barre permet d’encoder jusqu'à 2700 caractères numériques.
+
The PDF 417 is defined by the International ISO/IEC 15438 standard. This type of barcode can encode up to 2700 numeric characters.
  
Il existe trois types d’encodage de données (alphanumérique, numérique et octets). Le mode automatique permet de choisir le meilleur taux de compression et de changer de mode en cours d’encodage.
+
There are three types of data encoding (alphanumeric, numeric and bytes). The automatic mode chooses the best compression rate and changes the mode while encoding.
  
Il existe également un mode de détection/correction d’erreur sur huit niveaux. En mode automatique, le niveau sera choisi en fonction du nombre de caractères à encoder.
+
There are also eight levels of error detection/correction mode. In automatic mode, the level is chosen according to the number of characters to be encoded.
  
 
[[File:onyxdesigner-image77.png]]
 
[[File:onyxdesigner-image77.png]]
  
<span class="underline">Options avancées</span> :
+
<span class="underline">Advanced options</span>:
  
*Largeur du code barre : Valeur comprise entre 1 et 15, définissant la taille du code barre.
+
*Barcode width: Value between 1 and 15 specifying the size of the barcode
*Error Level :
+
*Error Level:
**AUTO : choix automatique.
+
**AUTO: automatic choice.
 
**0 - 8
 
**0 - 8
*Mode compact : Activation du mode compact ou non.
+
*Compact mode: Activation of the compact mode or not.
*Ratio : Permet de déterminer le ratio hauteur/largeur du code barre.
+
*Ratio: Used to determine the height/width ratio of the barcode.
*Colonnes fixes : permet de définir le nombre de colonnes.
+
*Fixed columns: Used to define the number of columns.
*Lignes fixes : permet de définir le nombre de lignes.
+
*Fixed rows: Used to define the number of rows.
  
La sélection d’un ratio empêche de définir le nombre de lignes et de colonnes.
+
The selection of a ratio prevents you from specifying the number of rows and columns.
  
 
====UPS MAXICODE====
 
====UPS MAXICODE====
  
Ce type de code à barre, développé par UPS United Parcel Service, est décrit dans la norme ISO 16023-2000. Contrairement aux autres, il a une taille fixe ce qui limite le nombre de caractères à encoder. En effet, le nombre de caractères maximum est de 93 caractères alphanumériques ou de 138 caractères numériques.
+
This type of barcode, developed by UPS - United Parcel Service, is defined by the ISO 16023-2000 standard. Unlike the others, its size is fixed, which limits the number of characters to be encoded. Indeed, the maximum number of characters is 93 alphanumeric characters or 138 numeric characters.
  
Il existe deux types d’encodage :
+
There are two types of encoding:
  
*Le premier encode uniquement une chaine de caractères contenant des données suivant un encodage classique et une détection / correction d’erreur standard.
+
*The first only encodes a string of characters containing data according to a conventional type of encoding and a standard type of error detection/correction.
*Le second type encode, en plus de la chaine de données, trois autres champs stockés dans trois espaces mémoire de MapDraw. Ces champs sont : le pays codé sur 3 chiffres suivant la norme ISO 3166 (appelé map_countr), le code postal codé sur 6 caractères (map_zipcod) et enfin un type de service sur 3 chiffres (map_servic). Ces trois champs sont encodés en utilisant un mode de correction d’erreur étendu contrairement à la chaine de données dont le mode de correction est classique.
+
*The second type encodes three other fields stored in three of Designer's memory spaces, in addition to the string of data. These fields are: the country encoded using 3 digits in accordance with the ISO 3166 standard (called MAP_countr), the postal code encoded using 6 characters (MAP_zipcod) and finally a type of service using 3 digits (MAP_servic). These three fields are encoded using an extended error correction mode contrary to the string of data whose correction mode is standard.
  
 
[[File:onyxdesigner-image78.png]]
 
[[File:onyxdesigner-image78.png]]
  
<span class="underline">Options avancées disponibles</span> :
+
<span class="underline">Advanced options available</span>:
  
*Largeur du code barre : Valeur comprise entre 1 et 15, définissant la taille du code barre.
+
*Barcode width: Value between 1 and 15 specifying the size of the barcode.
  
==Automatisation==
+
==Automating==
  
L’automatisation de Designer permet de créer des fichiers images correspondant à la preview d’un projet ainsi que de générer un projet ou une association de projets. Le tout en ligne de commande, en mode caché ou non.
+
Automating Designer processes allows you to create image files corresponding to the preview of a project as well as generate a project or an association of projects. All this can be done in command line, in hidden mode or not.
  
Le principe est de construire la commande grâce à un .BAT ou à une remote commande par exemple.
+
The aim is to set the command with a .BAT or a remote order, for example.
  
*'''-InFile''' : fichier .PAG ou .XML à maquetter.
+
*'''-InFile''': .PAG or .XML file to map.
*'''-OutFile''' : Fichier image de sortie.
+
*'''-OutFile''': Output image file.
*'''-ProjectFile''' : Projet à ouvrir (.MPP).
+
*'''-ProjectFile''': Project to open (.MPP).
*'''-ProjectAsso''' : Association de projet à générer (.MPA).
+
*'''-ProjectAsso''': Project association to generate (.MPA).
*'''-MPIFile''' : Fichier .MPI à ouvrir (onglet MAP).
+
*'''-MPIFile''': .MPI file to open (MAP tab).
*'''-MPWFile''' : Fichier .MPW à ouvrir (onglet DRAW).
+
*'''-MPWFile''': .MPW file to open (DRAW tab).
*'''-Hide''' : Pour lancer Designer en mode caché.
+
*'''-Hide''': To launch Designer in hidden mode.
*'''-Color''' : Utilisation de couleur ou non pour la création de l’image.
+
*'''-Color''': Use of colour or not to create the image.
*'''-Rotation''' : angle de rotation de l’image (défaut : 0).
+
*'''-Rotation''': rotation angle of the image (default: 0).
*'''-Resolution''' : Résolution de l’image (défaut : 300).
+
*'''-Resolution''': Image resolution (default: 300).
*'''-Specimen''' : Ajout d’un texte au-dessus de l’image (texte à préciser en argument).
+
*'''-Specimen''': Adding a text above the image (text to specify in the argument).
*'''-Mode''' : Choix du mode SPOOL ou XML (défaut SPOOL).
+
*'''-Mode''': Choice of the SPOOL or XML mode (default SPOOL).
*'''-Generate''' : Pour lancer la génération du projet indiqué en argument.
+
*'''-Generate''': To start generating the project indicated in the argument.
*'''-FtpUse''' : 0 = n’utilise pas FTP ; 1 = utilise FTP.
+
*'''-FtpUse''': 0 = does not use FTP; 1 = uses FTP.
*'''-FtpFolder''' : répertoire FTP.
+
*'''-FtpFolder''': FTP folder.
*'''-FtpLogin''' : Login FTP.
+
*'''-FtpLogin''': FTP login.
*'''-FtpPassword''' : Mot de passe FTP.
+
*'''-FtpPassword''': FTP password.
*'''-FtpIPAddress''' : Adresse IP du serveur.
+
*'''-FtpIPAddress'': IP address of the server.
*'''-ShareFolder''' : Répertoire de partage.
+
*'''-ShareFolder''': Shared folder.
*'''-ServerName''' : Nom du serveur (descriptif).
+
*'''-ServerName''': Name of the server (description).
*'''-Rename''' : change le FORMAT et SEQUENCE du projet en utilisant son nom. Ex : Facture00010.mpp.
+
*'''-Rename''': changes the FORMAT and SEQUENCE of the project using its name. Ex: Invoice00010.mpp.
  
<span class="underline">Exemple 1</span> : Projet généré en PCL, en couleur et 300 dpi
+
<span class="underline">Example 1</span>: Project generated in PCL, in color and 300 dpi
  
 
<code>C:\Mapping\M-Designer\M-Designer.exe &quot;-Hide&quot; &quot;-ProjectFile:C:\Mapping\M-Processing_Server \Import\docpc\test.mpp&quot; &quot;-Generate&quot;</code>   
 
<code>C:\Mapping\M-Designer\M-Designer.exe &quot;-Hide&quot; &quot;-ProjectFile:C:\Mapping\M-Processing_Server \Import\docpc\test.mpp&quot; &quot;-Generate&quot;</code>   
  
Lors de l’utilisation du paramètre « '''-Generate''' » (indiquant une génération de projet), le paramètre « '''-ProjectFile :''' » ou « '''-ProjectAsso :''' » doit être présent pour indiquer le projet à générer.
+
When using the "'''-Generate'''" setting (indicating a project generation), the "'''-ProjectFile :'''" or "'''-ProjectAsso :'''" setting must be present to identify the project to be generated.
  
Si les deux paramètres « '''-ProjectFile :''' » et « '''-ProjectAsso :''' » sont présents, le projet sera prioritaire pour la génération et l’association de projets sera ignorée.
+
If both settings "'''-ProjectFile :'''" and "'''-ProjectAsso :'''" are present, the project will take priority for the generation and the association of projects will be ignored.
  
<span class="underline">Exemple 2</span> : création d’une image BMP couleur, avec rotation de 90°, en 203 dpi et avec l’inscription SPECIMEN par-dessus
+
<span class="underline">Example 2</span>: creating a colour BMP image, with a 90° rotation, in 203 dpi and with the word SPECIMEN overlaid
  
 
<code>C:\Mapping\M-Designer\M-Designer.exe &quot;-InFile:c:\test.xml&quot; &quot;- OutFile:c:\image.bmp&quot; &quot;-ProjectFile:C:\ Mapping\M-Processing_Server \Import\docpc\test.mpp&quot; &quot;-Hide&quot; &quot;-Rotation:90&quot; &quot;- Resolution:203&quot; “-Color” &quot;-Mode:XML&quot; &quot;-Specimen:SPECIMEN&quot;</code>
 
<code>C:\Mapping\M-Designer\M-Designer.exe &quot;-InFile:c:\test.xml&quot; &quot;- OutFile:c:\image.bmp&quot; &quot;-ProjectFile:C:\ Mapping\M-Processing_Server \Import\docpc\test.mpp&quot; &quot;-Hide&quot; &quot;-Rotation:90&quot; &quot;- Resolution:203&quot; “-Color” &quot;-Mode:XML&quot; &quot;-Specimen:SPECIMEN&quot;</code>
  
Pour la création d’une image, les paramètres « '''-InFile''' » et « '''-ProjectFile''' » sont obligatoires.
+
The "'''-InFile'''" and "'''-ProjectFile'''" settings are required to create an image.
  
Si « '''-OutFile''' » est absent, le fichier de sortie prend le nom du fichier d’entrée avec l’extension .BMP.
+
If "'''-OutFile'''" is missing, the output file takes the name of the input file with the .BMP extension.
  
Le mode par défaut est SPOOL et si le fichier d’entrée est de type XML, vous devez préciser le mode.
+
The default mode is SPOOL. If the input file is an XML file, you have to specify the mode.
  
'''Attention''' : Les guillemets autour de chaque paramètre sont '''<span class="underline">obligatoires</span>'''.
+
'''Caution''': The quotation marks around each parameter are '''<span class="underline">required</span>'''.
  
 
<span id="_Remplacement_de_caractère" class="anchor"></span>
 
<span id="_Remplacement_de_caractère" class="anchor"></span>
  
==Remplacement de caractère==
+
==Replacing characters==
  
L'objectif est d'expliquer comment remplacer une chaîne de caractères du fichier d'entrée par une autre.
+
The objective is to explain how to replace a string of characters in the input file with another string of characters.
  
Le principe de fonctionnement est l'utilisation d'un fichier texte comme table de correspondance entre la valeur à remplacer et la nouvelle valeur.
+
The operating principle involves using a text file as a conversion chart between the value to be replaced and the new value.
  
Pour utiliser cette table de correspondance, il faut :
+
The following is required in order to use the conversion chart:
  
*Définir la zone en mode Type = '''Texte''' / Sous-type = '''Substitution'''.
+
*Define the zone using the Type mode = '''Text''' / Sub-type = '''Substitution'''.
  
[[File:onyxdesigner-image79.png]]
+
[[File:OX_D_49.PNG]]
  
*Terminer et générer la maquette
+
*Finish and generate the template.
*Ouvrir le fichier ''ReplaceValue.txt'' dans un éditeur de texte (type Notepad mais pas Word). La syntaxe du fichier est la suivante :
+
*Open the ''ReplaceValue.txt'' file in a text editor (like Notepad, but not Word). The syntax of the file is:
  
Valeur à remplacer ''Tabulation'' Nouvelle valeur
+
Value to be replaced ''Tab'' New Value
  
 
[[File:onyxdesigner-image80.png]]
 
[[File:onyxdesigner-image80.png]]
  
Ici, le caractère &quot;''']'''&quot; sera remplacé par le caractère &quot;'''&gt;'''&quot; et le &quot;'''Nom'''&quot; sera remplacé par &quot;'''Name'''&quot; (si la valeur à remplacer se trouve dans une zone de Type Texte \ Substitution).
+
In this case, the &quot;''']'''&quot; character is replaced with the &quot;'''&gt;'''&quot; character and the &quot;'''Nom'''&quot; character is replaced with the &quot;'''Name'''&quot; character (if the value to replace is located in a Text\Substitution type zone).
  
*Sauvegarder le fichier ''ReplaceValue.txt'' dans le sous-répertoire '''lgobitmap''' de Mapping (par défaut /apps/mapping/import/lgobitmap sur Unix)
+
*Save the ''ReplaceValue.txt'' file in the '''lgobitmap''' Mapping sub-folder (by default /apps/mapping/import/lgobitmap on Unix)
  
==Dessiner un tableau==
+
==Drawing a table==
  
===Dessiner un tableau statique===
+
===Drawing a static table===
  
Pour obtenir un tableau parfaitement dessiné et aligné, sans utiliser l'outil ''Tableau Statique'' de la ''vue Fond de page'', les étapes à suivre sont :
+
To create a perfectly drawn and aligned table without using the ''Static Table'' tool of the ''Overlay view'':
  
*tracer d’abord le rectangle du contour du tableau,
+
*first, draw the rectangle that will act as the borders of the table,
*tracer des lignes verticales pour définir les colonnes,
+
*draw the vertical lines to create columns,
*tracer éventuellement des traits horizontaux pour définir les lignes si besoin (entêtes de colonnes par exemple),
+
*draw horizontal lines to create lines if necessary (column headers for example),
*sélectionner enfin l’ensemble des éléments du tableau puis appuyer sur la touche « '''a''' » minuscule du clavier :
+
*finally select all elements of your table and press the lowercase "'''a'''" on your keyboard:
  
 
[[File:onyxdesigner-image83.png]]
 
[[File:onyxdesigner-image83.png]]
Ligne 324 : Ligne 324 :
 
[[File:onyxdesigner-image84.png]]
 
[[File:onyxdesigner-image84.png]]
  
'''Remarque :'''
+
'''Note:'''
  
Cette aide à la conception est opérationnelle en ''vue Fond de page'' et ''vue Dynamique'' du projet. En vue Dynamique, il est possible de tracer un tableau à l'intérieur d'un ''Groupe'' et de placer, par exemple, une condition d'exécution sur une ligne horizontale pour tracer dynamiquement un trait pour chaque nouvelle ligne de données.
+
This tip also applies to designing the Dynamic part of a project. You can draw a table inside a group in dynamic view, and place an execution condition on a horizontal line for instance, to draw a line dynamically for every new data row.
  
===Dessiner un tableau dynamique===
+
===Drawing a dynamic table===
  
Comme annoncé dans les options disponibles pour un groupe (cf. paragraphe [[#créer-un-groupe-fixe|''<span class="underline">6.4.b.2. Créer un groupe fixe</span>'']]), le mode 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.
+
As mentioned in ([[#créer-un-groupe-fixe|''<span class="underline">6.4.b.2. Creating a fixed group</span>'']]), the table mode allows the zones of the group to act as cells of a table. The zones of one line are automatically linked.
  
'''Remarque :'''
+
'''Note:'''
  
Redimensionner ou déplacer une zone impacte la taille et le positionnement des zones adjacentes.
+
Resizing or moving a zone impacts the size and position of the adjacent zones.
  
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.
+
The lines of the group (or conditions) are represented visually in the designing window. The zones are vertically distributed according to their line.
  
[[File:onyxdesigner-image85.png]]
+
[[File:OX_D_50.PNG]]
  
==Construction d’un graphique==
+
==Drawing a graph==
  
Depuis la partie Map :
+
In the Map tab:
  
*Créer un graphique depuis l’onglet Graphique :
+
*Create a graph in the Graph tab:
  
[[File:onyxdesigner-image86.png]]
+
[[File:OX_D_51.PNG]]
  
*Et lui donner un nom (ici « '''''GRAPH1''''' ») :
+
*Name it (here, "'''''GRAPH1'''''"):
  
[[File:onyxdesigner-image87.png]]
+
[[File:OX_D_52.PNG]]
  
A partir de là, le '''graphique complexe''' peut se construire de deux façons différentes présentées ci-dessous.
+
From there, the '''complex graph''' can be built in two different ways, detailed below.
  
===Par sélection des zones une à une===
+
===By selecting zones one by one===
  
*Sélectionner, dans le spool, les zones qui seront utilisées dans le graphique,
+
*In the spooled file, select the zones which will be used in the graph,
*Dans les '''Propriétés,''' pour chaque zone définie :
+
*In the '''Properties''' for each defined zone:
**Les nommer <span class="underline">toutes</span> avec le même nom que le graphique (ici ça sera donc « '''''GRAPH1''''' »)
+
**Name them <span class="underline">all</span> with the same name as the graph (which is "'''GRAPH1'''" here)
**Renseigner le '''Type''' = « '''''Graphique'' '''» :
+
**Enter the '''Type''' = "'''''Graph'''''":
  
[[File:onyxdesigner-image88.png]]
+
[[File:OX_D_53.PNG]]
  
*Selon l’utilité de la zone dans le graphique, sélectionner le '''Sous-type''' correspondant dans la liste proposée :
+
*Depending on the use made of the zone in the graph, select the corresponding Sub-type in the list:
  
[[File:onyxdesigner-image89.png]]
+
[[File:OX_D_54.PNG]]
  
*Aller dans les '''Propriétés''' du graphique et cliquer sur '''Edition''' :
+
*Go to the Graph '''Properties''' and click on '''Edition''':
  
[[File:onyxdesigner-image90.png]]
+
[[File:OX_D_55.PNG]]
  
*Paramétrer votre graphique en choisissant dans les onglets :
+
*Set your graph by choosing from the tabs:
**'''Type''' :
+
**'''Type''':
***'''Nom du Graphique''' : qui sera repris dans le nom des zones,
+
***'''Name of the graph''': which will be included in the name of the zones,
***'''Nombre de zones''' qui va composer le graphique,
+
***'''Number of zones''' which will lay out the graph,
***'''Type de graphique''' : ''Camembert'', ''Histogramme'' ou ''Ligne'' :
+
***'''Graph type''': ''Pie'', ''Bar'' or ''Line'' chart
  
[[File:onyxdesigner-image91.png]]
+
[[File:OX_D_56.PNG]]
  
'''<span class="underline">NB</span>''' : pour le type de graphique = '''''Histogramme''''', il est possible de définir l’espacement entre les barres à droite et à gauche (en %). Cette option peut permettre, par exemple, de superposer deux graphiques en jouant sur l’espacement des barres de chaque graphique.
+
'''<span class="underline">NB</span>''': For the graph type = '''''Bar chart''''', it is possible to define the spacing between the bars on the right and on the left (in %). This option can be used, for example, to add spacing between the bars so that a second graph can be overlaid on top of the first one.
  
[[File:onyxdesigner-image92.png]]
+
[[File:OX_D_57.PNG]]
  
*'''Attributs''' : permet de choisir le remplissage, le contour, l’épaisseur du contour, le motif, …
+
*'''Properties''': allows you to choose the filling, the border, the width of the outline, the filling type, …
  
[[File:onyxdesigner-image93.png]]
+
[[File:OX_D_58.PNG]]
  
 
'''<br />'''
 
'''<br />'''
  
*'''Positionnement''' : permet de placer les ''titres'' (X, Y, du graphique) et la ''légende'', de redimensionner le graphique selon les préférences de l’utilisateur.
+
*'''Positioning''': allows you to place the ''titles'' (X, Y, of the graph) as well as the ''legend'', to resize the graph according to the preferences of the user.
  
'''<span class="underline">NB</span>''' : La zone d’impression du graphique est celle délimitée par le grand rectangle donc tout ce qui ne sera pas dedans ne sera pas visible à l’impression (<span class="underline">ex</span> : la zone « '''''Legend''''' » est à l’extérieur du rectangle dans la première image ci-dessous alors qu’elle est dedans dans la deuxième).
+
'''<span class="underline">N.B.</span>''' The print area of the graph is delimited by the large rectangle, so everything outside this area will not be visible when printing (<span class="underline">e.g.</span> the "'''''Legend'''''" area is outside the rectangle in the first image below while it is inside it in the second).
  
[[File:onyxdesigner-image94.png]]
+
[[File:OX_D_59.PNG]]
  
[[File:onyxdesigner-image95.png]]
+
[[File:OX_D_60.PNG]]
  
*La '''Légende''' se construit en sélectionnant les zones dans le spool qui serviront de légende pour les attributs choisis. Comme pour toute autre donnée, il faut nommer la zone comme le nom du graphique et renseigner les propriétés de la zone avec '''Type''' = « '''''Graphique''''' » et '''Sous-type''' = « '''''Données de la légende''''' ».
+
*The '''Legend''' is built by selecting zones in the spooled file which will act as legend for the chosen attributes. As with any other data, the zone must be named (e.g. give a name to the graph) and the properties of the zones must be specified with '''Type''' = "'''''Graph'''''" and '''Sub-type''' = "'''''legend data'''''".
  
'''<span class="underline">NB</span>''' : Attention à respecter l’ordre des attributs en sélectionnant les zones qui serviront à la légende car elles suivront le même ordre que celui des attributs.
+
'''<span class="underline">N.B.</span>''' Be careful to respect the same order as that of the attributes when selecting the zones that will be used for the legend because they will follow the same order as that of the attributes.
  
===En créant un groupe===
+
===By creating a group===
  
Le principe est le même que celui décrit ci-avant sauf que les données sont regroupées dans un groupe. Cette option est possible si les données du graphique se suivent dans le spool.
+
The principle is the same as that described above except that the data is assembled into a group. This is possible if the data used in the chart is arranged in continuous in the spooled file.
  
*Créer un groupe qui définira les données à prendre en compte pour la construction du graphique et y déposer les zones sélectionnées qui contiennent les données, les titres, légende, ...
+
*Create a group that will define the data to be taken into account for the construction of the graph and add the selected zones that contain data, titles, legend …
*Nommer la/les zone(s) du même nom que le graphique et renseigner ses propriétés avec '''Type''' = « '''''Graphique''''' » et le '''Sous-type''' selon le rôle de la zone (titre, données, légende…).
+
*Name the zone(s) with the same name as the graph and enter its properties with '''Type''' = "'''''Graph'''''" and '''Sub-type''' according to the role of the zone (title, data, legend…).
  
La suite de la construction du graphique est la même que celle décrite précédemment.
+
The remainder of the graph construction is done in the same way as that described above.
  
==Opérations arithmétiques dans un groupe==
+
==Calculations in a group==
  
Pour simplifier la gestion de calcul dans un groupe et notamment la gestion de « '''total''' » et « '''sous-total''' », un outil a été intégré à Designer. Il permet d’effectuer des traitements sur un fichier XML d’entrée à l’aide de scripts. Ces scripts sont exécutés avant l’application de la maquette.
+
To simplify calculations in group and especially the management of "'''total'''" and "'''sub-total'''", a tool has been integrated within Designer. It allows you to process an input XML file using scripts. These scripts are executed before the application of the template.
  
[[File:onyxdesigner-image96.png]]
+
[[File:OX_D_61.PNG]]
  
[[File:onyxdesigner-image97.png]]
+
[[File:OX_D_62.PNG]]
  
L’ajout de calcul dans un groupe, par l’intermédiaire de cet outil, se fait par la fonction de script « '''addline''' ». La fonction '''addline''' permet d’ajouter une ligne à un groupe, en lui précisant une séquence de couples « '''nom du champ'''/'''valeur''' » à ajouter.
+
Adding calculations into a group through this tool is done using the "'''addline'''" script function. This function adds a line to a group specifying a sequence of pairs "'''field name'''/'''value'''" to add.
  
De plus, les paramètres de type « '''chaine de caractère''' » devront être entourés de '''<span class="underline">doubles guillemets</span>''' et les noms de champ dans les formules par des '''<span class="underline">simples guillemets</span>'''.
+
In addition, the "'''character string'''" type parameters must be framed by '''<span class="underline">double quotes</span>''' and field names in formulas by '''<span class="underline">single quotes</span>'''.
  
<span class="underline">Syntaxe</span> :
+
<span class="underline">Syntax</span>:
  
addline(nom du groupe, nom de la ligne, ligne de type saut de page, nom du 1<sup>er</sup> champ, valeur du 1<sup>er</sup> champ, pré-calcul du 1er champ, nom du 2<sup>ème</sup> champ, valeur du 2<sup>ème</sup> champ, pré-calcul du 2<sup>ème</sup> champ, etc…) ;
+
addline(name of the group, name of the line, page break type line, name of the first field, value of the first field, pre-calculation of the first field, name of the second field, value of the second field, pre-calculation of the second field, etc…);
  
La fonction '''addline''' commence par les arguments suivants :
+
The '''addline''' function starts by the following arguments:
  
*'''Nom du groupe''' : Contient le nom du groupe sur lequel la ligne doit s’ajouter.
+
*'''Group name''': contains the name of the group where the line should be added.
*'''Nom de la ligne''' : Nom de la ligne à ajouter.
+
*'''Line name''': Name of the line to add.
  
Puis, elle se compose d’une séquence illimitée de couples '''champ''' / valeur :
+
Then, it consists of an unlimited sequence of field / value pairs:
  
*'''Nom du champ''' : Nom du champ que possèdera la ligne.
+
*'''Field name''': field name of the line.
*'''Valeur du champ''' : La valeur du champ possédé par la ligne.
+
*'''Field value''': field value of the line.
*'''Pré-calcul''': Valeur booléenne. (0 ou 1, yes ou no). Si le champ possède un calcul alors cela permet de définir quand le calcul doit s’effectuer :
+
*'''Pre-calculation''': Boolean value (0 or 1, yes or no). If the field has a calculation then this defines when the calculation should be:
**'''Yes''' : Le calcul est résolu lors de l’exécution du script, prenant en compte toutes les valeurs du xml.
+
**'''Yes''': The calculation is resolved during the script execution, taking into account all the XML values.
**'''No''' : Le calcul est résolu lors de l’utilisation de la valeur dans une maquette et ne prend donc en compte que les valeurs présentes dans la page en cours.
+
**'''No''': The calculation is solved when using the value in a template and therefore only takes into account the values in the current page.
  
Par exemple, le script suivant ajoute cette ligne au groupe nommé &quot;groupe&quot; :
+
For example, the following script adds a line to the group named &quot;group&quot;:
  
<code>addline(&quot;groupe&quot;,&quot;ligne&quot;,yes,&quot;champ1&quot;,&quot;valeur1&quot;,no,&quot;champ2&quot;,&quot;valeur2&quot;,no);</code>
+
<code>addline(&quot;group&quot;,&quot;line&quot;,yes,&quot;field1&quot;,&quot;value1&quot;,no,&quot;field2&quot;,&quot;value2&quot;,no);</code>
  
<code>&lt;group name=&quot;groupe&quot;&gt;<br />…<br />'''&lt;line name=&quot;ligne&quot; pagebreak=”1”&gt;<br />'''&lt;field name=&quot;champ1&quot;&gt;valeur1&lt;/field&gt;<br />&lt;field name=&quot;champ2&quot;&gt;valeur2&lt;/field&gt;<br />&lt;/line&gt;'''<br />'''&lt;/group&gt;</code>
+
<code>&lt;group name=&quot;group&quot;&gt;<br />…<br />'''&lt;line name=&quot;line&quot; pagebreak=”1”&gt;<br />'''&lt;field name=&quot;field1&quot;&gt;value1&lt;/field&gt;<br />&lt;field name=&quot;field2&quot;&gt;value2&lt;/field&gt;<br />&lt;/line&gt;'''<br />'''&lt;/group&gt;</code>
  
La '''valeur du champ''' peut contenir un calcul dont la syntaxe est la suivante :
+
If the '''field value''' contains a calculation then the syntax is:
  
'''[[SUM('''''opération''''')]]''' pour calculer une somme sur l’ensemble des lignes du groupes.
+
'''[[SUM('''''operation''''')]]''' to calculate a sum over all the groups of lines.
  
'''[[AVG('''''opération''''')]]''' pour calculer une moyenne sur l’ensemble des lignes du groupes.
+
'''[[AVG('''''operation''''')]]''' to calculate an average over all the groups of lines.
  
''Ici, « opération »'' est un calcul mathématique utilisant les noms des champs présents dans les lignes du groupe. Les noms de champs doivent être entourés par des '''<span class="underline">simples guillemets</span>'''.
+
''In this example, "operation'' is a mathematical calculation using field names in lines of the group. Field names must be framed by '''<span class="underline">single quotes</span>'''.
  
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;field name=&quot;price&quot;&gt;10&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;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 2&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;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 3&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;12&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;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 4&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5.5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;3&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;field name=&quot;price&quot;&gt;10&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;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 2&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;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 3&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;12&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;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 4&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5.5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;</code>
  
Pour ajouter une ligne de total à ce groupe, il faudra utiliser ce script :
+
To add a total line to this group, this script must be used:
  
 
<code>addline(&quot;invoice&quot;, &quot;LigneTotal&quot;,no</code>
 
<code>addline(&quot;invoice&quot;, &quot;LigneTotal&quot;,no</code>
Ligne 467 : Ligne 467 :
 
<code>);</code>
 
<code>);</code>
  
Ce script aura pour effet d’ajouter une ligne de '''total''' à la fin du groupe :
+
This script adds a '''total''' line at the end of the group:
  
 
<code>&lt;group name=&quot;invoice&quot;&gt;<br />…<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5.5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />&lt;/line&gt;<br />'''&lt;line name=&quot;LigneTotal&quot;&gt;'''<br />'''&lt;field name=&quot;total&quot;&gt;total = 99.5&lt;/field&gt;'''<br />'''&lt;field name=&quot;moyenne&quot;&gt;moyenne = 24.875&lt;/field&gt;'''<br />'''&lt;/line&gt;'''<br />&lt;/group&gt;</code>
 
<code>&lt;group name=&quot;invoice&quot;&gt;<br />…<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5.5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />&lt;/line&gt;<br />'''&lt;line name=&quot;LigneTotal&quot;&gt;'''<br />'''&lt;field name=&quot;total&quot;&gt;total = 99.5&lt;/field&gt;'''<br />'''&lt;field name=&quot;moyenne&quot;&gt;moyenne = 24.875&lt;/field&gt;'''<br />'''&lt;/line&gt;'''<br />&lt;/group&gt;</code>
  
L’utilisation de '''l’option Pré-calcul''' à '''« no »''' permet de ne pas exécuter les calculs lors de l’ajout de la ligne au groupe mais lors de son exécution par la maquette. L’intérêt de cette option est de pouvoir effectuer des calculs uniquement avec les données écrites sur la page en cours, permettant donc l’écriture de sous-totaux.
+
Using the '''Pre-calculation option''' set to '''"no"''' allows you to not execute calculations when adding the line to the group but when executed by the template. The advantage of this option is to perform calculations only with the written data on the current page, thus allowing the writing of subtotals.
  
Pour ajouter une ligne de '''sous-total''' au groupe précédant, il faudra utiliser ce script :
+
To add a '''sub-total''' line to the previous group, use this script:
  
<code>addline(&quot;invoice&quot;,&quot;LineSubtotal&quot;,yes, &quot;subtotal&quot;,&quot;sous-total = [[SUM('price'*'quantity')]]&quot;,no);</code>
+
<code>addline(&quot;invoice&quot;,&quot;LineSubtotal&quot;,yes, &quot;subtotal&quot;,&quot;sub-total = [[SUM('price'*'quantity')]]&quot;,no);</code>
  
Ce script aura pour effet d’ajouter une ligne de total à la fin du groupe :
+
This script adds a total line at the end of the group:
  
<code>&lt;group name=&quot;invoice&quot;&gt;<br />…<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5.5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />&lt;/line&gt;<br />'''&lt;line name=&quot;LineSubtotal&quot; pagebreak=”1”&gt;'''<br />'''&lt;field name=&quot;subtotal&quot;&gt;sous-total = [[SUM('price'*'quantity')]]&lt;/field&gt;'''<br />'''&lt;/line&gt;'''<br />&lt;/group&gt;</code>
+
<code>&lt;group name=&quot;invoice&quot;&gt;<br />…<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5.5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />&lt;/line&gt;<br />'''&lt;line name=&quot;LineSubtotal&quot; pagebreak=”1”&gt;'''<br />'''&lt;field name=&quot;subtotal&quot;&gt;sub-total = [[SUM('price'*'quantity')]]&lt;/field&gt;'''<br />'''&lt;/line&gt;'''<br />&lt;/group&gt;</code>
  
==Gestion de la pagination==
+
==Pagination management==
  
La gestion de l’écriture d’information de pagination tels que le nombre de page total, le nombre de lot et le nombre de page dans le lot est possible dans Designer grâce aux deux options suivantes.
+
Managing information writing of pagination such as the total number of pages, the number of the batch and the number of pages in the batch is possible in Designer through the following two options:
  
===Rupture de lot===
+
===Batch breaking===
  
L’option '''Rupture de lot''' se trouve dans les '''Propriétés''' de la maquette (présentée dans le paragraphe [[#création-dun-projet-1|''<span class="underline">4.2. Création d’un projet</span>'']]). Elle permet de définir une zone de type '''Metadata''' qui sera utilisée pour regrouper les pages du document final en lot.
+
The '''Batch breaking''' option can be found in the '''Properties''' of the  template (see [[#création-dun-projet-1|''<span class="underline">4.2. Creating a project</span>'']]). It defines a Metadata type zone which will be used to group the pages of the final document in batch.
  
[[File:onyxdesigner-image98.png]]
+
[[File:OX_D_63.PNG]]
  
Lors du traitement de la page :
+
During page processing:
  
*Si la zone '''Metadata''' récupère une nouvelle valeur alors un nouveau lot sera créé. La page en cours appartiendra à ce nouveau lot.
+
*If the '''Metadata''' type zone retrieves a new value then a new batch is created. The current page will belong to this new batch.
*Si la zone '''Metadata''' récupère une valeur déjà récupérée précédemment, la page en cours sera déplacée vers le lot correspondant à cette valeur.
+
*If the '''Metadata''' type zone retrieves a value which was already previously recovered, the current page is moved to the batch corresponding to that value.
*Si aucune valeur n’est récupérée par la zone '''Metadata''', la page reste dans le même lot que la page précédente.
+
*If no value is recovered by the '''Metadata''' type zone, the page remains in the same batch as the previous page.
  
C’est le système de multi-document du XPS qui est utilisé pour représenter les lots, le fichier de sortie est donc trié par lot (d’abord les pages du premier lot puis les pages du second, etc…).
+
The multi-document system of XPS is used to represent the batch, the output file is sorted by sequence (first pages of the first batch and the second pages, etc ...).
  
===Variables de remplacement===
+
===Replacement variables===
  
Pour permettre l’écriture des informations de pagination, il existe des variables de type « ''post-traitement'' », c’est-à-dire qu’elles ne seront remplacées par leur véritable valeur qu’au moment de l’impression.
+
There are "''post-treatment''" type variables to enable information writing of pagination, that is to say they will be replaced by their real value at the printing time.
  
'''Ces variables, qui peuvent être utilisées dans des zones ou dans des blocs de texte, sont les suivantes :'''
+
'''These variables can be used into zones or in text blocks:'''
  
'''MAP_TOTAL_PAGE''' = nombre total de page.
+
'''MAP_TOTAL_PAGE''' = total number of pages.
  
'''MAP_TOTAL_DOC''' = nombre total de lot.
+
'''MAP_TOTAL_DOC''' = total number of batches.
  
'''MAP_TOTAL_PAGE_IN_DOC''' = nombre de page dans le lot en cours.
+
'''MAP_TOTAL_PAGE_IN_DOC''' = number of pages in the current batch.
  
La syntaxe d’utilisation est la suivante :
+
The syntax used is the following:
  
'''[[PST:'''''nom de la variable''''';'''''valeur par défaut''''']]'''
+
'''[[PST:'''''name of the variable''''';'''''default value''''']]'''
  
La « '''''valeur par défaut''''' » est obligatoire et permet d’avoir un texte présent dans la page. Ce texte temporaire sera, par la suite, remplacé par sa vraie valeur. Il est important car c’est grâce à ce texte que les calculs de positionnement se feront. Ce texte doit donc posséder un nombre de caractère au moins égal à la valeur maximale attendue par la variable utilisée.
+
The "'''''default value'''''" is mandatory and allows you to have a text in the page. This temporary text will then be replaced by its real value. It is important because it is through this text that the positioning calculations will be done. This text must therefore have a number of character at least equal to the maximum value expected by the used variable.
  
Par exemple :
+
For example:
  
 
'''[[PST:MAP_TOTAL_PAGE;000]]'''
 
'''[[PST:MAP_TOTAL_PAGE;000]]'''
  
Affichera '''&quot;000&quot;''' dans la page, mais au moment de l’impression cette valeur sera remplacée par :
+
Displays '''&quot;000&quot;''' in the page, but at the printing time this value will be replaced by:
  
*'''&quot; 5&quot;''' s’il y 5 pages au total.
+
*'''&quot; 5&quot;''' if there are 5 pages in total.
*'''&quot; 10&quot;''' s’il y 10 pages au total.
+
*'''&quot; 10&quot;''' if there are 10 pages in total.
*'''&quot;150&quot;''' s’il y 150 pages au total.
+
*'''&quot;150&quot;''' if there are 150 pages in total.
  
D’autre syntaxes existent aussi, accessibles quant à elles pendant le traitement de la page :
+
Other syntaxes also exist, and are accessible during page processing:
  
'''[[VAR:MAP_CURRENT_PAGE]]''' = numéro de la page en cours.
+
'''[[VAR:MAP_CURRENT_PAGE]]''' = number of the current page.
  
'''[[VAR:MAP_CURRENT_DOC]]''' = numéro du lot en cours (la zone '''Metadata''' gérant la rupture de lot doit être définie avant l’utilisation de cette variable).
+
'''[[VAR:MAP_CURRENT_DOC]]''' = number of the current batch (the '''Metadata''' zone managing the batch breaking must be defined before using this variable).
  
'''[[VAR:MAP_CURRENT_PAGE_IN_DOC]]''' = numéro de la page en cours dans le lot en cours.
+
'''[[VAR:MAP_CURRENT_PAGE_IN_DOC]]''' = number of the current page in the current batch.
  
Et de manière générale :
+
And in general:
  
'''[[VAR:variable d’env]]''' = récupère le contenu de la variable d’environnement.
+
'''[[VAR:variable d’env]]''' = retrieve the contents of the environment variable.
  
==Gestion des veuves et orphelines==
+
==Managing widows-and-orphans==
  
Une gestion complexe des veuves et orphelines est possible grâce à deux fonctionnalités : '''Groupe entier''' et '''Répéter''' un groupe XML.
+
Complex management of widows and orphans is possible through two features: '''Entire group''' and '''Repeat''' an XML group.
  
===Groupe entier===
+
===Entire group===
  
Lorsqu’on utilise une génération de saut de page de type '''Limite''', une nouvelle option apparait dans les '''Propriétés''' du groupe : '''Groupe entier'''. Cette option permet d’indiquer que le groupe ne peut pas être coupé et qu’il doit donc s’imprimer intégralement sur une seule page. Si la limite déclenche un saut de page, aucune ligne du groupe ne sera imprimée, le groupe sera entièrement traité sur la page suivante.
+
When using a '''Limit''' type of page break generation, a new option appears in the group '''Properties''': '''Entire group'''. This option specifies that the group cannot be cut and it must be printed in full on a single page. If the limit triggers a page break, no line from the group will be printed, the group will be fully processed on the next page.
  
[[File:onyxdesigner-image99.png]]
+
[[File:OX_D_64.PNG]]
  
===Répétition de groupe XML===
+
===XML group repetition===
  
La répétition de groupe XML part du principe que le groupe apparait plusieurs fois dans le fichier XML d’entrée. Cette fonctionnalité s’active avec le paramètre « R'''épéter''' » dans les propriétés du groupe.
+
The XML group repetition assumes that the group appears several times in the input XML file. This feature is enabled with the parameter "'''Repeat'''" in the group properties.
  
[[File:onyxdesigner-image100.png]]
+
[[File:OX_D_65.PNG]]
  
<span class="underline">Exemple</span> :
+
<span class="underline">Example</span>:
  
Dans l’exemple ci-dessous, le groupe “'''''invoice'''''” apparait trois fois dans le XML. Par défaut, le groupe de la maquette ne pourra récupérer que les informations de la première apparition du groupe dans le XML. Mais si l’option « '''Répéter''' » est cochée, l’exécution du groupe se poursuivra sur toutes les apparitions.
+
In the example below, the group “'''''invoice'''''” appears three times in the XML. By default, the group of the template retrieves the information from the first appearance of the group in the XML. But if the "'''Repeat'''" option is checked, the execution of the group will continue on all occurrences.
  
 
<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;field name=&quot;price&quot;&gt;10&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;2&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;description&quot;&gt;<br />&lt;field name=&quot;description&quot;&gt;Description item 1&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;<br />&lt;group name=&quot;'''invoice'''&quot;&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 2&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;description&quot;&gt;<br />&lt;field name=&quot;description&quot;&gt;Description item 2&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;<br />&lt;group name=&quot;'''invoice'''&quot;&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 3&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;12&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;4&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;description&quot;&gt;<br />&lt;field name=&quot;description&quot;&gt;Description item 3&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;field name=&quot;price&quot;&gt;10&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;2&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;description&quot;&gt;<br />&lt;field name=&quot;description&quot;&gt;Description item 1&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;<br />&lt;group name=&quot;'''invoice'''&quot;&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 2&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;5&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;description&quot;&gt;<br />&lt;field name=&quot;description&quot;&gt;Description item 2&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;<br />&lt;group name=&quot;'''invoice'''&quot;&gt;<br />&lt;line name=&quot;item&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;item 3&lt;/field&gt;<br />&lt;field name=&quot;price&quot;&gt;12&lt;/field&gt;<br />&lt;field name=&quot;quantity&quot;&gt;4&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;line name=&quot;description&quot;&gt;<br />&lt;field name=&quot;description&quot;&gt;Description item 3&lt;/field&gt;<br />&lt;/line&gt;<br />&lt;/group&gt;</code>
  
L’utilisation conjointe d’une limite générant des sauts de page avec l’option “'''Groupe entier'''” et la répétition active permet de gérer un système complexe de veuves et orphelines.
+
The cumulative use of a boundary generating page breaks with the “'''Entire group'''” option and the active repetition allows you to manage a complex system of widows and orphans.
  
Dans notre exemple, les lignes « '''''item''''' » et les lignes « '''''description''''' » ne pourront pas être séparées par un saut de page.
+
In our example, the "'''''item'''''" lines and the "'''''description'''''" lines cannot be separated by a page break.
[[Category:PrivateData]]
 

Version actuelle datée du 29 août 2019 à 14:04

Autres langues :
English • ‎français

Advanced features

Barcodes

Creating barcodes

To create a barcode in Designer, create a zone type Barcode and select the barcode sub-type you want.

Types of barcodes

  • EAN 8 This barcode is used to track logistics units and identify stock keeping units. The eight characters version is used for small sized packages. The data must contain seven digits. The eighth character is a control character which is calculated by the computer.
  • EAN 13 This barcode is used to track logistics units and identify stock keeping units. In an EAN 13 code, the first two characters indicate the country of origin, the other 10 are data and the last is the control character which is calculated by the computer. The data characters must contain 12 digits.
  • Code 39

    This barcode is used to encode alphanumeric data. It is used in almost every industry except the retail sector. Data may be of variable length and may contain letters and digits.

    The information can be of any length and contain digits, uppercase letters and the "space", "plus sign", "minus sign", "division", "dot", "percentage" and "dollar" characters.

  • Code 128 allows general alphanumerical data and ASCII data to be encoded. These codebars are used in numerous industries for stock management purposes. Data is of variable length. The Code 128 C must contain an even number of characters (otherwise a zero is added at the beginning of the barcode) and may only contain digits. The Code 128 B accepts all ASCII characters, whereas the Code 128 A accepts only some of them. The information to encode can be of any length and composed of:
    • Optimised: digits, uppercase letters, lowercase letters, printing or non-printing ASCII characters (0 - 128), and all the function signs and characters provided by the Code 128 in the A, B and C code sets, with systematic length optimisation
    • N/optimised: digits, uppercase letters, lowercase letters, printing or non-printing ASCII characters (0 - 128), and all the function signs and characters provided by the Code 128 in the B code set, without length optimisation
    • Digital: digits and control character provided by the Code 128 in the C code set, with systematic length optimisation
  • Code 2/5 interleaved This encoding of numbers uses density to meet precise characteristics. The security of this symbology is weak, except when using optional security measures (control character, messages of fixed length that are checked when scanning).
    • Although the length of the barcode is unlimited in terms of the number of characters, the principle of interleaving requires the following:
    • An even number of digits when the optional control character is not used
    • An odd number of digits when the optional control character is used
  • Code 2/5 industrial This old symbology was frequently used in industry, particularly the automotive industry. The security of this symbology is weak, unless it is used with messages of fixed-length and checked when scanning.

The data must contain 1 to 32 digits

    • The digital information encoding is designed with regards to ease of use
    • Development or modification of pre-existing applications
  • EAN128 Alpha n/optimised Code GS1-128 Used to identify dispatch units (pallets or cardboard boxes).
    • Encoding of alphanumeric information,
    • Variable length,
    • Continuous bidirectional self-controlled.
  • EAN128 digital Code GS1-128 Used to identify dispatch units (pallets or cardboard boxes)..
    • Encoding of digital information,
    • Variable length,
    • Continuous bidirectional self-controlled.
  • PDF 417 Used in every business sector. The PDF417 code is the only two-dimensional barcode that can be scanned using a simple linear scan (1D) due to the fact that, as stacked linear symbology, it has the features of linear barcodes as well as those of two-dimensional ones.
    • Two-dimensional,
    • Alphanumeric 2000 length,
    • Eight levels of security.
  • Data Matrix This code can encode up to 2335 characters. Various types of encoding are available (ASCII, C40, text and Base 256). The default mode is the automatic mode which can be used to optimise the encoding by switching from one mode to the other depending on the data. It also has an error detection/correction system to repair any damage.
  • Postnet The Postnet barcode is used by the United States postal service. It has been replaced by the USPS or Intelligent Mail barcode.
  • Planet The Planet barcode is used by the United States postal service. It has been replaced by the USPS or Intelligent Mail barcode.
  • QR Code It has the particular feature of being able to encode a very large number of characters (7336 in numeric mode). This type of barcode is very widespread in Japan. There are four types of encoding (alphanumeric, numeric, bytes, Kanji) to compress data depending on the type of data. By default, an automatic mode is used to choose the encoding method that will give the best compression rate (switch of mode while processing). Error detection/correction codes are added to the data, which are used to prevent the loss of data in the event of damage. There are four levels of error detection/correction.
  • MaxiCode The MaxiCode barcodes, developed by UPS - United Parcel Service, are defined by the ISO 16023-2000 standard. Unlike the others, its size is fixed, which limits the number of characters to be encoded. Indeed, the maximum number of characters is 93 alphanumeric characters or 138 numeric characters. There are two types of encoding. The first only encodes a string of characters, containing data, according to a conventional type of encoding and a standard type of error detection/correction. The second type encodes the following three fields in addition to the string of data: the country which is encoded using 3 digits according to the ISO 3166 standard, the postal code which is encoded using 6 characters and finally a type of service using 3 digits. These three fields are encoded using an extended error correction mode contrary to the string of data whose correction mode is standard.
  • Japan Postal The Japan Postal barcode is used by the Japanese postal service.
  • Codabar (NW7) In Japan, the Codabar Monarch is also called NW-7. Because of its relatively simple composition, the Codabar Monarch is frequently used to encode serial numbers in blood bank transfusion services, home deliveries, libraries, etc.
  • USPS USPS = United States Postal Service. The more commonly used official name is the Intelligent Mail Barcode. It is the new American postal barcode, which is to replace the Planet and the Postnet. The Intelligent Mail barcode is a 4-state barcode composed of 65 bars.
  • UPC-A The UPC-A barcode is an american counterpart of the EAN13 barcode, with a 0 as its first number. It is used primarily to identify products in store. The UPC-A barcode can encode 11 digits, a number system with five digits for the Manufacturing Code and five digits for the product code. A 12th digit is calculated using the first eleven in order to act as a control character.
  • UPC-E The UPC-E barcode is a short version of the UPC-A barcode, in which the ten digits of the UPC-A barcode (manufacturing and product code) are reduced to six digits by removing unnecessary zeros. With the Number System and the control character, a UPC-E barcode is therefore composed of eight digits. Designer can be used to include UPC-A (11 digits) barcodes in the UPC-E format as well as a code reduced to 6, 7 or 8 digits.
  • MSI The MSI barcode is used primarily for stock management, marking storage containers and shelving in warehouse environments. An MSI barcode uses one or two control keys calculated using the Modulo 10 or Modulo 11 and is used to encode numeric values with non fixed sizes. Designer can encode using either a Modulo 10 control key, a Modulo 11 control key, two Modulo 10 control keys, or a Modulo 11 control key followed by a Modulo 10 control key.

Size of the barcode

The size of the barcode can be defined in the following two ways:

  • The first involves choosing the Fit the area option in the Properties view, in which case the barcode will adjust as well as possible to the size of the zone, according to its standard
  • If the Fit the area option is unticked, the size of the barcode can be set by the size of the font of the zone. This size affects the width and the height of the code. The height can be reduced by reducing the percentage of the height setting of the zone.

Combined data

It is possible to combine data found in different places in the spooled file within a single barcode. In order to achieve this, it is necessary to create as many memory zones as there are elements of data to be retrieved from the spooled file and then all these zones must be combined in the label of the barcode zone.

  • In the Map F tab:

cid:image002.png@01D170A6.CBD745A0

  • In the Properties view:

OX D 47.PNG

  • In this example, the Memory zones have the values:
    • MEM_FACT: 0012601
    • MEM_DTFACT: 14/10/99
  • Outcome:

OX D 48.PNG

It is also possible to add text that is not found in the spooled file using the Memory zones (detailed in 6.4.a.3 Types of zones) : [[MEM1]]TEXT[[MEM2]].

If you use replacement zones in a Barcode zone, the length of the barcode must be equal to 0.

Special case: EAN128

The encoding of the EAN128 is identical to the encoding of the Code128. That is why we use the same fonts. The difference is that the EAN128 is structured in order to standardize the information that it contains. To achieve this, an AI (Application Identify) is inserted between each piece of information, which is used to identify the data encoded.

Structure of the EAN128: START FNC1 AI DATA (FNC1) AI DATA .... (FNC1) AI DATA CRC END

FNC1: Separator character of the EAN128.

AI: an Application Identifier, is used to encode several standardized elements of information in one code (date+time+etc.).

The first FNC1 is automatically added by Designer. It is required as it is used to differentiate an EAN128 barcode from a CODE128 barcode.

However, the following FNC1 are optional. Indeed, they are only required when the previous element of data does not have a fixed length, in which case they are used to separate each element of data.

If you want to insert the FNC1 character, you have to put the {FNC1} character sequence in your spooled file. These characters will automatically be replaced with FCN1 characters by MAPPING.

E.g. SPOOL ----> MAPPING

AI DATA ----> START FNC1 AI DATA CRC END

AI DATA {FNC1} AI DATA ----> START FNC1 AI DATA FNC1 AI DATA CRC END

If you cannot change your spooled file to add the "{FNC1}" characters or if you want to combine several elements of data that are located in different places in the spooled file (see previous paragraph: 8.1.b. Combined data), use memory zones.

Special case: code 128

There are three encoding modes for 128 barcodes:

  • mode A (alphanumerical),
  • mode B (alphanumerical). The code 128 Alphanumeric encodes in B mode,
  • mode C (numerical). The code 128 Alphanumeric encodes in C mode.

The code 128 Alphanumeric Optimized switches from B mode to C mode automatically in order to optimize the size of the barcode.

However, your barcode may have to respect a specific type of formatting, i.e. a certain number of characters in A, B or C mode.

For example, the barcode that corresponds to the mail tracking ID of "La Poste" contains 13 characters. The first three must be encoded in B mode and the last ten in C mode.

In order to create this barcode using Designer, you must create a "Code 128 N/Optimised" type zone and then enter a formatting screen in the Advanced options of the zone.

Example:

For the following data: 1J45034500751

You want to encode:

- the first three characters (1J4) in B mode

- the last ten characters (5034500751) in C mode

Your formatting mask must therefore be BBBCCCCC.

You will notice that although there are ten digits to be encoded in C mode, there are only five 'C's in the formatting mask. This is due to the fact that one character in C mode encodes two digits.

Special case: 2D Codebars

Currently, MAPPING manages four types of 2D barcodes: PDF417, DATA MATRIX, QR CODE and MAXICODE.

If "Fit the zone" is checked, the "Barcode width" setting is used to change the size of the barcode. In this case it should be noted that the size of the barcodes can vary in height and width depending on the content to be encoded.

The benefit of 2D barcodes is being able to encode a number of important pieces of information. If the data that you need to encode is located in different places in the spool, go to section 8.1.b. Combined data to combine them in a single barcode.

QR code

The QR CODE barcode was developed according to the International ISO/IEC 18004 standard. It has the particular feature of being able to encode a very large number of characters (7336 in numeric mode).

This type of barcode is very widespread in Japan. It is already used in the industry, but has also been adopted by the general public eversince mobile phones know how to decode it.

There are four types of encoding (alphanumeric, numeric, bytes, Kanji) to compress the data depending on the type of data. By default, the automatic mode is used to choose the encoding method that will give the best compression rate (switch of mode while processing). For example, let us assume that the beginning of the string contains alphanumeric type data. As soon as the program detects a string of at least 13 numeric characters, it changes encoding mode.

Error detection/correction codes are added to the data. These codes prevent the loss of data in the event of damage. There are four levels of error detection/correction. By default, level three is used, its codes use approximately 25% of the final barcode.

Onyxdesigner-image75.png

Advanced options available:

  • Barcode width: Value between 1 and 15 specifying the size of the barcode.
  • Error Level: (7%, 15%, 25% and 30%).
  • FCN1:
    • ECI protocol not implemented.
    • ECI protocol not implemented, FNC1 implied in first position.
    • ECI protocol not implemented, FNC1 implied in second position, in this case, a separator character (Application identifier) must be specified.
  • Application Identifier: Separator character, used only with the implicit FCN1 in second position.
  • Type of encoding:
    • AUTO: Automatic encoding of the data with a switch in mode depending on the data.
    • ALPHA: Alphanumeric encoding.
    • NUMERIC: Numerical encoding.
    • BYTE: Encoding in bytes.

DATAMATRIX

The Datamatrix barcode is defined by the International ISO/IEC 16022 (ECC200) standard. This code can encode up to 2335 characters.

Various types of encoding are available (ASCII, C40, text and Base 256) and the default mode is the automatic mode that can be used to optimize the encoding by swapping from one mode to the other depending on the data.

It also has an error detection/correction system to repair any damage.

Onyxdesigner-image76.png

Advanced options:

  • Barcode width: Value between 1 and 15 specifying the size of the barcode.
  • Type of encoding:
    • AUTO: Automatic encoding of the data with a switch in mode depending on the data
    • ASCII: The ASCII encoding is a tacit plan for encoding the ASCII data.
    • C40: C40 encoding transforms 3 alphanumeric characters into two code words.
    • TEXT: The Text encoding is used to encode the lowercase characters.

PDF 417

The PDF 417 is defined by the International ISO/IEC 15438 standard. This type of barcode can encode up to 2700 numeric characters.

There are three types of data encoding (alphanumeric, numeric and bytes). The automatic mode chooses the best compression rate and changes the mode while encoding.

There are also eight levels of error detection/correction mode. In automatic mode, the level is chosen according to the number of characters to be encoded.

Onyxdesigner-image77.png

Advanced options:

  • Barcode width: Value between 1 and 15 specifying the size of the barcode
  • Error Level:
    • AUTO: automatic choice.
    • 0 - 8
  • Compact mode: Activation of the compact mode or not.
  • Ratio: Used to determine the height/width ratio of the barcode.
  • Fixed columns: Used to define the number of columns.
  • Fixed rows: Used to define the number of rows.

The selection of a ratio prevents you from specifying the number of rows and columns.

UPS MAXICODE

This type of barcode, developed by UPS - United Parcel Service, is defined by the ISO 16023-2000 standard. Unlike the others, its size is fixed, which limits the number of characters to be encoded. Indeed, the maximum number of characters is 93 alphanumeric characters or 138 numeric characters.

There are two types of encoding:

  • The first only encodes a string of characters containing data according to a conventional type of encoding and a standard type of error detection/correction.
  • The second type encodes three other fields stored in three of Designer's memory spaces, in addition to the string of data. These fields are: the country encoded using 3 digits in accordance with the ISO 3166 standard (called MAP_countr), the postal code encoded using 6 characters (MAP_zipcod) and finally a type of service using 3 digits (MAP_servic). These three fields are encoded using an extended error correction mode contrary to the string of data whose correction mode is standard.

Onyxdesigner-image78.png

Advanced options available:

  • Barcode width: Value between 1 and 15 specifying the size of the barcode.

Automating

Automating Designer processes allows you to create image files corresponding to the preview of a project as well as generate a project or an association of projects. All this can be done in command line, in hidden mode or not.

The aim is to set the command with a .BAT or a remote order, for example.

  • -InFile: .PAG or .XML file to map.
  • -OutFile: Output image file.
  • -ProjectFile: Project to open (.MPP).
  • -ProjectAsso: Project association to generate (.MPA).
  • -MPIFile: .MPI file to open (MAP tab).
  • -MPWFile: .MPW file to open (DRAW tab).
  • -Hide: To launch Designer in hidden mode.
  • -Color: Use of colour or not to create the image.
  • -Rotation: rotation angle of the image (default: 0).
  • -Resolution: Image resolution (default: 300).
  • -Specimen: Adding a text above the image (text to specify in the argument).
  • -Mode: Choice of the SPOOL or XML mode (default SPOOL).
  • -Generate: To start generating the project indicated in the argument.
  • -FtpUse: 0 = does not use FTP; 1 = uses FTP.
  • -FtpFolder: FTP folder.
  • -FtpLogin: FTP login.
  • -FtpPassword: FTP password.
  • '-FtpIPAddress: IP address of the server.
  • -ShareFolder: Shared folder.
  • -ServerName: Name of the server (description).
  • -Rename: changes the FORMAT and SEQUENCE of the project using its name. Ex: Invoice00010.mpp.

Example 1: Project generated in PCL, in color and 300 dpi

C:\Mapping\M-Designer\M-Designer.exe "-Hide" "-ProjectFile:C:\Mapping\M-Processing_Server \Import\docpc\test.mpp" "-Generate"

When using the "-Generate" setting (indicating a project generation), the "-ProjectFile :" or "-ProjectAsso :" setting must be present to identify the project to be generated.

If both settings "-ProjectFile :" and "-ProjectAsso :" are present, the project will take priority for the generation and the association of projects will be ignored.

Example 2: creating a colour BMP image, with a 90° rotation, in 203 dpi and with the word SPECIMEN overlaid

C:\Mapping\M-Designer\M-Designer.exe "-InFile:c:\test.xml" "- OutFile:c:\image.bmp" "-ProjectFile:C:\ Mapping\M-Processing_Server \Import\docpc\test.mpp" "-Hide" "-Rotation:90" "- Resolution:203" “-Color” "-Mode:XML" "-Specimen:SPECIMEN"

The "-InFile" and "-ProjectFile" settings are required to create an image.

If "-OutFile" is missing, the output file takes the name of the input file with the .BMP extension.

The default mode is SPOOL. If the input file is an XML file, you have to specify the mode.

Caution: The quotation marks around each parameter are required.

Replacing characters

The objective is to explain how to replace a string of characters in the input file with another string of characters.

The operating principle involves using a text file as a conversion chart between the value to be replaced and the new value.

The following is required in order to use the conversion chart:

  • Define the zone using the Type mode = Text / Sub-type = Substitution.

OX D 49.PNG

  • Finish and generate the template.
  • Open the ReplaceValue.txt file in a text editor (like Notepad, but not Word). The syntax of the file is:

Value to be replaced Tab New Value

Onyxdesigner-image80.png

In this case, the "]" character is replaced with the ">" character and the "Nom" character is replaced with the "Name" character (if the value to replace is located in a Text\Substitution type zone).

  • Save the ReplaceValue.txt file in the lgobitmap Mapping sub-folder (by default /apps/mapping/import/lgobitmap on Unix)

Drawing a table

Drawing a static table

To create a perfectly drawn and aligned table without using the Static Table tool of the Overlay view:

  • first, draw the rectangle that will act as the borders of the table,
  • draw the vertical lines to create columns,
  • draw horizontal lines to create lines if necessary (column headers for example),
  • finally select all elements of your table and press the lowercase "a" on your keyboard:

Onyxdesigner-image83.png

Onyxdesigner-image84.png

Note:

This tip also applies to designing the Dynamic part of a project. You can draw a table inside a group in dynamic view, and place an execution condition on a horizontal line for instance, to draw a line dynamically for every new data row.

Drawing a dynamic table

As mentioned in (6.4.b.2. Creating a fixed group), the table mode allows the zones of the group to act as cells of a table. The zones of one line are automatically linked.

Note:

Resizing or moving a zone impacts the size and position of the adjacent zones.

The lines of the group (or conditions) are represented visually in the designing window. The zones are vertically distributed according to their line.

OX D 50.PNG

Drawing a graph

In the Map tab:

  • Create a graph in the Graph tab:

OX D 51.PNG

  • Name it (here, "GRAPH1"):

OX D 52.PNG

From there, the complex graph can be built in two different ways, detailed below.

By selecting zones one by one

  • In the spooled file, select the zones which will be used in the graph,
  • In the Properties for each defined zone:
    • Name them all with the same name as the graph (which is "GRAPH1" here)
    • Enter the Type = "Graph":

OX D 53.PNG

  • Depending on the use made of the zone in the graph, select the corresponding Sub-type in the list:

OX D 54.PNG

  • Go to the Graph Properties and click on Edition:

OX D 55.PNG

  • Set your graph by choosing from the tabs:
    • Type:
      • Name of the graph: which will be included in the name of the zones,
      • Number of zones which will lay out the graph,
      • Graph type: Pie, Bar or Line chart

OX D 56.PNG

NB: For the graph type = Bar chart, it is possible to define the spacing between the bars on the right and on the left (in %). This option can be used, for example, to add spacing between the bars so that a second graph can be overlaid on top of the first one.

OX D 57.PNG

  • Properties: allows you to choose the filling, the border, the width of the outline, the filling type, …

OX D 58.PNG


  • Positioning: allows you to place the titles (X, Y, of the graph) as well as the legend, to resize the graph according to the preferences of the user.

N.B. The print area of the graph is delimited by the large rectangle, so everything outside this area will not be visible when printing (e.g. the "Legend" area is outside the rectangle in the first image below while it is inside it in the second).

OX D 59.PNG

OX D 60.PNG

  • The Legend is built by selecting zones in the spooled file which will act as legend for the chosen attributes. As with any other data, the zone must be named (e.g. give a name to the graph) and the properties of the zones must be specified with Type = "Graph" and Sub-type = "legend data".

N.B. Be careful to respect the same order as that of the attributes when selecting the zones that will be used for the legend because they will follow the same order as that of the attributes.

By creating a group

The principle is the same as that described above except that the data is assembled into a group. This is possible if the data used in the chart is arranged in continuous in the spooled file.

  • Create a group that will define the data to be taken into account for the construction of the graph and add the selected zones that contain data, titles, legend …
  • Name the zone(s) with the same name as the graph and enter its properties with Type = "Graph" and Sub-type according to the role of the zone (title, data, legend…).

The remainder of the graph construction is done in the same way as that described above.

Calculations in a group

To simplify calculations in group and especially the management of "total" and "sub-total", a tool has been integrated within Designer. It allows you to process an input XML file using scripts. These scripts are executed before the application of the template.

OX D 61.PNG

OX D 62.PNG

Adding calculations into a group through this tool is done using the "addline" script function. This function adds a line to a group specifying a sequence of pairs "field name/value" to add.

In addition, the "character string" type parameters must be framed by double quotes and field names in formulas by single quotes.

Syntax:

addline(name of the group, name of the line, page break type line, name of the first field, value of the first field, pre-calculation of the first field, name of the second field, value of the second field, pre-calculation of the second field, etc…);

The addline function starts by the following arguments:

  • Group name: contains the name of the group where the line should be added.
  • Line name: Name of the line to add.

Then, it consists of an unlimited sequence of field / value pairs:

  • Field name: field name of the line.
  • Field value: field value of the line.
  • Pre-calculation: Boolean value (0 or 1, yes or no). If the field has a calculation then this defines when the calculation should be:
    • Yes: The calculation is resolved during the script execution, taking into account all the XML values.
    • No: The calculation is solved when using the value in a template and therefore only takes into account the values in the current page.

For example, the following script adds a line to the group named "group":

addline("group","line",yes,"field1","value1",no,"field2","value2",no);

<group name="group">

<line name="line" pagebreak=”1”>
<field name="field1">value1</field>
<field name="field2">value2</field>
</line>
</group>

If the field value contains a calculation then the syntax is:

SUM('''''operation''''') to calculate a sum over all the groups of lines.

AVG('''''operation''''') to calculate an average over all the groups of lines.

In this example, "operation is a mathematical calculation using field names in lines of the group. Field names must be framed by single quotes.

For example:

<group name="invoice">
<line name="item">
<field name="name">item 1</field>
<field name="price">10</field>
<field name="quantity">2</field>
</line>
<line name="item">
<field name="name">item 2</field>
<field name="price">5</field>
<field name="quantity">3</field>
</line>
<line name="item">
<field name="name">item 3</field>
<field name="price">12</field>
<field name="quantity">4</field>
</line>
<line name="item">
<field name="name">item 4</field>
<field name="price">5.5</field>
<field name="quantity">3</field>
</line>
</group>

To add a total line to this group, this script must be used:

addline("invoice", "LigneTotal",no

"total", "total = SUM('price'*'quantity')", yes

"moyenne", "moyenne = AVG('price'*'quantity')", yes

);

This script adds a total line at the end of the group:

<group name="invoice">

<line name="item">
<field name="name">item 4</field>
<field name="price">5.5</field>
<field name="quantity">3</field>
</line>
<line name="LigneTotal">
<field name="total">total = 99.5</field>
<field name="moyenne">moyenne = 24.875</field>
</line>
</group>

Using the Pre-calculation option set to "no" allows you to not execute calculations when adding the line to the group but when executed by the template. The advantage of this option is to perform calculations only with the written data on the current page, thus allowing the writing of subtotals.

To add a sub-total line to the previous group, use this script:

addline("invoice","LineSubtotal",yes, "subtotal","sub-total = SUM('price'*'quantity')",no);

This script adds a total line at the end of the group:

<group name="invoice">

<line name="item">
<field name="name">item 4</field>
<field name="price">5.5</field>
<field name="quantity">3</field>
</line>
<line name="LineSubtotal" pagebreak=”1”>
<field name="subtotal">sub-total = SUM('price'*'quantity')</field>
</line>
</group>

Pagination management

Managing information writing of pagination such as the total number of pages, the number of the batch and the number of pages in the batch is possible in Designer through the following two options:

Batch breaking

The Batch breaking option can be found in the Properties of the template (see 4.2. Creating a project). It defines a Metadata type zone which will be used to group the pages of the final document in batch.

OX D 63.PNG

During page processing:

  • If the Metadata type zone retrieves a new value then a new batch is created. The current page will belong to this new batch.
  • If the Metadata type zone retrieves a value which was already previously recovered, the current page is moved to the batch corresponding to that value.
  • If no value is recovered by the Metadata type zone, the page remains in the same batch as the previous page.

The multi-document system of XPS is used to represent the batch, the output file is sorted by sequence (first pages of the first batch and the second pages, etc ...).

Replacement variables

There are "post-treatment" type variables to enable information writing of pagination, that is to say they will be replaced by their real value at the printing time.

These variables can be used into zones or in text blocks:

MAP_TOTAL_PAGE = total number of pages.

MAP_TOTAL_DOC = total number of batches.

MAP_TOTAL_PAGE_IN_DOC = number of pages in the current batch.

The syntax used is the following:

PST:'''''name of the variable''''';'''''default value'''''

The "default value" is mandatory and allows you to have a text in the page. This temporary text will then be replaced by its real value. It is important because it is through this text that the positioning calculations will be done. This text must therefore have a number of character at least equal to the maximum value expected by the used variable.

For example:

PST:MAP_TOTAL_PAGE;000

Displays "000" in the page, but at the printing time this value will be replaced by:

  • " 5" if there are 5 pages in total.
  • " 10" if there are 10 pages in total.
  • "150" if there are 150 pages in total.

Other syntaxes also exist, and are accessible during page processing:

VAR:MAP_CURRENT_PAGE = number of the current page.

VAR:MAP_CURRENT_DOC = number of the current batch (the Metadata zone managing the batch breaking must be defined before using this variable).

VAR:MAP_CURRENT_PAGE_IN_DOC = number of the current page in the current batch.

And in general:

VAR:variable d’env = retrieve the contents of the environment variable.

Managing widows-and-orphans

Complex management of widows and orphans is possible through two features: Entire group and Repeat an XML group.

Entire group

When using a Limit type of page break generation, a new option appears in the group Properties: Entire group. This option specifies that the group cannot be cut and it must be printed in full on a single page. If the limit triggers a page break, no line from the group will be printed, the group will be fully processed on the next page.

OX D 64.PNG

XML group repetition

The XML group repetition assumes that the group appears several times in the input XML file. This feature is enabled with the parameter "Repeat" in the group properties.

OX D 65.PNG

Example:

In the example below, the group “invoice” appears three times in the XML. By default, the group of the template retrieves the information from the first appearance of the group in the XML. But if the "Repeat" option is checked, the execution of the group will continue on all occurrences.

<group name="invoice">
<line name="item">
<field name="name">item 1</field>
<field name="price">10</field>
<field name="quantity">2</field>
</line>
<line name="description">
<field name="description">Description item 1</field>
</line>
</group>
<group name="invoice">
<line name="item">
<field name="name">item 2</field>
<field name="price">5</field>
<field name="quantity">3</field>
</line>
<line name="description">
<field name="description">Description item 2</field>
</line>
</group>
<group name="invoice">
<line name="item">
<field name="name">item 3</field>
<field name="price">12</field>
<field name="quantity">4</field>
</line>
<line name="description">
<field name="description">Description item 3</field>
</line>
</group>

The cumulative use of a boundary generating page breaks with the “Entire group” option and the active repetition allows you to manage a complex system of widows and orphans.

In our example, the "item" lines and the "description" lines cannot be separated by a page break.