Translations - ONYX - 9.0 - Utilisation
Utilisation de ONYX Designer/1/en
Sommaire
- 1 Introduction
- 2 Configuring Designer
- 2.1 General
- 2.1.1 Automatic save
- 2.1.2 Lock projects upon opening
- 2.1.3 Create .bak files
- 2.1.4 Select object before moving
- 2.1.5 Enable script editor
- 2.1.6 Show all component errors
- 2.1.7 Straight lines
- 2.1.8 Temporary folder
- 2.1.9 List of characters to be displayed in double width
- 2.1.10 Default style
- 2.1.11 Language
- 2.2 Configuring the servers
- 2.3 Font
- 2.4 Calculation options
- 2.1 General
- 3 Interface of the application
- 4 Creating a project
- 5 Fond de Page (Onglet Draw)
- 6 Partie Dynamique (Onglet Map)
- 7 Générer un projet
- 8 Fonctionnalités avancées
Introduction
Objectives
In the ONYX suite, ONYX Designer is the module dedicated to creating document templates. This page is a reference guide for the configuration and usage of Designer in the ONYX Suite. This introduces you to all the features of the application.
Prior training is required to use Designer. This page is not intended to replace the dedicated training.
Presentation of Designer
Designer is the design and graphic mapping module for documents. It is used to transform simple files with static data into high-quality graphic documents.
In the ONYX Suite, Designer relies on the use of XPS Mapping design language (MXPS).
No software keys are required to use Designer on a Windows workstation.
The software runs on Windows workstations and features a dual sided user interface. The first part is a drawing view used to create overlays, which can be compared to pre-printed paper in the printing industry. The second part is a dynamic view used to retrieve data, manage it and display it.
Whether it comes from a file, is extracted from a database or an ERP, or is formatted beforehand via the Connect software, data is displayed "flat" (paginated text format) or in XML (compatible with Designer - see 6.3 Mode XML : syntax and specifications).
The template (document template) is designed on the user workstation that is hosting the application with a "Preview" mode to validate changes as soon as they are made. During the design process, the document template is called a Designer Project.
The template is then generated and imported on the ONYX Server (Linux or Windows) to be used in production. This is then called a Designer Format.
ONYX:9.0:Utilisation:paramétrage de ONYX Designer
Configuring Designer
After Designer was installed, the first step is to configure the Preferences (see 1) of the application. They are accessed from the File menu (see 2). The preferences are local to the current user and are stored in the Windows registry of the workstation under HKEY_CURRENT_USER/Software/Mapping.
General
The first tab of the Preferences window displays the general options of the application.
Automatic save
This option programs an automatic save of the projects being designed (opened in the application). The projects are saved at regular intervals defined in minutes in the corresponding input field.
Lock projects upon opening
As will be referred to later in this guide, several users can work with Designer at the same time using a common folder for projects. In this case activating this feature is recommended as it will prevent concurrent access to the same project.
As soon as a user opens a project, writing access is denied to other users. Other users can then only access the project in read-only mode.
Create .bak files
This option allows you to keep N-1 versions of the project when saving it. The corresponding files then have the ".bak" suffix added as their extension.
Select object before moving
As will be referred to later in this guide, All objects positioned in the document template can be edited and moved around. This option forces the user to select an object before he can move it. This prevents objects from being moved accidentally as you select them.
Enable script editor
This option allows you to create, edit, or delete scripts. (see Script editing link)
Show all component errors
This option affects the number of error windows appearing when opening a project with components that are unavailable in the project folder.
- Activated by default, one window is displayed per missing component, asking for the user to provide said component.
- Deactivated, component errors are gathered and displayed in the same window.
Straight lines
This option forces the application to only draw horizontal or vertical lines (most currently used) by disabling oblique lines.
Temporary folder
This option defines the path of the temporary folder. By default, this is the folder for the installation of the application but this value can be changed if needed.
List of characters to be displayed in double width
This input field allows you to add hexadecimal values (or ranges of values) of specific characters to consider and display in double width.
This option is useful to display datastreams in the Spooled file view and preview the document template in real time. A similar feature can be found on Onyx Server in the configuration variable MAPCPYSPLF_DBCSPITCH_LIST.
Default style
This list is used to select or not select a style template to define a list of colours, line type, fonts, etc. for your project.
Language
This option is used to choose the display language of the interfaces of the application. The default language of Designer is the same as that of your operating system. The available languages are English, French and Japanese.
Changing the language of Designer affects the other tools in the Suite, including Connect, and the application has to be restarted for any change to be registered.
Configuring the servers
The Servers tab of the Preferences view is used to configure the paths the application must have access to:
- The shared folder of the Designer projects sources.
- The import folders for formats in Onyx Server.
The shared sources folder contains all the projects developed by all the Designer users.
Once developed, Designer projects mut be generated on the production server in the import folder.
Here are the default paths of the import folder of the Onyx Server according to the type of platform used:
- Unix: /apps/mapping/import/
- Windows: C:\Mapping\M-Processing Server\Import\
To generate the project, a connection must be established between the development workstations and the production server. Two types of configurations are possible.
Required settings:
- Name of the server: Name given to the configuration.
- Shared folder: Shared folder for the sources.
- Access path: destination path of the generation.
- Import folder: Onyx Server import folder, only used for option "Send mapping".
The server access folder can be:
- A UNC path Examples:
\\test_server\ProgramData\M-Processing Server\Import\ (under Windows)
\\test_server \home\mapping\ (under iSeries)
- A network drive with the address of the import folderExample: either a network drive "M:" with the address of the "...\M-Processing Server" folder of the production server. The access folder thus contains "M:\Import\".
In the case of a UNIX production server, a "Samba" type software application must be installed for this connection mode so that the development workstation can communicate with the production server. Connections using the FTP mode are preferable.
Access to the server using an FTP connection
In this case, an FTP (or SFTP) connection must be established between the development workstation and the production server.
Required settings:
- Name of the server: Name given to the configuration.
- FTP/FTP Passive/Secure FTP: Choice of connection mode: FTP, FTP Passive, Secure FTP.
- IP address or Name: IP address of the production server.
- Login: User name for the FTP access.
- Password: Related password.
- Sharing folder: Shared folder for sources.
- Access path: Access path to the Onyx Server import folder.
- Import folder: Onyx Server import folder, only used for the "Send mapping" option.
Font
The Generation of XPS fonts by code page field is used to pre-load XPS fonts by defining one or several code-pages to optimise processing time during the process. The separation character used is code-pages is ";".
Note: When a project is imported, if it is written in a non-registered font, a warning message is displayed in red in the "Properties" of the zone affected, specifying that the font is missing.
Calculation options
The two options in the Calculation tab define thousands and decimal delimiters. This information is used to retrieve integer or real values in the application (by memory zones), calculations and results display in the preview.
Neither of them affect the generation of projects.
Similar options exist for execution in M-Processing Server: MAPCPYSPLF_THOUSAND and MAPCPYSPLF_DECIMAL.
These settings are used to run all templates, however, they can be set differently before running any Mapping commands, to use other delimiters and fit regional standards.
Interface of the application
General presentation
When using Designer for the first time, only the overlay designing view is displayed. This simple display mode allows you to only activate the windows you need.
Window activation is explained in 3.2.a File menu.
The following image shows an overview of the Designer user interface. In this example, the Spooled File View, Properties, Conditions and Object Tree windows are activated.
It is divided in several parts:
- 1: File Menu
- 2: Tabs in the Ribbon
- 3: Groups of tools associated with each tab of the Ribbon
- 4: Status bar with the tools used to position and size objects
- 5: Navigation between the static and the variable parts of a project + display zoom tools
The Designing Space where templates are designed is found between the menus and tools displayed at the top of the window and the status bar located at the bottom.
This design space can also be made up of several views, in addition to the central Designing view:
- 6: Properties View: of the format, of an object selected in the template
- 7: Spooled file View: included in the same display space as the Properties, multiple tabs are now available.
- 8: Object Tree View list of all the objects in the template (static and variable parts)
- 9: Conditions View: of the format, of a selected object.
The display positions of each view can be configured according to the user preferences and habits. To do so, hold the button of your mouse down when clicking on the title of the View, then drag the mouse to the required display area or on an already positioned view, a display space with several views is now shown.
Menus and associated toolbars
This part introduces you to the different menus and options available within them, in the Designer interface. Each notion will be further detailed in the following parts.
File Menu
New:
- Project: creates a new project with default properties (DEFAULT format, sequence 00010, in A4, simplex).
- Component: creates a new component with default properties (A4, simplex).
- Variable element: creates a new variable element with default properties (A4 simplex).
- Document: creates a new Overlay document (.mpw) or Dynamic document (.mpi) according to the selected view (Draw F or Map F). This overwrites the current document.
Open:
- Project: opens an existing project by browsing file paths. The folder selected by default depends on the Server preferences of the application.
- Component: opens an existing component.
- Variable Element: opens an existing variable element.
- Document: opens an existing Overlay (.mpw) or a Dynamic document (.mpi), according to the selected view (Draw F or Map F). This overwrites the current document.
- Spooled File: used to select a spooled file to load in the application as a designing data template.
Save:
- Project: saves the curent project. Source files of the project will be saved, N-1 versions may also be saved according to user preferences.
- Document: saves the current Overlay (.mpw) or Dynamic document (.mpi), according to the view displayed (Draw F or Map F).
Save as:
- Project: saves the current project under an other name. Source files of the project will be saved under the new names given by the user.
- Document: saves the current document (.mpw or .mpi) under an other name.
Project association:
- Links several projects to make their generation easier. A project association creates a settings file on the disk, with a *.mpa extension, in which the projects concerned and the generation options are listed.
Multiple generation:
- Selects multiple Designer projects to generate them all at once.
Import:
- Designer file: imports another existing Designer overlay such as a component, or the static part of another project, in the static part of the current project.
- XML Designer: imports an entire Designer project in the application, after it was exported to XML. This imports the XML file as a new project, retrieving all its properties and designs.
- Resources: imports an external resource as overlay of a new project, in the application. Resources can either be XPS documents or AFPDS overlays.
Export:
- Printer (PCL5): prints the overlay of the current project on a printer registered on the workstation.
- Project: selects one or several projects to export in an archive (.zip) with the potential associated spooled files.
- XML Designer: exports the entirety of the current project in an XML description file. All properties and designs of the project are found in the resulting file which will then be imported in an other instance of the application, on an other workstation for instance.
Close:
- Closes the current project or document and detects unsaved changes.
Preferences:
- See 2.1 General.
Home Menu
The Home menu gives access to the general options of the project or document being created:
Clipboard:
- Cut/ copy/ paste one or several elements selected in the project (standard keyboard shortcuts Ctrl+X, Ctrl+C and Ctrl+V are also available)
- Copy the formatting of an element onto others (texts or shapes)
- Duplicate a selected element and set the required number of horizontal and vertical occurrences (this is useful when creating sheets of labels for instance).
System fonts:
- Text standard formatting: choose the TTF system fonts available on the workstation (Windows), the size, colour, bold/ underlined/ italic, justified or aligned.
Generate:
- Generate the project being created. This option is only available for projects being created (opened in the application).
- Generate an existing project association.
- Export overlay (see the File Menu part).
- Access the script utility in the Designer application.
Preview:
- Preview project currently being created.
- Select and load a spooled file in the application (this is useful when designing a document and previewing it).
- Multiple preview for multi sequence projects.
- Save an image of the preview.
- Load an XPS file as a layer (not included in the generation but displayed in the design as a pre-printed form).
- Unlink the source file (spooled file) to the template and close it.
- Carry out processings on XML input file using scripts.
Edit Menu
The Edit menu gives access to designing options of the current project or document:
In addition to the Clipboard and Font system sections, the following tools are also available in this menu:
Sort:
- Applied to one or several selected elements, sorting can bring them to the front or to back, manage alignments and rotations. These options can also be accessed by right clicking on the selected elements and further detail will be given in the following parts of this documentation.
Position according to grid:
- To help with designing, a grid can be displayed to make positioning elements easier for the user. The two options of this section help to adjust the spacing of the grid (size of the grid and thus the precision of element positioning) and snap objects to the grid while they are moved.
Display Menu
The Display menu gives access to display options of the different views of the application:
Show/Hide:
Given that none of these options are activated when opening the software for the first time, the functions which are most suitable for the basic use of Designer will be marked with the term (recommended).
- Grid: displays the grid in the designing view.
- Top/Left Ruler: displays the top and left hand rulers of the designing view. It is possible to place guides in these rulers in order to align objects more easily. A Left click on the ruler places and collapses a rule-guide. A Right click on an existing rule-guide deletes it.
- Spooled file view: displays the loading view of the example spooled file (or XML file) (recommended).
- Properties : displays the properties view of the project and elements (recommended).
- Conditions: displays the conditions view (recommended whenever the design work deals with a dynamic part).
- Object Tree: displays the list of all the elements positioned in the document template, some features related to the elements can also be accessed.
- Tab bar: displays the tab navigation bar for the different projects opened in the application.
Characters list:
- Lists all the characters supported by the application according to a code page and font. This can be useful to insert special characters, which cannot be directly typed in, in a document.
Refresh:
- Refreshes the screen.
Windows:
This helps you manage the many windows of your projects opened in the application. It allows you to activate, save or close some of them or all of them all at once.
Shape Menu
This menu features all the drawing and composition tools for your document template. This menu is arranged differently depending on the part of the project concerned, the overlay part (static) or the dynamic part (variable).
Shape Menu of the Overlay (or Static)
In addition to the Clipboard and Font system sections, the following tools are also available in this menu:
Insert:
- Add and position a zone which contains static text. This text can then be formatted using the associated formatting options.
- Add and position a static image (such as a company logo).
- Add, parameter and position a static table by defining the number of rows, columns, the outline and their formatting, as well as the title of each row / column, …
Shapes:
- Standard drawing palette to add lines, curves, squares, rectangles, rounded rectangles, circles, ellipses, as well as some preset shapes.
Styles:
- Formatting options related to each of the previous elements: style and colour of the outline, filling style and colour, line thickness.
Generate:
- This option is specific to components and is used to generate them.
Shape Menu of the Dynamic view
In addition to the Clipboard and Font system sections, the following tools are also available in this menu:
Data:
These tools are used to process source file data (spooled file). There are two types of tools:
Group:
- Adds, parameters and positions groups of data: fixed and variable groups.
- Also adds anchors used to position variable groups.
Zone:
- Adds, parameters and positions data recovery zones.
Insert:
- Inserts other dynamic elements, in addition to the data from the spooled file: straight lines, rectangles, text zones input using the keyboard, dynamic images, graphs...
- Adds components and/or variable elements which were designed elsewhere in the project.
"Quick access" toolbar
The title bar of the application features a shortcut bar, or toolbar, called "Quick access:
The tools and features accessible in this zone are completely configurable according to user habits.
To add a feature in the Quick access zone, you need to find the feature using the menus and then, right click and select "Add to the Quick access toolbar" as shown below:
The new feature is then displayed in the title bar:
To delete a feature from the Quick access zone, right-click on it and select Delete from the Quick Access toolbar.
The drop down menu on the right of this zone allows you to customize the features accessible as well as how they are arranged, using the Customize the Quick access toolbar section (display order, add separators):
Creating a project
Project
A Designer project is made up of an overlay, which is the static part of the template, and a data file, which is the variable or dynamic part. A project is identified by a specific format name and sequence number which make it unique within the production server..
On a PC Drive or Network share, a project is made up of three files (or five in the case of a double-sided project):
- A .mpw file with the overlay in simplex (another one for the duplex if necessary)
- A .mpi file with the data formatting in simplex (another one for the duplex if necessary)
- A .mpp file identifies the project and associates it with the other .mpw and .mpi files.
The project term is only used as the template is designed in Designer. Once it is generated on the server, we refer to it as a format and a sequence number.
Creating a project
To create a new project, go to the File menu > New > Project.
The designing view then displays the project as a blank page with default parameters (portrait, A4, simplex).
In the Display tab, we recommend you to check the Properties box in the Show/Hide tab, a window on the right part of the screen appears displaying all the properties to define.
First, you must specify both of these parameters:
- Name of the format = ID of the format with ten characters maximum.
- Sequence = numerical ID of the sequence with five characters maximum.
Formats and Sequences will be explained in further details below.
Other properties can be configured in this panel:
- Description= user information (limited to 25 characters maximum).
- Comment = additional information.
- Destination = generation path of the project (also defined in Preferences).
- Mode = type of data to format: SPLF (text) or XML.
- Code Page = to open a non-Unicode spooled file with an XPS template specifying the file code page in the project properties. This option can only be accessed in SPLF mode.
- Style = selection of the style sheet (also defined in Preferences). This option is explained in further details below.
- Document and Page = allows you to add data in printer language in the output datastream for the following languages: PCL5, APFDS, PDF, ZPL, DPL, TEC, IGP, IPL and EPL. A zone can include data from different languages. When the XPS file is converted to the output language, the data corresponding to the output language is used. Data is specified at the beginning and end of the document.
- Orientation = portrait or landscape fr the simplex and potentially the duplex side.
- Page size (ISO standard formats or customised format) and margins.
- Selection of a simplex or double-sided project (flip the page on the long or the short edge).
- Page break = default setting of the application as it processes data one page at a time and adds a page break once the data of a page has been completely processed. If the break is deactivated, the data of the following page will be placed after that of the page processed.
- Batch breaking = defines a Metadata type zone which will be used to group the pages of the final document together (see 8.8.a. Pagination management by batch breaking).
- Position = if the page break is disabled, this option allows you to specify the position of data on the following page, i.e. to the right of the current page (horizontal shift) or below (vertical shift).
The SO/SI property is used under Windows and Unix to reproduce a native function under iSeries, i.e the EBCDIC spooled file management containing both SBCS and DBCS characters (in particular Asian and Japanese spooled files). This property notifies the application of the detection mode and rendering of the Shift Out and Shift In information (non-printable 0x0F and 0x0E hexadecimal characters) framing the DBCS texts to comply with the spacing between the characters regardless of their width.
In detail, the Style option both limits the number of fonts which can be used in a template and renames these fonts using an alias. For instance, this simplifies the use of resident fonts in a template by renaming the TTF fonts installed on the workstation with the name of the resident fonts of the target printer.
The generated XPS file embeds the new name of the fonts as defined in the style, these names can therefore be used to define alternative fonts in the conversion profile.
Example of a style to print on a Datamax printer:
<?xml version="1.0" encoding="windows-1252" ?>
<style>
<fonts>
<font name="Arial" alias="Datamax 0"/>
<font name="Arial" alias="Datamax 1"/>
<font name="Arial" alias="Datamax 2"/>
<font name="Arial" alias="Datamax 3"/>
<font name="Arial" alias="Datamax 4"/>
<font name="Arial" alias="Datamax 5"/>
<font name="Arial" alias="Datamax 6"/>
<font name="Arial" alias="Datamax 7 (OCR-A)"/>
<font name="Arial" alias="Datamax 8 (OCR-B)"/>
<font name="Arial" alias="Datamax 9 (Arial)"/>
</fonts>
</style>
Designer comes with the following styles by default: Datamax, Eltron, IGP, Intermec, TEC, and Zebra so that older non-Unicode templates can be re-used.
The selection of these styles is automatic when opening an older template.
The project is now ready to be developed.
Format/Sequence
A Format, viewed in Onyx Server, is the equivalent of a Designer project but once it was generated and imported on the production server. The same format can be composed of several sequences.
Every Sequence is conditioned to run on different pages of a data file (spooled file or XML file).
Here is an example to better understand the benefit of having several sequences for one project:
On an invoice with 3 pages:
- The first page includes the recipient's address, the sender's address as well as the start of the invoice table (Page type 1)
- The last page includes the total of the invoice (Page type 2)
- All the other pages contain the body of the invoice (Page type 3)
Processing the spooled file with the same format is difficult since formatting can differ depending on the page type. Three formats will then be created, one for each page type.
These three formats will have the same name because the three together make THE document "invoice" template, however they will have different sequence numbers:
- Sequence 00010 runs on page type 1.
- Sequence 00020 runs on page type 2.
- Sequence 00030 runs on page type 3.
When running the invoice format on a data file, a MERGE of these sequences is carried out to process the spooled file entirely.
<translate>
Fond de Page (Onglet Draw)
Définition
Le Fond de page regroupe tous les éléments fixes et statiques d’un projet Designer. Une analogie peut être faite avec les pré-imprimés dans le monde de l’impression.
La conception du fond de page s’effectue dans la partie Draw R, accessible en cliquant sur l’onglet correspondant dans la partie droite de la barre d’état. La sélection de cet onglet donne accès à la barre d’outils Fond de page dans le ruban Formes.
Dans le cas d’un projet recto/verso, le verso possède également son propre fond de page dont la conception se fera dans l’onglet Draw V.
Les éléments du Fond de page
Formes géométriques
Pour dessiner l’une de ces formes, il suffit de sélectionner l’icône correspondante dans l’onglet Formes puis de cliquer (sans relâcher) à l’endroit où cet élément doit être positionné. Il faudra ensuite lui donner la hauteur et la largeur désirées en déplaçant la souris puis, enfin, il suffira de relâcher le bouton de la souris.
Une fois tracée, une forme est sélectionnable, déplaçable et ses propriétés (dimensions, contour et remplissage) sont modifiables.
Des formes complexes prédéfinies sont également proposées en cliquant sur l’icône Formes :
Différents types de remplissage des formes sont disponibles depuis les propriétés de l’objet :
Textes
L’insertion d’une zone texte s’effectue en sélectionnant l’icône Texte puis en cliquant (sans relâcher) à l’endroit où cette zone doit être positionnée. Comme pour une forme géométrique, le déplacement de la souris permet d’ajuster la hauteur et la largeur de la zone. Après avoir relâché le bouton de la souris, il ne reste plus qu’à saisir le texte puis à le mettre en forme (choix de la police, taille, couleur, gras, alignement / justification…).
Images
L’ajout d’une image s’effectue en sélectionnant l’icône Image puis en cliquant (sans relâcher) à l’endroit où cette image doit être positionnée. Il sera possible de lui donner la hauteur et la largeur désirées en déplaçant la souris.
Après avoir relâché le bouton de la souris, une fenêtre apparait demandant de sélectionner le fichier Image à insérer. Il ne reste plus qu’à sélectionner le bon fichier.
L’image sélectionnée sera incorporée au fond de page du projet avec le choix de conserver ou non les proportions du fichier d’origine.
Tableau statique
Il est possible, par cet outil, d’insérer un tableau dit statique car ses dimensions et ses propriétés seront définies dès sa création par l’utilisateur.
L’ajout du tableau s’effectue en sélectionnant l’icône Tableau statique puis en cliquant (sans relâcher) à l’endroit où cette image doit être positionnée. Après avoir relâché le bouton de la souris, une fenêtre apparait demandant de définir les différents paramètres pour les lignes et les colonnes tels que la taille, la position, le nombre, la couleur, les titres …
Une autre façon de concevoir un tableau, sans définir au préalable ses dimensions, est réalisable grâce à une autre méthode qui est précisément détaillée en paragraphe 8.5. Tracer un tableau. </translate>
<translate>
Partie Dynamique (Onglet Map)
Définition
La partie Map d’un projet correspond à la partie dynamique des éditions dépendant de chaque flux de données traité par ce modèle. Les éléments principaux pouvant être placés dans cette partie sont, tout d’abord, les informations imprimables des fichiers de données.
L’élaboration de cette partie se fera en sélectionnant l’onglet Map R (Map V pour le verso du document). Dans cette vue de conception, les éléments de la partie Draw apparaissent en filigrane pour faciliter les positionnements des données à imprimer.
Notion de "Fichier Spool"
Pour repérer et identifier les données à imprimer, la conception d’un projet Designer s’appuie sur un fichier exemple. Ce fichier exemple est l’image du spool de production à mettre en forme.
Deux types de fichiers de données sont pris en charge nativement dans Designer : des fichiers textes paginés et des fichiers XML au format Mapping. Le paramétrage du type de fichier en entrée est fait dans les propriétés du projet.
Les fichiers traités par Designer peuvent avoir une extension .PAG ou .TXT. Historiquement, les fichiers textes ont pour extension .PAG car ils doivent être paginés. Un fichier non paginé peut être paginé grâce à la commande MAPPAGIFS depuis Onyx Server où un argument précisant le nombre de lignes par page ("Overflow") sera notamment précisé.
Les fichiers XML doivent respecter une syntaxe prédéfinie pour être correctement exploitables dans l’application (voir chapitre 6.3 Mode XML : syntaxe et spécifications).
Pour ouvrir et afficher un fichier d’exemple dans Designer, la vue spool doit être activée dans le menu Affichage :
Pour charger le fichier spool dans l’application, dans l’onglet Accueil, il faut cliquer sur et sélectionner le fichier à charger.
La vue Spool affiche alors les données à mettre en forme :
Pour aider l’utilisateur dans la conception de son projet, il est possible de pré-visualiser le résultat sans avoir à imprimer le document. Pour cela, il suffit de cliquer simplement sur le bouton Aperçu dans le menu Accueil.
Mode XML : syntaxe et spécifications
En mode XML, les principes de conceptions sont les mêmes et s’appuient sur un fichier d’exemple chargé dans l’application.
Comme décrit dans le paragraphe 4.2. Création d’un projet, pour charger un document .xml, il ne faut surtout pas oublier d’aller dans les Propriétés du projet et vérifier que dans Paramètres > Mode = XML.
La vue Spool s’appelle alors Vue XML et présente le contenu du fichier sous forme d’arborescence.
Structure de données
Les fichiers XML nativement pris en charge par Designer doivent respecter un schéma et une syntaxe prédéfinis dont voici une illustration :
Les balises <page name="..."> … </page> permettent de délimiter les pages du document. Dans l’exemple précédent, il n’y a qu’une page.
- Les balises <field name="...">value1</field> représentent une information unitaire (l’équivalent des zones dans Designer).
- Les balises <group name="..."> … </group> désignent un certain nombre de lignes contenant des zones, comme un groupe dans Designer.
- Les balises <line name="…"> … <line> représentent les lignes à l’intérieur de ces groupes.
En procédant par analogie avec une facture papier :
- <page name="..."> … </page> représente les pages de la facture.
- <group name="..."> … </group> représente la délimitation du corps de la facture (de sa première ligne à sa dernière ligne). L'attribut @name est limité à 10 caractères.
- <line name="…"> … <line> décrit le contenu de chaque ligne du corps de la facture.
- <field name="...">value1</field> peut représenter deux possibilités :
- Si cette balise est en dehors d’un groupe, il s’agit d’une information unitaire dans la facture. Dans ce cas, value1 représente le n° de facture dans l’entête par exemple, ou le n° de client, le type de facture, etc.
- Si elle se trouve à l’intérieur de la définition d’un groupe, value1 désigne la valeur de la zone dans la ligne. Par exemple, le code produit, désignation, prix, etc.
Spécifications du schéma XML
Les spécifications attendues par Designer sont les suivantes :
L’entête XML doit préciser l’encodage du fichier.
Exemple : <?xml version="1.0" encoding="UTF-16" standalone="yes" ?>
La balise racine des données XML doit s’appeler doc.
Toutes les balises mentionnées ci-après doivent avoir au moins un attribut nommé name. C’est par cet attribut que les informations seront identifiées, récupérées et mises en forme par l’application.
Les noms des balises et des attributs sont sensibles à la casse et doivent être écrits en lettres minuscules.
Pour être accessibles par l’application, les données doivent être localisées dans des pages entre les balises <page name="…"> et </page>. Un même document peut contenir plusieurs pages.
A l’intérieur d’une page, les données sont ensuite organisées par champs unitaires (balise <field name="…">) ou par groupes d’informations (balise <group name="…">).
Les groupes d’informations sont composés de lignes (balise <line name="…">).
Les lignes contiennent des informations unitaires (balise <field name="…">).
Voici un exemple de fichier XML :
Des données XML peuvent se situer en dehors d’une page comme des informations liées au document dans son ensemble et non à une page en particulier. Elles ne seront, cependant, pas visibles par l’application M-Designer et donc non utilisables pour la conception du document. Elles pourront en revanche être utilisées dans le moteur M-Processing Server.
Vue XML dans Designer
Le chargement d’un fichier d’exemple XML dans Designer se fait de la même manière qu’un fichier texte. Dans la vue XML, la présentation des données apparait sous forme d'une liste d'éléments.
Rupture de page sur valeur d'un champ XML
Dans les Propriétés d’un groupe, la génération d’un saut de page peut à présent se déclencher sur le changement de valeur d’un champ XML sur une ligne. C'est-à-dire que si 2 lignes qui se suivent n'ont pas la même valeur au niveau de ce champ, alors un saut de page sera généré.
Attention : Si le groupe contient différents types de lignes dont certaines ne possède pas le champ utilisé comme déclencheur du saut de page, il risque très fortement d'y avoir des sauts de pages intempestifs. Attention donc à faire en sorte que TOUTES les lignes du groupe comportent ce champ.
Par exemple :
<group name="groupe">
<line name="ligne">
<field name="id">1</field>
<field name="data"> data </field>
</line>
<line name="ligne">
<field name="id">1</field>
<field name="data"> data </field>
</line>
<line name="ligne">
<field name="id">2</field>
<field name="data"> data </field>
</line>
<line name="ligne">
<field name="id">2</field>
<field name="data"> data </field>
</line>
…
</group>
Dans cet exemple, si le champ utilisé pour générer un saut de page est le champ "id", un saut de page sera alors généré après l’exécution de la deuxième ligne.
Dans l’interface, le paramètre « Saut de page » d’un groupe possède plusieurs choix :
- Aucun : le groupe ne génère aucun saut de page.
- Limite : le groupe déclenche un saut de page sur une limite de positionnement.
- Champ XML : le groupe déclenche un saut de page sur changement de la valeur d’un champ XML.
- Champ XML et Limite : le groupe déclenche un saut de page sur changement de la valeur d’un champ XML et sur une limite de positionnement.
La gestion de la reprise d’en-têtes, lors de la génération de sauts de page automatiques, est possible grâce aux options « En-tête » et « Dernier en-tête » :
- En-tête : permet de choisir le nom de la ligne du fichier XML servant d’en-tête.
- Dernier en-tête : si cochée, cette option permet de ne conserver que le dernier en-tête. La case est cochée par défaut.
Lors de la génération d’un saut de page, le dernier en-tête (ou tous les en-têtes précédents, si l’option est décochée) sont repris en début de la nouvelle page.
Si dans le XML deux lignes d’en-tête se suivent, elles sont alors considérées comme un seul en-tête.
Si un saut de page se déclenche juste après une ligne d’en-tête, celle-ci n’est pas imprimée et est reporté sur la page suivante.
Éditer une liste variable d’éléments sous forme de tableau
Pour pouvoir afficher une liste d’éléments présents dans un groupe XML sous forme de tableau, il faut passer par l’outil de scripts.
La fonction rowtotable permet de réorganiser les lignes d’un groupe de manière à obtenir une répartition horizontale des éléments.
Syntaxe :rowtotable(nom du groupe, nombre maximal de colonne);
La fonction rowtotable possède deux paramètres :
- Nom du groupe : Contient le nom du groupe devant être réorganisé en tableau, entouré de doubles guillemets.
- Nombre maximum de colonne : Nombre maximum de colonne du tableau.
Remarque : Toutes les lignes du groupe doivent avoir le même nom.
Prenons l’exemple de ce groupe :
<group name="invoice">
<line name="item">
<field name="name">item 1</field>
</line>
<line name="item">
<field name="name">item 2</field>
</line>
<line name="item">
<field name="name">item 3</field>
</line>
<line name="item">
<field name="name">item 4</field>
</line>
<line name="item">
<field name="name">item 5</field>
</line>
<line name="item">
<field name="name">item 6</field>
</line>
<line name="item">
<field name="name">item 7</field>
</line>
<line name="item">
<field name="name">item 8</field>
</line>
</group>
Pour réorganiser ce groupe sous la forme d’un tableau de trois colonnes, il faut utiliser le script suivant :
rowtotable("invoice",3);
Ce script aura pour effet de modifier le groupe qui devient alors :
<group name="invoice">
<line name="item">
<field name="name_1">item 1</field>
<field name="name_2">item 2</field>
<field name="name_3">item 3</field>
</line>
<line name="item">
<field name="name_1">item 4</field>
<field name="name_2">item 5</field>
<field name="name_3">item 6</field>
</line>
<line name="item">
<field name="name_1">item 7</field>
<field name="name_2">item 8</field>
</line>
</group>
Eléments Dynamiques
Cette partie de la documentation présente les éléments de base pouvant être ajoutés dans la partie dynamique d’un projet ce qui permet une prise en main des fonctionnalités principales de l’application.
Zone
Définition
Une zone est l’élément principal qui permet de récupérer des informations dans les données en entrée afin de les positionner et de les mettre en forme dans le document graphique final.
En mode texte, l’information est identifiée par trois données :
- un numéro de ligne,
- un numéro de colonne
- une longueur.
En mode XML, elle est identifiée par le nom du champ XML (balise field).
Une zone ne peut lire qu’une seule ligne à la fois.
Dans l’espace de conception, elle est représentée de deux façons :
- La zone est vide, aucune donnée ne lui est associée : une icône apparait dans le coin supérieur droit de celle-ci.
- La zone est associée à une donnée, elle apparait sans icône.
Une zone est identifiée par son nom, défini dans la fenêtre des propriétés (plus de détails dans a.2 Créer une zone).
Créer une zone
Pour créer une zone, deux méthodes sont possibles :
Sélectionner l’icône correspondante et son type dans l’onglet Donnée puis cliquer (sans relâcher) à l’endroit où cet élément doit être positionné. Cette méthode crée une zone vide. Pour lier la zone à une donnée du fichier source il suffit de sélectionner la donnée dans la vue Spool (voir la deuxième méthode ci-dessous) et de la glisser-déposer dans la zone précédemment crée en maintenant la touche Ctrl appuyée.
Sélectionner directement les données à récupérer dans la vue Spool et utiliser le glisser-déposer à l'endroit désiré sur l'espace de conception pour créer automatiquement une zone liée aux données sélectionnées.
Une fois la zone créée, sélectionnez celle-ci et affichez la vue des Propriétés pour renseigner ses informations :
Nom :
Nom (de la zone) : information interne à Designer, permettant d’identifier les différents objets dans le projet. Ce champ est vide lors d'une création de zone à vide et vaut la valeur de la donnée lors d'une création de zone à partir de la vue Spool.
Label av/Label ap : possibilités d’ajouter du texte avant et/ou après l’information récupérée.
Position :
Identification de la position de l'information dans le spool de données : colonne, longueur, ligne de début.
Permet également d'extraire une certaine quantité d'information en mode XML.
Position dans le document :
Permet de modifier le positionnement de la zone dans la page.
Type de données :
Permet de définir comment l'application Designer doit traiter l'information récupérée (voir a.3 Types de zones).
Police :
Permet de paramétrer toutes les options de mise en forme de l'information : police, taille, couleur, cadrage, orientation, etc.
Type de zones
L’application Designer propose diverses options de traitement de l’information selon le type de données à traiter :
- Texte : permet d’imprimer du texte simple.
- Normal : recopie exactement les valeurs se trouvant aux positions définies par la zone qu'il s'agisse de lettres, de chiffres ou de blancs.
- Optimisé : recopie les caractères se trouvant à ces positions excepté les blancs au début et à la fin de ces positions. Ainsi, le cadrage à gauche, ou à droite est toujours respecté. Il n'y a pas de décalage dû à la présence de blancs dans le spool.
- Substitution : permet de remplacer une valeur du spool par une autre stockée dans un fichier appelé replacevalue.txt. Par défaut, ce fichier se trouve à l'état vierge dans le dossier d'installation de M-Designer. Pour faire fonctionner les substitutions, il faut le placer dans le dossier lgobitmap et il doit contenir les valeurs à remplacer suivies des valeurs de remplacement séparées par une tabulation. Ce sous-type est plus détaillé dans le paragraphe
8.3. Remplacement de caractère.
- Translate : permet de substituer une valeur par son équivalent traduit dans une autre langue. On utilise au préalable une zone de type Outils / Set Lang pour définir le fichier qui contient les traductions. Pour chaque zone Texte / Translate définie dans la maquette, le programme cherche l'entrée correspondante à la valeur de la zone dans le fichier qui contient les traductions. Celui-ci doit se trouver dans le dossier lgobitmap et son nom doit commencer par « Translate_ ».
- Compressé : zone affichant le texte récupéré dans l’espace alloué. Le texte occupe la largeur de la zone et adapte la taille de police entre un maximum et un minimum afin que le texte soit affiché complètement dans cet espace alloué. Si la taille de police minimum ne permet toujours pas d’afficher le texte complet, celui-ci est tronqué et est suivi de « … ».
- Tronqué : zone affichant le texte récupéré dans l’espace alloué par la largeur de zone. Si le texte ne peut être complètement affiché, il est tronqué suivi de « … ».
- Code barre : permet d’encoder et d’imprimer des codes-barres. La liste des codes à barres disponible est détaillée chapitre 8.1 Code à barre
- Outils : permet d’insérer un numéro de page, des images, … mais aussi d’afficher le nombre total de pages, de pages dans le lot en cours, …
- N° Page : permet d'imprimer le numéro de la page éditée. Ce numéro n'est pas forcément le même que le numéro de page du spool initial. En effet, si M-Processing Server est conditionné afin d'exclure certaines pages, le nombre de pages éditées n'est pas forcément le même que le nombre de pages du spool d'origine.
- N° Lot : permet d’afficher le numéro du lot.
- N° Page (Lot) : permet d’afficher le numéro de la page dans le lot.
- Nombre total de pages : permet d’afficher le nombre total de pages dans le document entier.
- Nombre total de lots : permet d’afficher le nombre total de lots dans le document entier.
- Nombre total de pages (Lot) : permet d’afficher le nombre total de pages dans le lot.
- Remplacement spécifique : remplace une valeur présente dans le spool traité par une autre valeur récupérée dans un fichier. Par exemple, vous pouvez remplacer le numéro de client qui apparaît dans le spool par le nom de ce client que vous récupérez dans un fichier base de données.
- Image : imprime une image différente en fonction d'une valeur du spool.
- Export : ce type de zone permet de récupérer une information du spool et de l'exporter vers un fichier physique.
- Rempl. Fichier : récupère du texte dans un fichier. Le nom de la zone doit correspondre au nom du fichier. Celui-ci doit se trouver dans le dossier lgobitmap et s’appeler data_NOMDELAZONE.txt (où NOMDELAZONE est le nom réel de la zone). Les paramètres de ligne et longueur de la zone indiquent la ligne de texte et la longueur du texte à récupérer.
- Input Text : permet de créer champs de saisie en interactif pour concevoir des formulaires SOAP au format PDF ou HTML. Lorsque l'utilisateur ouvre le formulaire ainsi généré dans Adobe Reader ou un navigateur internet, celui-ci peut remplir les champs de saisie et envoyer les données sur une URL M-Processing Server dans un point d’entrée Web en cliquant sur le bouton SUBMIT, celui-ci étant en réalité une zone Outils / Input Text appelée SUBMIT (nom système).
- HyperLink : ajoute un lien URL.
- Set Lang : permet de spécifier le fichier contenant les traductions. Celui-ci doit se trouver dans le dossier lgobitmap et son nom doit commencer par Translate_. Cette zone particulière ne s’imprime pas dans le document final, elle n’est visible ni à la visualisation ni au re-maquettage. Le nom de cette zone n’est pas très important, en revanche elle doit être déclarée avant toute autre zone Designer nécessitant une traduction. Ensuite, pour chaque zone de type Texte / Translate définie dans la maquette, le programme cherchera l'entrée correspondante à la valeur de la zone dans le fichier qui contient les traductions.
- Message XPS : permet d’insérer dans la page en cours un fichier XPS. La zone est en fait un lien vers un fichier XPS présent sur le serveur M-Processing Server. Ce fichier ne doit contenir qu’une seule page et se trouver dans le répertoire lgobitmap (directement ou dans un sous-répertoire). La casse n’a pas d’importance. Si vous modifiez le fichier XPS, cela impactera tous les projets utilisant celui-ci. Si vous souhaitez y inserer une image, il faut que cette dernière soit convertie en XPS.
- Fichier XPS : par opposition avec les Messages XPS, les fichiers insérés à l’aide de zones de type Fichier XPS :
- peuvent contenir plusieurs pages.
- sont des pages entières.
- créent des pages supplémentaires dans le fichier de sortie.
- Métadonnée : permet d’indexer le document pour l’archivage (zones non imprimées). La longueur des métadonnées est iilimitée.
- Index : zone index par défaut et utilisable dans les manipulations XPS et dans M-Storage Manager en tant que critère.
- MapFrom : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir l’expéditeur du mail.
- MapSend : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le destinataire du mail.
- MapCopy : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le destinataire en copie.
- MapBCopy : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le destinataire en copie cachée.
- MapNote : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le corps du mail.
- MapSubject : index réservé pour l’envoi de mail. La valeur portée par cette zone sera utilisée pour définir le sujet du mail.
- MapOrg : index réservé pour l’envoi de fax. La valeur portée par cette zone sera utilisée pour définir l’expéditeur.
- MapTo : index réservé pour l’envoi de fax. La valeur portée par cette zone sera utilisée pour définir le destinataire.
- MapUser : index réservé pour l’envoi de fax. La valeur portée par cette zone sera utilisée pour définir le propriétaire.
- MapFormat : index réservé pour l’envoi de fax. La valeur portée par cette zone sera utilisée pour définir le format du document (.BMP, .JPG, .EXE, .PAG, .PDF, .TIF, .TIF_FAX, .TXT, .XLS).
- Mémoire : permet d’insérer et de mémoriser des informations (non imprimées) qui seront reprises et réutilisées par la suite dans la maquette. (Cf. paragraphe 8.1.b. Cumul de données)
- Texte : mise en mémoire d'une information alphanumérique et suppression des espaces après le texte.
- Texte avec espaces : mise en mémoire d'une information alphanumérique en conservant les espaces après le texte.
- Entier : mise en mémoire d'une information numérique de type entier.
- Flottant : mise en mémoire d'une information numérique de type flottant.
- SQL : mise en mémoire d’une information alphanumérique retrouvée dans une base de données par l’exécution d’une requête SQL.
- Protect SQL : mise en mémoire d’une information alphanumérique retrouvée dans une base de données par l’exécution d’une requête SQL protégée.
- Calcul Mathématique : utilisation des zones mémoire pour effectuer un calcul.
- Remplacement Mémoire : impression des informations mises en mémoire.
- Memory Translate : mise en mémoire d’une information alphanumérique, résultat de la traduction automatique de l’information récupérée dans le spool.
- Graphique : permet de générer un graphique à partir de plusieurs données
- Données du graphique.
- Données de l'axe X.
- Données de l'axe Y.
- Titre du graphique.
- Titre de l'axe X.
- Titre de l'axe Y.
- Données de la légende.
- Valeur minimum de l'axe Y.
- Valeur maximum de l'axe Y.
- Nombre d'intervalles de l'axe Y.
- Arrondir à n près de l'axe Y.
- Origine de l'axe Y.
La construction d’un graphique est détaillée dans le paragraphe 8.6. Construction d’un graphique.
Designer a la possibilité de convertir automatiquement les anciens types de graphique en graphiques complexes. Cette fonctionnalité permet de faciliter la conversion d’anciens projets en projets XPS.
- Conversion : permet de convertir des données numériques selon les règles de conversion (Euro à Dollar par exemple) définies dans Onyx Server > Gestion des Formats M-Designer > Gestion des Taux (01=E1 ; 02=E2 ; …)
- XPS PrintTicket :
- Copy : nombre d’exemplaire à imprimer.
- Input Bin : numéro de bac d’entrée (alimentation de papier sur imprimante).
- Output Bin : numéro de bac de sortie.
- Media Type : Type de papier (A4, A5, etc...).
- Force Front Side : Conditionne le mode Recto, Recto / Verso lors de l’impression.
- Commandes : permet d’ajouter des données dans le flux d’impression directement en langage d’impression. Tout comme pour les propriétés du projet Document et Page (cf. 4.2. Création d’un projet), une zone « Commandes » permet de définir des données en langage imprimante pour les langages suivants : PCL5, APFDS, PDF, ZPL, DPL, TEC, IGP, IPL et EPL. Une zone peut contenir des données pour plusieurs langages différents. Lors de la conversion du XPS vers le langage de sortie, la donnée correspondante au langage de sortie sera utilisée.
Langage : sélection du langage.
Activer : Active la zone pour le langage sélectionné.
Pré- et Post-Imprimé : Donnée écrite avant et après la donnée récupérée du spool.
L’écriture de données hexadécimales dans le « pré- » et « post-imprimé » est possible en utilisant la syntaxe suivante : \x suivit de la valeur hexadécimale sur deux caractères.
Un Groupe
Définition
Un groupe permet de récupérer plusieurs lignes d’un flux. Il est caractérisé par une ligne de début et une ligne de fin. Sur l’espace de conception, il est représenté en rouge :
Un groupe peut être fixe (lignes de début et de fin fixes) ou variable (lignes de début et de fin variables).
Créer un groupe fixe
Pour créer un groupe fixe, les méthodes disponibles sont équivalentes à la création d'une zone.
- Créer un groupe vide à partir du menu Ruban, sélectionner les données du fichier source et de les glisser-déposer dans le groupe précédemment créé en maintenant la touche Ctrl enfoncée.
- Sélectionner directement les données dans la vue Spool et utiliser le glisser-déposer à l'endroit désiré sur l'espace de conception pour créer automatiquement un groupe lié à la zone de sélection du spool.
Une fois le groupe créé, il faut renseigner ses informations dans la vue des Propriétés :
Nom :
- Nom (du groupe) : information interne à Designer, permettant d’identifier les différents objets dans le projet. Ce champ est vide lors d'une création d'un groupe à vide et vaut la valeur de la première ligne de la sélection de données lors de la création d'un groupe à partir de la vue Spool
- Position dans le document :
- Permet de modifier le positionnement du groupe dans la page.
- Position :
- Identification des lignes de début et fin du bloc d’information à récupérer.
- Décalage : position d’impression de la première ligne par rapport au groupe.
- Option :
- Conditions exclusives : pour une ligne du groupe, une condition vraie s’exécutera de manière exclusive sans tester les suivantes.
- Tableau : permet aux zones du groupe de se comporter comme les cellules d’un tableau. Les zones d’une même ligne se retrouvent donc automatiquement collées. Redimensionner ou déplacer une zone impacte la taille et le positionnement des zones adjacentes. De plus, les lignes du groupe (ou conditions) sont visuellement représentées dans la fenêtre de conception. Les zones sont, quant à elles, réparties verticalement en fonction de leur ligne. Cette option est détaillée dans le paragraphe 8.5.b. Dessiner un tableau dynamique.
- Variable :
- Permet de changer le type de groupe : de fixe (les lignes de début et de fin sont statiques) à variable (les lignes de début et de fin sont variables et définies par des conditions).
Si l’utilisateur demande un aperçu, aucune information ne sera imprimée. En effet, un groupe ne définit que des bornes entre lesquelles de l’information doit être récupérée dans le spool.
Les bornes de la zone de sélection des données étant définies grâce aux champs ligne de début et ligne de fin du groupe, il convient maintenant de récupérer les données en créant une ou plusieurs Zones à l'intérieur du groupe.
En résumé :
- On configure la zone de sélection du bloc de données par la création d'un Groupe :
- On récupère les données à l'intérieur de ce bloc de données par la création d'une Zone :
- Nous pouvons alors constater que toutes les lignes de notre bloc de données sont récupérées grâce à l'aperçu (Ctrl+w). Il est possible de créer plusieurs Zones issues du bloc de données, de les placer dans le groupe et de conditionner leur mise en page (voir 6.4.c. Une condition).
Créer un groupe variable
Le principe du groupe variable est identique au groupe fixe c’est-à-dire qu’il permet de récupérer plusieurs lignes d’information dans le spool. Lorsque la ligne de début ou la ligne de fin du groupe n'est pas toujours au même endroit dans le spool ou que vous voulez que les informations ne soient pas toujours imprimées au même endroit dans la page, vous devez alors utiliser un groupe variable.
Un groupe variable utilise une condition de début et une condition de fin. Le groupe commence à s'exécuter quand une condition est validée et il s'arrête lorsqu'une autre condition est validée ou lorsqu'il a exécuté un certain nombre de lignes. Un groupe variable peut-être exécuté une ou plusieurs fois dans la page.
De plus, la position des valeurs imprimées par un groupe variable peut être variable.
Vous pouvez définir, par exemple, que les valeurs imprimées par un groupe se positionnent après les valeurs imprimées par un autre groupe. Nous parlerons alors de positionnement relatif.
Vous pouvez aussi définir que le total de la facture s'imprime toujours un centimètre après la dernière ligne de produits (qu'il y ait 5 ou 20 lignes). La position du total facture changera donc en fonction du nombre de lignes de produits que contient cette facture.
Un groupe peut être variable en :
- taille : les lignes de début et de fin sont déterminées dynamiquement par conditions.
- position d’impression : les groupes variables peuvent être chainés les uns à la suite des autres, le groupe n+1 commençant à s’imprimer dès que le groupe n est terminé.
Ces deux types de variable peuvent exister de façon distincte ou conjointe.
Pour créer un groupe variable, il suffit de cliquer sur l’icône puis de dessiner le groupe sur l’espace de conception.
La vue Propriétés s’affiche pour renseigner les informations du groupe :
- Nom :
- Nom (du groupe) : information interne à Designer, permettant d’identifier les différents objets dans le projet. Ce champ est vide lors d'une création d'un groupe à vide.
- Position dans le document :
- Permet de modifier le positionnement du groupe dans la page.
- Position :
- Décalage : position d’impression de la première ligne par rapport au groupe.
- Option :
- Conditions exclusives : pour une ligne du groupe, une condition vraie s’exécutera de manière exclusive sans tester les suivantes.
- Répéter : si la condition de début apparaît plusieurs fois, le groupe s'exécutera plusieurs fois à condition que la condition de fin ait été validée entre temps.
- MapOffice : permet de vérifier la conception d’un groupe MapOffice (voir la documentation Connect pour la conception d’un document Office).
- Tableau : permet aux zones du groupe de se comporter comme les cellules d’un tableau. Les zones d’une même ligne se retrouvent donc automatiquement collées. Redimensionner ou déplacer une zone impacte la taille et le positionnement des zones adjacentes. De plus, les lignes du groupe (ou conditions) sont visuellement représentées dans la fenêtre de conception. Les zones sont, quant à elles, réparties verticalement en fonction de leur ligne.
- Variable :
- Permet de changer le type de groupe : de fixe (les lignes de début et de fin sont statiques) à variable (les lignes de début et de fin sont variables et définies par des conditions).
- Espacement : Espacement avant l'impression du groupe.
- Type de condition d'arrêt : Permet de conditionner la fin de l'exécution du groupe variable.
- Groupe précédent : Indique après quel groupe fixe le groupe variable s'exécute.
Une Condition
Condition d'Exécution
Les conditions d'exécution permettent d'exécuter, ou non, l'objet conditionné en fonction d'une valeur dans le spool.
Une condition peut s’appliquer à la fois sur une page, un composant, un groupe, une zone, une ligne ou un rectangle.
Si la condition est validée alors l'objet est exécuté. Dans le cas contraire, aucune autre action n'est réalisée. Pour réaliser deux actions différentes en fonction de la présence ou non d'une valeur de spool, il vous faut donc créer deux objets.
Exemple : Vous voulez écrire différemment en noir quand il y a la valeur Facture et en rouge quand il y a la valeur Avoir dans une ligne de spool. Vous créez alors une zone avec une police noire quand il y a Facture, et une zone qui utilise une police rouge quand il y a Avoir car la création d’une seule condition dans une même zone : « police noire si Facture et police rouge si Avoir » n’est pas possible.
Les conditions sont gérées différemment si l'objet est fixe ou s'il appartient à un groupe. En effet, dans un groupe, la condition est nommée et elle est rattachée au groupe. Nous pouvons donc associer plusieurs objets à une même condition sans devoir ressaisir celle-ci à chaque fois.
Condition de début
La condition de début détermine la première ligne d'exécution du groupe variable. Le groupe commence à s'exécuter sur la ligne où la condition de début est vraie.
Onyx Server teste la validité de la condition à partir de la première ligne du spool (ligne 1). Dès que la condition est vérifiée, le groupe commence à s'exécuter. Il s'arrête lorsque la condition de fin est vérifiée à son tour.
Il est également nécessaire de définir au niveau de la condition de début si le groupe est imprimé de manière fixe sur la page ou s'il est imprimé en positionnement relatif par rapport à un autre groupe. Il est aussi possible de choisir que le groupe s'imprime un centimètre après la fin d'un autre groupe.
Si la condition de début de groupe n'est vérifiée sur aucune des lignes du spool, le groupe n'est pas exécuté.
Si la condition de début est vérifiée sur plusieurs lignes du spool, le groupe ne s'exécute qu'une seule fois : à partir de la première ligne où la condition est vérifiée.
Condition de fin
La ligne de fin d'un groupe variable peut être définie de deux manières :
- nombre de lignes d'exécution,
- condition de fin.
En connaissant le nombre de lignes que doit exécuter le groupe variable, Il est alors possible de paramétrer ce nombre en entrée après avoir coché Nombre de lignes.
La condition d'arrêt n'est pas un test de comparaison par rapport à une valeur présente dans le spool mais le nombre de ligne après lesquelles le groupe s'arrête.
La condition de fin détermine la dernière ligne d'exécution du groupe variable. Le groupe arrête de s'exécuter sur la ligne où la condition de fin est vraie. De plus, cette ligne peut être exclue (non exécutée) ou incluse (exécutée).
Condition Exclusive
Dans un groupe, il est possible de gérer plusieurs conditions. Par défaut, il y en a une seule qui est la condition Aucune et qui s'applique pour toutes les nouvelles zones créées.
Exemple :
Dans un groupe contenant des lignes de produit, il peut y avoir des lignes de sous-totaux. Il est possible d’utiliser plusieurs zones pour imprimer ces différents types de ligne (pour mettre les sous-totaux en gras par exemple) grâce à une condition.
Ici, il y a donc, à la base, deux conditions : une condition Sous-total à laquelle est rattachée au moins une zone qui imprime en gras et la condition Aucune à laquelle est rattachée la zone qui écrit en standard pour les lignes de produit.
Si le groupe fonctionne en conditions exclusives, une seule condition est appliquée par ligne, même si plusieurs sont vraies (seule la première créée est appliquée). Les lignes de produit sont imprimées en standard par la zone sous la condition Aucune et les lignes de sous-totaux sont imprimées en gras par la zone sous la condition "Sous-total".
Si le groupe fonctionne en conditions non exclusives, toutes les conditions vérifiées sont appliquées par ligne. Dans ce cas, les lignes de sous-totaux sont imprimées deux fois, une fois en gras par la zone sous la condition Sous-total et une fois en standard par la zone sous la condition Aucune. En effet, la condition Aucune est toujours vraie.
Le fonctionnement en conditions non exclusives est très peu utilisé. Il oblige à ajouter dans les filtres d'une condition les conditions inverses des autres conditions. Dans ce type de fonctionnement, la condition Aucune n'est pas utilisée. Il sert uniquement à répéter l'impression d'une information, ou à imprimer sur deux lignes des informations figurant sur une même ligne de spool.
La condition Aucune ne peut pas être supprimée. Si vous ne souhaitez pas l'utiliser, il faut n'y rattacher aucun objet.
Type de comparaison
Lors du paramétrage des conditions, vous pouvez tester :
L'existence dans la ligne : il y a dans une ligne ou dans toute la page.
L'absence dans la ligne : il n'y a pas dans une ligne ou dans toute la page.
La supériorité stricte (numérique) : >.
L'égalité ou la supériorité (numérique) : =>.
L'infériorité stricte (numérique) : <.
L'égalité ou l'infériorité (numérique) : =<.
Le numéro de la page.
Le numéro de la ligne.
Ces tests permettront à Designer de valider ou pas une condition.
</translate>
<translate>
Générer un projet
Une fois la maquette terminée, il ne reste plus qu’à la générer pour l'utiliser dans M-Processing Server.
Pour cela, cliquer sur le bouton Projet du menu Accueil.
A cette étape, veillez à avoir, convenablement, paramétré le serveur dans Préférences.
La fenêtre Sauvegarder Projet s’ouvre alors et il faut vérifier que le chemin de génération est correct. Par défaut, le projet est généré dans le répertoire docpc du dossier Import.
- Unix: /apps/mapping/import/docpc/
- Windows: C:\Mapping\M-Processing Server\Import\docpc\
Une fenêtre de post-génération s'affiche une fois le projet généré pour vous signaler le ou les résultats de la génération.
La maquette est désormais prête à être importée dans Onyx Server. </translate>
<translate>
Fonctionnalités avancées
Code à barre
Création d’un code à barre
Pour créer un code à barre dans Designer, il suffit de créer une zone de type Code Barre et de sélectionner le sous-type de code à barre voulu.
Les types de codes à barre
- EAN 8 Ce code à barre sert à tracer des unités logistiques, à identifier des unités de stockage. La version huit caractères sert au colis de petite taille. Les données doivent contenir sept chiffres. Le huitième caractère est un caractère de contrôle qui est calculé par l'ordinateur.
- EAN 13 Ce code à barre sert à tracer des unités logistiques, à identifier des unités de stockage. Dans un EAN 13 les deux premiers caractères sont les identifiants du pays d'origine, les 10 autres sont les données et le dernier est le caractère de contrôle qui est calculé par l'ordinateur. Les données doivent donc contenir 12 chiffres.
Code 39
Ce code à barre sert à coder des données alphanumériques. Il est utilisé dans presque toutes les industries mais pas dans le commerce de détail. Les données peuvent être de longueur variable et peuvent contenir des lettres et des chiffres.
L'information peut être de longueur quelconque et contenir des chiffres, des majuscules et les signes « espace », « plus », « moins », « divise », « point », « pourcentage » et « dollar ».
- Code 128 Ils permettent de coder des données alphanumériques générales et des données ASCII. Ces codes à barre sont utilisés dans de nombreuses industries pour la gestion de stocks. Les données sont de longueur variable. Le code 128 C doit contenir un nombre pair de caractères (sinon un zéro est ajouté en début de code barre) et ne peut contenir que des chiffres. Code 128 B accepte la totalité des caractères ASCII, alors que le code 128 A n'en accepte qu'une certaine partie. L’information à coder peut être de longueur quelconque et propose un choix d'encodage :
- Optimisé : chiffres, majuscules, minuscules, signes ASCII affichables ou non d’ordre inférieur à 128, et tous signes et caractères de fonction prévus par le Code 128 dans les jeux A, B et C, avec optimisation systématique de longueur
- N/optimisé : chiffres, majuscules, minuscules, signes ASCII affichables et caractères de fonction prévus par le Code 128 dans le jeu B, sans optimisation de longueur
- Numérique : chiffres et caractère de fonction prévu par le Code 128 dans le jeu C, avec optimisation systématique de longueur.
- Code 2/5 entrelacé Ce codage de nombres privilégie la densité, en réponse à un cahier des charges spécifiques. La sécurité obtenue par cette symbologie est faible, sauf à employer des moyens optionnels de sécurisation (caractère de contrôle, messages de longueur fixe et contrôlée à la lecture).
- Bien que le nombre de longueur est quelconque, le principe d'entrelacement impose :
- Un nombre pair de chiffres lorsque le caractère optionnel de contrôle n'est pas mis en œuvre.
- Un nombre impair de chiffres lorsque le caractère optionnel de contrôle est mis en œuvre.
- Code 2/5 industriel Cette symbologie ancienne a été très utilisée dans l'industrie, principalement automobile. La sécurité de cette symbologie est faible, sauf mise en œuvre de message de longueur fixe et contrôlée à la lecture. Les données doivent contenir de 1 à 32 chiffres
- Codage d'information numérique privilégiant la facilité de mise en œuvre.
- Évolution ou modification d'applications préexistantes.
- EAN128 Alpha n/optimisé Il s'agit du code GS1-128 Utilisé pour l’identification des unités d’expédition (la palette, éventuellement le carton).
- Codage d'information alphanumérique,
- Longueur variable,
- Auto-contrôlé Continu Bidirectionnel.
- EAN128 numérique Il s'agit du code GS1-128 Utilisé pour l’identification des unités de d’expédition (la palette, éventuellement le carton).
- Codage d'information numérique,
- Longueur variable,
- Auto-contrôlé Continu Bidirectionnel.
- PDF 417 Utilisé dans tous secteurs d'activité. Le code PDF417 est le seul code à barres bidimensionnel pouvant être lu à l'aide d'un lecteur linéaire (1D) car, en tant que symbologie linéaire empilée, il partage les caractéristiques des codes à barres linéaires et bidimensionnels.
- Bidimensionnel,
- Longueur 2000 Alphanumérique,
- Huit niveaux de sécurité.
- Data Matrix Ce code permet d’encoder jusqu’à 2335 caractères. Divers types d’encodage sont disponibles (ASCII, C40, Text et Base 256), 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. Il existe également un système de détection/correction d’erreur pour réparer toute dégradation.
- Postnet Le code à barres Postnet est utilisé par le service postal des États-Unis. Il est remplacé par l'USPS ou Intelligent Mail barcode.
- Planet Le code à barres Planet est utilisé par le service postal des États-Unis. Il est remplacé par l'USPS ou Intelligent Mail barcode.
- QR Code Il a la particularité de pouvoir encoder un très grand nombre de caractères (7336 en mode numérique). Ce type de code barre est très répandu au Japon. 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, un mode automatique est utilisé afin de choisir l'encodage qui donnera le meilleur taux de compression (basculement de mode en cours de traitement). Des codes de détection/correction d’erreur sont ajoutés aux données, ce qui permet de résister à des dommages sans perte de données. Il existe quatre niveaux de détection/correction d’erreur.
- MaxiCode Le code à barres MaxiCode, développé par UPS – United Parcel Service, est défini par 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. Il existe deux types d’encodage. Le premier encode uniquement une chaîne de caractères contenant des données suivant un encodage classique et une détection / correction d’erreur standard. Le second type encode, en plus de la chaîne de données, trois autres champs (le pays codé sur 3 chiffres suivant la norme ISO 3166, le code postal codé sur 6 caractères et enfin un type de service sur 3 chiffres). Ces trois champs sont encodés en utilisant un mode de correction d’erreur étendu contrairement à la chaîne de données dont le mode de correction est classique.
- Japan Postal Le code à barres Japan Postal est utilisé par le service postal du Japon.
- Codabar (NW7) Au Japon, le Codabar Monarch est aussi appelé NW-7. La composition relativement simple du Codabar Monarch fait qu'il est fréquemment utilisé pour coder des numéros de série pour les applications de banques de transfusion sanguine, services de livraisons à domicile, bibliothèques, etc.
- USPS USPS = United States Postal Service. Le nom officiel est plutôt Intelligent Mail Barcode. Il s'agit du nouveau code à barres postal américain qui doit remplacer le Planet et le Postnet. L’Intelligent Mail Barcode est un code à barres à quatre états composé de 65 barres.
- UPC-A Le code à barres UPC-A est un équivalent américain du code à barres EAN13, dont le premier chiffre serait 0. Il sert principalement à identifier les produits en magasin. Le code à barres UPC-A permet l’encodage de 11 chiffres, un Number System, cinq chiffres pour le Manufacturing Code et cinq chiffres pour le Product Code. Un 12eme chiffre est calculé à partir des onze premiers pour servir de contrôle.
- UPC-E Le code à barres UPC-E est une version courte du code à barres UPC-A, les dix chiffres du code à barres UPC-A (Manufacturing et Product Code) sont réduits à six chiffres en supprimant des zéros superflus. Avec le Number System et le chiffre de contrôle un code à barres UPC-E se compose donc de huit chiffres. MapDraw permet l’encodage de code à barres UPC-A (11 chiffres) en UPC-E, mais aussi de code réduit de 6, 7 ou 8 chiffres.
- MSI Le code à barres MSI est utilisé principalement pour le contrôle des stocks, le marquage des conteneurs de stockage et des étagères dans des environnements d'entrepôt. Un code à barres MSI utilise une ou deux clé de contrôle, calculée par modulo 10 ou modulo 11 et permet d’encoder des valeurs numériques de taille indéfinie. Designer permet l’encodage soit avec une clé de contrôle modulo 10, une clé de contrôle modulo 11, deux clés modulo 10, ou encore une modulo 11 suivie d’une clé modulo 10.
La taille du code à barre
La taille du code à barre peut être définie de deux manières :
- La première consiste à choisir l'option Adapter à la zone dans la vue des propriétés, le code à barre s'adaptera alors du mieux possible à la taille de la zone, selon sa norme.
- Si l'option Adapter à la zone est décochée, la taille du code à barre peut être réglée par la taille de la police de la zone. Cette taille influe sur la largeur et la hauteur du code. La hauteur peut être réduite en réduisant le pourcentage du paramètre Hauteur de la zone.
Cumul de données
Il est possible de cumuler, dans un code à barre, des données qui se trouvent à différents endroits dans le spool. Pour cela, il faut créer autant de zones mémoires qu’il y a de données à récupérer dans le spool puis il faut cumuler toutes ces zones dans le label de la zone code à barre.
- Dans la partie Map R :
- Dans la partie Propriétés :
- Dans cet exemple, les zones mémoires ont pour valeurs:
- MEM_FACT : 0012601
- MEM_DTFACT : 14/10/99
- Résultat :
Il est aussi possible d’ajouter du texte qui ne se trouve pas dans le spool grâce à l’utilisation des zones Mémoire (détaillées dans le paragraphe 6.4.a.3 Type de zones) : [[MEM1]]TEXT[[MEM2]].
Si vous utilisez des zones de remplacement dans une zone Code à Barre, il faut que la longueur de la zone code à barre soit égale à 0.
Cas particulier : EAN128
L’encodage de l’EAN128 est identique à l’encodage du Code128, c’est pour cela que nous utilisons les mêmes polices. La différence est que l’EAN128 est structuré afin de normaliser les informations qu’il contient. Pour cela, entre chaque information est inséré un AI (Application Identifier) qui permet d’identifier la donnée encodée.
Structure de l’EAN128 : START FNC1 AI DATA (FNC1) AI DATA .... (FNC1) AI DATA CRC END
FNC1 : Caractère séparateur de l’EAN128.
AI : Application Identifier, permet de coder plusieurs informations normalisées dans un même code (date+heure+...).
Le premier FNC1 est ajouté automatiquement par Designer. Il est obligatoire, en effet il permet de différencier un code barre EAN128 d’un code barre CODE128.
Par contre, les FNC1 suivants sont optionnels. En effet, ils sont obligatoires uniquement lorsque la donnée précédente n’est pas de longueur fixe, dans ce cas, ils permettent de séparer chaque donnée.
Si vous souhaitez insérer le caractère FNC1, il vous faut mettre dans votre spool la suite de caractères {FNC1}. Ces caractères seront remplacé automatiquement en caractère FCN1 par MAPPING.
Ex: SPOOL ----> MAPPING
AI DATA ----> START FNC1 AI DATA CRC END
AI DATA {FNC1} AI DATA ----> START FNC1 AI DATA FNC1 AI DATA CRC END
Si vous ne pouvez pas modifier votre spool pour ajouter les caractères « {FNC1} » ou si vous souhaitez cumuler plusieurs données qui se trouvent à différents endroits du spool (voir paragraphe précédent : 8.1.b. Cumul de données), vous pouvez utiliser les zones mémoires.
Cas particulier : code 128
Il y a trois modes d’encodage des codes à barre 128 :
- mode A (alphanumérique),
- mode B (alphanumérique). Le code 128 Alphanumérique encode en mode B,
- mode C (numérique). Le code 128 Numérique encode en mode C.
Le code 128 Alphanumérique Optimisé bascule du mode B au mode C en automatique afin d’optimiser la taille du code à barre.
Par contre, il est possible que vous ayez à respecter un formatage particulier de votre code à barre, c'est-à-dire respecter un certain nombre de caractères en mode A, B ou C.
Par exemple, le code à barre qui correspond à l’identifiant de suivi des courriers de « La Poste » contient 13 caractères. Les trois premiers doivent être encodés en mode B et les dix derniers en mode C.
Pour réaliser ce code à barre avec Designer, vous devez créer une zone de type « Code 128 N/Optimisé » puis saisir un masque de formatage dans les options Avancées de cette zone.
Exemple :
Soit la donnée suivante : 1J45034500751
Vous souhaitez encoder :
- les trois premiers caractères (1J4) en mode B
- les dix derniers caractères (5034500751) en mode C
Votre masque de formatage doit donc être BBBCCCCC.
Vous pouvez remarquer que bien qu’il y ait dix chiffres à encoder en mode C, on ne précise que cinq ‘C’ dans le masque de formatage. Cela est dû au fait qu’un caractère en mode C encode deux chiffres.
Cas particulier : Code Barre 2D
Aujourd’hui, MAPPING gère quatre types de codes à barre 2D : PDF417, DATA MATRIX, QR CODE et MAXICODE.
Si l'option « Adapter à la zone » n'est pas cochée, c’est le paramètre « Largeur de code barre » qui va modifier la taille du code à barre. Dans ce cas il faut savoir que la taille des codes à barre peut varier en hauteur et largeur suivant le contenu à encoder.
L’avantage des codes à barre 2D est de pouvoir encoder un nombre important d’informations. Si les données que vous devez encoder se trouvent à différents endroits du spool, reportez-vous au paragraphe 8.1.b. Cumul de données afin de pouvoir les cumuler dans un code à barre unique.
QR code
Le code à barre QR CODE a été développé suivant la norme internationale ISO/IEC 18004. Il a la particularité de pouvoir encoder un très grand nombre de caractères (7336 en mode numérique).
Ce type de code barre est très rependu au Japon. Il est utilisé dans l’industrie mais également par le grand public depuis que les téléphones portables sont capables de le décoder.
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.
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.
Options avancées disponibles :
- Largeur du code barre : Valeur comprise entre 1 et 15 définissants la taille du code barre.
- Error Level : (7%, 15%, 25% et 30%).
- FCN1 :
- ECI protocol not implemented.
- 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é.
- Application Identifier : Caractère de séparation, utilisé uniquement avec le FCN1 implicite en deuxième position.
- Type d’encodage :
- AUTO : Encodage automatique des données avec changement de mode en fonction des données.
- ALPHA : Encodage Alphanumérique.
- NUMERIC : Encodage Numérique.
- BYTE : Encodage en octet.
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.
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.
Il existe également un système de détection/correction d’erreur pour réparer toute dégradation.
Options avancées :
- Largeur du code barre : Valeur comprise entre 1 et 15 définissant la taille du code barre.
- Type d’encodage :
- AUTO : Encodage automatique des données avec changement de mode en fonction des données.
- ASCII : L’encodage ASCII est un plan tacite pour encoder les données ASCII.
- C40 : L’encodage C40 transforme 3 caractères alphanumériques en deux codewords.
- TEXT : L’encodage Text est utilisé pour encoder les caractères minuscules.
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.
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.
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.
Options avancées :
- Largeur du code barre : Valeur comprise entre 1 et 15, définissant la taille du code barre.
- Error Level :
- AUTO : choix automatique.
- 0 - 8
- Mode compact : Activation du mode compact ou non.
- Ratio : Permet de déterminer le ratio hauteur/largeur du code barre.
- Colonnes fixes : permet de définir le nombre de colonnes.
- Lignes fixes : permet de définir le nombre de lignes.
La sélection d’un ratio empêche de définir le nombre de lignes et de colonnes.
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.
Il existe deux types d’encodage :
- 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.
- 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.
Options avancées disponibles :
- Largeur du code barre : Valeur comprise entre 1 et 15, définissant la taille du code barre.
Automatisation
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.
Le principe est de construire la commande grâce à un .BAT ou à une remote commande par exemple.
- -InFile : fichier .PAG ou .XML à maquetter.
- -OutFile : Fichier image de sortie.
- -ProjectFile : Projet à ouvrir (.MPP).
- -ProjectAsso : Association de projet à générer (.MPA).
- -MPIFile : Fichier .MPI à ouvrir (onglet MAP).
- -MPWFile : Fichier .MPW à ouvrir (onglet DRAW).
- -Hide : Pour lancer Designer en mode caché.
- -Color : Utilisation de couleur ou non pour la création de l’image.
- -Rotation : angle de rotation de l’image (défaut : 0).
- -Resolution : Résolution de l’image (défaut : 300).
- -Specimen : Ajout d’un texte au-dessus de l’image (texte à préciser en argument).
- -Mode : Choix du mode SPOOL ou XML (défaut SPOOL).
- -Generate : Pour lancer la génération du projet indiqué en argument.
- -FtpUse : 0 = n’utilise pas FTP ; 1 = utilise FTP.
- -FtpFolder : répertoire FTP.
- -FtpLogin : Login FTP.
- -FtpPassword : Mot de passe FTP.
- -FtpIPAddress : Adresse IP du serveur.
- -ShareFolder : Répertoire de partage.
- -ServerName : Nom du serveur (descriptif).
- -Rename : change le FORMAT et SEQUENCE du projet en utilisant son nom. Ex : Facture00010.mpp.
Exemple 1 : Projet généré en PCL, en couleur et 300 dpi
C:\Mapping\M-Designer\M-Designer.exe "-Hide" "-ProjectFile:C:\Mapping\M-Processing_Server \Import\docpc\test.mpp" "-Generate"
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.
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.
Exemple 2 : création d’une image BMP couleur, avec rotation de 90°, en 203 dpi et avec l’inscription SPECIMEN par-dessus
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"
Pour la création d’une image, les paramètres « -InFile » et « -ProjectFile » sont obligatoires.
Si « -OutFile » est absent, le fichier de sortie prend le nom du fichier d’entrée avec l’extension .BMP.
Le mode par défaut est SPOOL et si le fichier d’entrée est de type XML, vous devez préciser le mode.
Attention : Les guillemets autour de chaque paramètre sont obligatoires.
Vous pouvez également vous référer à la document de M-Designer.exe en ligne de commande : Utilisation de Designer.exe en ligne de commande
Remplacement de caractère
L'objectif est d'expliquer comment remplacer une chaîne de caractères du fichier d'entrée par une autre.
Le principe de fonctionnement est l'utilisation d'un fichier texte comme table de correspondance entre la valeur à remplacer et la nouvelle valeur.
Pour utiliser cette table de correspondance, il faut :
- Définir la zone en mode Type = Texte / Sous-type = Substitution.
- Terminer et générer la maquette
- Ouvrir le fichier ReplaceValue.txt dans un éditeur de texte (type Notepad mais pas Word). La syntaxe du fichier est la suivante :
Valeur à remplacer Tabulation Nouvelle valeur
Ici, le caractère "]" sera remplacé par le caractère ">" et le "Nom" sera remplacé par "Name" (si la valeur à remplacer se trouve dans une zone de Type Texte \ Substitution).
Attention: il est impératifs que le fichier replacevalue.txt ai le même encodage que le projet Onyx Designer. Par exemple, replaceValue.txt doit être unicode si le projet est unicode.
- Sauvegarder le fichier ReplaceValue.txt dans le sous-répertoire lgobitmap de Mapping (par défaut /apps/mapping/import/lgobitmap sur Unix)
Dessiner un tableau
Dessiner un tableau statique
Pour obtenir un tableau parfaitement dessiné et aligné, sans utiliser l'outil Tableau Statique de la vue Fond de page, les étapes à suivre sont :
- tracer d’abord le rectangle du contour du tableau,
- tracer des lignes verticales pour définir les colonnes,
- tracer éventuellement des traits horizontaux pour définir les lignes si besoin (entêtes de colonnes par exemple),
- sélectionner enfin l’ensemble des éléments du tableau puis appuyer sur la touche « a » minuscule du clavier :
Remarque :
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.
Dessiner un tableau dynamique
Comme annoncé dans les options disponibles pour un groupe (cf. paragraphe 6.4.b.2. Créer un groupe fixe), 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.
Remarque :
Redimensionner ou déplacer une zone impacte la taille et le positionnement des zones adjacentes.
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.
Construction d’un graphique
Depuis la partie Map :
- Créer un graphique depuis l’onglet Graphique :
- Et lui donner un nom (ici « GRAPH1 ») :
A partir de là, le graphique complexe peut se construire de deux façons différentes présentées ci-dessous.
Par sélection des zones une à une
- Sélectionner, dans le spool, les zones qui seront utilisées dans le graphique,
- Dans les Propriétés, pour chaque zone définie :
- Les nommer toutes avec le même nom que le graphique (ici ça sera donc « GRAPH1 »)
- Renseigner le Type = « Graphique » :
- Selon l’utilité de la zone dans le graphique, sélectionner le Sous-type correspondant dans la liste proposée :
- Aller dans les Propriétés du graphique et cliquer sur Edition :
- Paramétrer votre graphique en choisissant dans les onglets :
- Type :
- Nom du Graphique : qui sera repris dans le nom des zones,
- Nombre de zones qui va composer le graphique,
- Type de graphique : Camembert, Histogramme ou Ligne :
- Type :
NB : 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.
- Attributs : permet de choisir le remplissage, le contour, l’épaisseur du contour, le motif, …
- 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.
NB : 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 (ex : 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).
- 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 ».
NB : 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.
En créant un groupe
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.
- 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, ...
- 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…).
La suite de la construction du graphique est la même que celle décrite précédemment.
Opérations arithmétiques dans un groupe
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.
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.
De plus, les paramètres de type « chaine de caractère » devront être entourés de doubles guillemets et les noms de champ dans les formules par des simples guillemets.
Syntaxe :
addline(nom du groupe, nom de la ligne, ligne de type saut de page, nom du 1er champ, valeur du 1er champ, pré-calcul du 1er champ, nom du 2ème champ, valeur du 2ème champ, pré-calcul du 2ème champ, etc…) ;
La fonction addline commence par les arguments suivants :
- Nom du groupe : Contient le nom du groupe sur lequel la ligne doit s’ajouter.
- Nom de la ligne : Nom de la ligne à ajouter.
Puis, elle se compose d’une séquence illimitée de couples champ / valeur :
- Nom du champ : Nom du champ que possèdera la ligne.
- Valeur du champ : La valeur du champ possédé par la ligne.
- 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 :
- Yes : Le calcul est résolu lors de l’exécution du script, prenant en compte toutes les valeurs du xml.
- 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.
Par exemple, le script suivant ajoute cette ligne au groupe nommé "groupe" :
addline("groupe","ligne",yes,"champ1","valeur1",no,"champ2","valeur2",no);
<group name="groupe">
…
<line name="ligne" pagebreak=”1”>
<field name="champ1">valeur1</field>
<field name="champ2">valeur2</field>
</line>
</group>
La valeur du champ peut contenir un calcul dont la syntaxe est la suivante :
SUM('''''opération''''') pour calculer une somme sur l’ensemble des lignes du groupes.
AVG('''''opération''''') pour calculer une moyenne sur l’ensemble des lignes du groupes.
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 simples guillemets.
Prenons l’exemple de ce groupe :
<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>
Pour ajouter une ligne de total à ce groupe, il faudra utiliser ce script :
addline("invoice", "LigneTotal",no
"total", "total = SUM('price'*'quantity')", yes
"moyenne", "moyenne = AVG('price'*'quantity')", yes
);
Ce script aura pour effet d’ajouter une ligne de total à la fin du groupe :
<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>
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.
Pour ajouter une ligne de sous-total au groupe précédant, il faudra utiliser ce script :
addline("invoice","LineSubtotal",yes, "subtotal","sous-total = SUM('price'*'quantity')",no);
Ce script aura pour effet d’ajouter une ligne de total à la fin du groupe :
<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">sous-total = SUM('price'*'quantity')</field>
</line>
</group>
Gestion de la pagination
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.
Rupture de lot
L’option Rupture de lot se trouve dans les Propriétés de la maquette (présentée dans le paragraphe 4.2. Création d’un projet). Elle permet de définir une zone de type Métadonnée qui sera utilisée pour regrouper les pages du document final en lot.
Lors du traitement de la page :
- Si la zone Métadonnée récupère une nouvelle valeur alors un nouveau lot sera créé. La page en cours appartiendra à ce nouveau lot.
- Si la zone Métadonnée 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.
- Si aucune valeur n’est récupérée par la zone Métadonnée, la page reste dans le même lot que la page précédente.
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…).
Variables de remplacement
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.
ATTENTION : l'ordre d'exécution des zones est TRES important pour ne pas qu'il y ait de décalages. En l'occurence, la zone de type Métadonnée doit être exécutée AVANT d'utiliser les fonctionnalités suivantes si celles-ci sont utilisées au sein de zones "bleues". Pour rappel, l'ordre d'exécution des zones est modifiable via l'onglet "Liste des objets"
La syntaxe d’utilisation est la suivante :
[[PST:nom de la variable;valeur par défaut]]
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.
Par exemple :
[[PST:MAP_TOTAL_PAGE;000]]
Affichera "000" dans la page, mais au moment de l’impression cette valeur sera remplacée par :
- " 5" s’il y 5 pages au total.
- " 10" s’il y 10 pages au total.
- "150" s’il y 150 pages au total.
[[PST:MAP_TOTAL_DOC]] = nombre total de lot.
[[PST:MAP_TOTAL_PAGE_IN_DOC]] = nombre de page dans le lot en cours.
D’autre syntaxes existent aussi, accessibles quant à elles pendant le traitement de la page :
[[VAR:MAP_CURRENT_PAGE]] = numéro de la page en cours.
[[VAR:MAP_CURRENT_DOC]] = numéro du lot en cours (la zone Métadonnée gérant la rupture de lot doit être définie avant l’utilisation de cette variable).
[[VAR:MAP_CURRENT_PAGE_IN_DOC]] = numéro de la page en cours dans le lot en cours.
Et de manière générale :
[[VAR:variable d’env]] = récupère le contenu de la variable d’environnement.
Gestion des veuves et orphelines
Une gestion complexe des veuves et orphelines est possible grâce à deux fonctionnalités : Groupe entier et Répéter un groupe XML.
Groupe entier
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.
Répétition de groupe XML
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.
Exemple :
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.
<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>
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.
Dans notre exemple, les lignes « item » et les lignes « description » ne pourront pas être séparées par un saut de page.
</translate>