ONYX - 9.0 - ONYX Designer

Différence entre versions

De MappingDoc
imported>Rdal
 
 
(24 révisions intermédiaires par 7 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
= Introduction =
+
===Installation===
  
== Objectifs ==
+
*[[ONYX:9.0:Installation:Guide d'installation ONYX Designer|Guide d'installation ONYX Designer]]
  
Ce document est le guide de référence pour le paramétrage et l’utilisation de l’application '''M-Designer''', l’un des modules de la Suite Mapping. Nous allons vous présenter, ici, l’ensemble des fonctionnalités de l’application.
+
===Utilisation===
  
Ce Guide s’applique au logiciel M-Designer dans sa '''version 8''' et supérieure.
+
*[[ONYX:9.0:Utilisation:Utilisation de ONYX Designer|Utilisation de ONYX Designer]]
 +
*[[ONYX:9.0:Utilisation:Fonctionnement des groupes|Fonctionnement des groupes]]
 +
*[[ONYX:9.0:Utilisation:Designer_-_Utiliser_des_étiquettes_RFID_avec_des_imprimantes_Zebra|Utiliser des étiquettes RFID]]
 +
*[[ONYX:9.0:Utilisation:Fonctionnement des graphiques|Fonctionnement des graphiques]]
 +
*[[ONYX:9.0:Utilisation:Translate|Translate]]
  
== Présentation de M-Designer ==
+
=====A partir de la version 10.1=====
  
M-Designer est le module de conception et de composition graphique de documents permettant de transformer de simples fichiers de données statiques en documents graphiques de qualité.
+
*[[ONYX:Utilisation:Personnalisation de l'interface Designer|Personnalisation de l'interface Designer (Beta Version)]]
  
Le logiciel fonctionne sur des postes Windows et propose une interface utilisateur en deux parties. La première partie est une vue de type dessin destinée à la réalisation des fonds de page (comparables à des pré-imprimés pour l’impression) et la deuxième est dynamique pour la récupération, la manipulation et la présentation des données.
+
===Bonnes pratiques===
  
Que ce soit directement depuis un spool ou reformatées via le logiciel M-Connect, les données proviennent de fichiers bruts (type spools AS/400), d’extractions de bases de données ou d’ERP et sont présentées « à plat » (format texte) ou en XML (compatible avec M-Designer - cf. chapitre [[#mode-xml-syntaxe-et-spécifications|''<span class="underline">6.3 Mode XML : syntaxe et spécifications</span>'']]).
+
*[[ONYX:9.0:Utilisation:Les bonnes pratiques ONYX Designer|Bonnes pratiques ONYX Designer]]
  
La conception de la maquette (= modèle de document) est effectuée sur le poste utilisateur hébergeant l’application avec un mode « ''aperçu'' » permettant de valider au fur et à mesure les manipulations. Pendant la conception, le modèle de document est appelé un ''Projet M-Designer''.
+
===Problèmes connus===
  
La maquette est ensuite générée et compilée sur le serveur M-Processing Server (iSeries, Unix / Linux ou Windows) pour être utilisée en production. Nous parlons alors d’un ''Format M-Designer''.
+
*[[ONYX:9.0:KB:Designer cesse de fonctionner sous Windows 10|Designer cesse de fonctionner sous Windows 10]]
 +
*[[ONYX:9.0:KB:Designer_Erreur_de_polices_manquantes|Problème de polices introuvables (bien qu’installées) sur Designer avec Win10]]
 +
*[[ONYX:9.0:KB:Message_d%27erreur_sur_fichier_temporaire|Message d'erreur sur fichier temporaire]]
 +
===Trucs et astuces===
  
== Installation ==
+
*[[ONYX:9.0:Utilisation:Création d'un code barre avec plusieurs informations du spool|Création d'un code barre avec plusieurs informations du spool]]
 
+
*[[Installation de Designer de différentes versions sur le même poste]]
Les procédures d’installation, de mise à jour et de désinstallation sont décrites et détaillées dans le Guide d’Installation et de mise à jour de M-Designer.
 
 
 
= Paramétrage de M-Designer =
 
 
 
Après installation de M-Designer, la première étape clé est le paramétrage des ''Préférences'' (cf. '''1''') de l’application. Celles-ci sont accessibles depuis le menu ''Fichier'' (cf. '''2'''). Ces préférences sont <span class="underline">locales</span> à l’utilisateur en cours et elles sont conservées dans la base de registre du poste sous ''HKEY_CURRENT_USER''/''Software''/''Mapping''.
 
 
 
[[File:media/image1.png]]
 
 
 
== Général ==
 
 
 
[[File:media/image3.png]]
 
 
 
Le premier onglet de la fenêtre de ''Préférences'' présente les options générales de l’application.
 
 
 
=== Enregistrement automatique ===
 
 
 
Cette option permet de forcer une sauvegarde automatique des projets en cours de conception (ouverts dans l’application) à intervalles réguliers définis en minutes dans la zone de saisie correspondante.
 
 
 
=== Verrouiller les projets à l'ouverture ===
 
 
 
Comme il sera mentionné dans la suite de ce Guide, plusieurs utilisateurs peuvent travailler en même temps avec M-Designer dans un répertoire commun pour les projets. Dans ce contexte, il est fortement conseillé d’activer cette option qui permet d’éviter les concurrences d’accès sur un même projet.
 
 
 
Dès qu’un utilisateur ouvre un projet, il en verrouille les accès en écriture. Les autres utilisateurs ne pourront en consulter qu’une version en lecture seule.
 
 
 
=== Créer les fichiers .bak ===
 
 
 
Cette option permet, à l’enregistrement d’un projet provoqué par l’utilisateur, de conserver une version N-1 du projet juste avant l’enregistrement. Les fichiers correspondants sont alors suffixés de l’extension ''.bak''.
 
 
 
=== Sélectionner l'objet avant déplacement ===
 
 
 
Comme il sera mentionné dans la suite de ce Guide, tous les objets positionnés dans le modèle de document peuvent être modifiés et/ou déplacés. Cette option permet de forcer l’utilisateur à sélectionner un objet avant de pouvoir le déplacer à la souris. Cela peut éviter des déplacements intempestifs d’objets lors des sélections.
 
 
 
=== Activer l'édition des scripts ===
 
 
 
Cette option permet à l’utilisateur de créer, modifier ou supprimer ses propres scripts. (Cf. Lien édition des scripts)
 
 
 
=== Afficher toutes les erreurs de composants ===
 
 
 
Cette option agit sur le nombre de fenêtres d’erreur à l’ouverture d’un projet contenant des composants qui ne seraient pas ou plus disponibles dans le répertoire des projets.
 
 
 
* <span class="underline">Activée par défaut</span>, une fenêtre par composant non disponible est affichée à l’utilisateur et il lui est proposé de retrouver le composant en question.
 
* <span class="underline">Désactivée</span>, les erreurs de composant sont mutualisées et affichées dans une seule fenêtre.
 
 
 
=== Forcer le tracé de traits rectilignes ===
 
 
 
Cette option permet de forcer le tracé de lignes horizontales ou verticales uniquement (les plus couramment utilisées) en désactivant la possibilité de lignes obliques.
 
 
 
=== Répertoire temporaire ===
 
 
 
Cette option permet de définir le chemin du répertoire temporaire. Par défaut, il s’agit du répertoire d’installation de l’application mais cette valeur peut être modifiée si besoin.
 
 
 
=== Liste de caractères à afficher en double largeur ===
 
 
 
Cette zone de saisie permet d’ajouter les valeurs (ou plages de valeurs) hexadécimales de caractères spécifiques à considérer et à afficher en double largeur.
 
 
 
Cette option sert, côté M-Designer, pour l’affichage des flux de données dans la vue Spool et pour l’aperçu en temps réel du modèle de document. L’équivalent existe côté M-Processing Server pour l’exécution, dans la variable de configuration ''MAPCPYSPLF_DBCSPITCH_LIST''.
 
 
 
=== Style par défaut ===
 
 
 
Cette liste permet de sélectionner ou non un modèle de style pour définir une liste définie de couleurs, de type de trait, de polices, etc., pour votre projet.
 
 
 
=== Langue ===
 
 
 
Cette option permet à l’utilisateur de choisir la langue d’affichage des interfaces de l’application. La langue, par défaut, de M-Designer sera la même que celle de votre système d'exploitation. Les langages proposés actuellement sont le français, l'anglais et le japonais.
 
 
 
Le changement de la langue d’affichage de M-Designer impacte les autres outils de la Suite, notamment M-Connect, et tout changement nécessite un redémarrage de l’application.
 
 
 
== Paramétrage des serveurs ==
 
 
 
L’onglet ''Serveurs'' de la vue ''Préférences'' permet de configurer les accès dont doit disposer l’application :
 
 
 
* Au répertoire partagé des sources des projets M-Designer.
 
* Au(x) répertoire(s) d’importation des formats dans M-Processing Server.
 
 
 
Le répertoire partagé des sources contient l’ensemble des projets développés par tous les utilisateurs M-Designer.
 
 
 
[[File:media/image4.png]]
 
 
 
Une fois développés, les projets M-Designer doivent être générés sur le serveur de production dans le répertoire d’importation.
 
 
 
Voici les chemins par défaut du répertoire d’importation de M-Processing Server suivant le type de plateforme :
 
 
 
* <span class="underline">Unix</span> : '''/apps/mapping/import/'''
 
* <span class="underline">Windows</span>: '''C:\Mapping\M-Processing Server\Import\'''
 
* <span class="underline">iSeries</span> : '''/home/mapping/'''
 
 
 
Afin de permettre cette génération, une connexion doit donc être établie entre les postes de développement et le serveur de production. Deux types de configuration sont possibles.
 
 
 
=== Accès au serveur via un répertoire partagé ===
 
 
 
[[File:media/image6.png]]
 
 
 
<span class="underline">Paramètres requis</span> :
 
 
 
* '''1''' : Nom donné à la configuration
 
* '''2''' : Répertoire partagé pour les sources
 
* '''3''' : Chemin d’accès au répertoire d’importation de M-Processing Server
 
 
 
Le répertoire d’accès au serveur peut être :
 
 
 
* Un chemin UNC
 
 
 
<span class="underline">Exemples</span>: \\test_server\ProgramData\M-Processing Server\Import\ (sous Windows)
 
 
 
<blockquote>\\test_server \home\mapping\ (sous iSeries)
 
</blockquote>
 
* Un lecteur réseau pointant sur le répertoire d’importation
 
 
 
<blockquote><span class="underline">Exemple</span> : soit un lecteur réseau « M: » pointant sur le dossier « ...\M-Processing Server » du serveur de production. Le répertoire d’accès contiendra donc « M:\Import\ ».
 
 
 
[[File:media/image4.png]]
 
</blockquote>
 
=== Accès au serveur via une connexion FTP ===
 
 
 
Dans ce cas, une connexion FTP (ou SFTP) doit être établie entre le poste de développement et le serveur de production.
 
 
 
[[File:media/image8.png]]
 
 
 
<span class="underline">Paramètres requis</span> :
 
 
 
* '''1''' : Nom donné à la configuration
 
* '''2''' : Choix du mode de connexion : FTP, FTP Passif, Secure FTP
 
* '''3''' : Adresse IP du serveur de production
 
* '''4''' : Nom d’utilisateur pour l’accès FTP
 
* '''5''' : Mot de passe associé
 
* '''6''' : Répertoire partagé pour les sources
 
* '''7''' : Chemin d’accès au répertoire d’importation de M-Processing Server
 
 
 
== Police ==
 
 
 
Le champ ''Génération des polices XPS par page de code'' permet de pré-charger les polices XPS en définissant un ou plusieurs code-pages afin d'optimiser les temps de traitement pendant le process. Le caractère de séparation des code-pages est le « ''';''' »'''.'''
 
 
 
'''<span class="underline">Note</span> :''' Lors de l’importation d’un projet, si celui-ci est rédigé avec une police non enregistrée, une alerte signale alors que la police est manquante et elle apparaitra en rouge dans les ''Propriétés'' de la Zone concernée.
 
 
 
[[File:media/image9.jpeg|C:\Users\louanhon\AppData\Local\Microsoft\Windows\INetCache\Content.Word\police_manquante.jpg]]
 
 
 
[[File:media/image10.jpeg|C:\Users\louanhon\AppData\Local\Microsoft\Windows\INetCache\Content.Word\police_manquante2.jpg]]
 
 
 
== Options de calcul ==
 
 
 
Les deux options présentes dans l’onglet ''Calcul'' définissent les types de séparateurs de milliers et de décimales. Ces informations sont utilisées pour la récupération de valeurs entières ou réelles dans l’application (par des zones mémoires), les calculs effectués et l’affichage des résultats à l’aperçu.
 
 
 
Elles n’ont pas d’influence sur la génération des projets.
 
 
 
Deux variables équivalentes existent côté M-Processing Server pour l’exécution : ''MAPCPYSPLF_THOUSAND'' et ''MAPCPYSPLF_DECIMAL''.
 
 
 
Ces paramètres sont pris en compte pour l’exécution de toutes les maquettes, cependant ils peuvent être substitués avant exécution de ces commandes Mapping afin de correspondre à des paramètres régionaux différents de ceux du serveur.
 
 
 
= Interface de l'application =
 
 
 
== Présentation générale ==
 
 
 
Lors de la première utilisation de M-Designer, seule la vue de conception ''Fond de Page'' apparaît. Ce mode d'affichage épuré vous permettra d'activer par la suite, seulement les fenêtres qui vous seront utiles.
 
 
 
L'activation des fenêtres est présentée au chapitre [[#menu-fichier|''<span class="underline">3.2.a Menu Fichier</span>'']].
 
 
 
[[File:media/image11.png]]
 
 
 
L’image suivante présente une vue globale de l’interface utilisateur de M-Designer. A noter que pour cet exemple les fenêtres ''Vue Spool'', ''Propriétés'', ''Conditions'' et ''Liste des objets'' ont été activées.
 
 
 
Celle-ci se décompose en plusieurs parties :
 
 
 
* '''1''' : Menu ''Fichier''
 
* '''2''' : ''Onglets'' du ''Ruban''
 
* '''3''' : ''Groupes'' d'outils associés à chaque onglet du ''Ruban''
 
* '''4''' : ''Barre d’état'' présentant les outils de positionnement et dimensionnement des objets
 
* '''5''' : Navigation entre la partie statique et la partie variable d’un projet + outils de zoom d’affichage
 
 
 
Entre les menus et outils affichés en haut de la fenêtre et la barre d’état située en bas se trouve l’''Espace de Conception'' où seront réalisées toutes les manipulations graphiques pour concevoir les modèles.
 
 
 
Cet espace de conception peut également se composer de plusieurs vues, en plus de la vue centrale de ''Conception'' :
 
 
 
* '''6''' : ''Vue des Propriétés'' : du format, d’un objet sélectionné dans la maquette
 
* '''7''' : ''Vue Spool'' : contenue ici dans le même espace d’affichage que les Propriétés devenu alors multi-onglets
 
* '''8''' : ''Liste'' de tous les objets présents dans le modèle (partie statique et partie variable)
 
* '''9''' : ''Vue des Conditions '': du format, d’un objet sélectionné
 
 
 
Les positions d’affichage de chaque vue sont entièrement paramétrables suivant les choix et les habitudes de chaque utilisateur. Pour cela, il convient de cliquer (sans relâcher) sur le titre de la vue puis de le déplacer à la souris dans la zone d’affichage souhaitée ou sur une vue déjà positionnée pour obtenir un espace d’affichage à plusieurs vues.
 
 
 
[[File:media/image12.png]]
 
 
 
== Les menus et barres d'outils associées ==
 
 
 
Ce chapitre présente juste les différents menus et leurs options disponibles au niveau de l’interface de M-Designer. Chaque notion sera développée et détaillée dans les chapitres suivants.
 
 
 
=== Menu Fichier ===
 
 
 
[[File:media/image1.png]]
 
 
 
'''Nouveau :'''
 
 
 
* ''Projet'' : permet de créer un nouveau projet avec les propriétés par défaut (format DEFAUT, séquence 00010, en A4 recto).
 
* ''Composant'' : permet de créer un nouveau composant, avec les propriétés par défaut (A4 recto).
 
* ''Elément variable'' : permet de créer un nouvel élément variable, avec les propriétés par défaut (A4 recto).
 
* ''Document'' : permet de créer un nouveau document ''Fond de Page'' (.mpw) ou ''Dynamique'' (.mpi) selon la vue sélectionnée (Draw R ou Map R). Ecrase le document en cours.
 
 
 
'''Ouvrir :'''
 
 
 
* ''Projet'' : permet d’ouvrir un projet existant en parcourant l’arborescence de fichiers. Le répertoire pointé par défaut dépend des préférences ''Serveur'' de l’application.
 
* ''Composant'' : permet d’ouvrir un composant existant.
 
* ''Elément variable'' : permet d’ouvrir un élément variable existant.
 
* ''Document'' : permet d’ouvrir un document ''Fond de Page'' (.mpw) ou ''Dynamique'' (.mpi) existant, selon la vue sélectionnée (''Draw R'' ou ''Map R''). Ecrase le document en cours.
 
* ''Spool'' : permet de sélectionner un fichier spool pour le charger dans l’application comme modèle de données pour la conception.
 
 
 
'''<br />
 
'''
 
 
 
'''Enregistrer :'''
 
 
 
* ''Projet'' : permet d’enregistrer le projet en cours. Les fichiers sources du projet seront enregistrés en conservant éventuellement les versions N-1 suivant les préférences de l’utilisateur.
 
* ''Document '': permet d’enregistrer le document ''Fond de Page'' (.mpw) ou ''Dynamique'' (.mpi) en cours, selon la vue du projet (''Draw R'' ou ''Map R'') affichée.
 
 
 
'''Enregistrer sous :'''
 
 
 
* ''Projet'' : permet d’enregistrer le projet en cours sous un autre nom. Les fichiers sources du projet seront enregistrés sous le(s) nouveau(x) nom(s) donné(s) par l’utilisateur.
 
* ''Document'' : permet d’enregistrer le document en cours (.mpw ou .mpi) sous un autre nom.
 
 
 
'''Association de projets :'''
 
 
 
* Permet d’associer plusieurs projets entre eux pour faciliter leur génération. Une association de projet produit un fichier de paramètres sur disque d’extension ''*.mpa'' dans lequel sont inscrites la liste des projets concernés et les options de générations.
 
 
 
'''Génération multiple :'''
 
 
 
* Permet de sélectionner plusieurs projets M-Designer pour les générer en une seule fois.
 
 
 
'''Importer :'''
 
 
 
* ''Fichier M-Designer'' : dans la partie statique du projet en cours, cela permet d’importer un autre fond de page M-Designer existant tel qu’un composant ou une partie statique d’un autre projet.
 
* ''XML M-Designer'' : permet d’importer dans l’application un projet M-Designer complet préalablement exporté au format XML. Cette action importe le fichier XML comme un nouveau projet, en récupérant l’ensemble de ses propriétés et de sa conception.
 
* ''Ressources'' : permet d’importer dans l’application une ressource externe comme fond de page d’un nouveau projet. Les ressources peuvent être soit des documents XPS soit des fonds de page AFPDS.
 
 
 
'''Exporter :'''
 
 
 
* ''Imprimante (PCL5)'' : permet d’imprimer le fond de page du projet en cours sur une imprimante déclarée sur le poste.
 
* ''Calque (M-Storage)'' : permet d’exporter le fond de page du projet en cours comme un calque utilisable dans l’application M-Storage.
 
* ''Fond de page (PCL5)'' : permet de sélectionner un fond de page M-Designer (''.mpw'') à exporter en PCL 5 sur disque.
 
* ''Projet'' : permet de sélectionner un ou plusieurs projets à exporter dans une archive (''.zip'') avec les fichiers spools associés si présents.
 
* ''XML M-Designer'' : permet d’exporter un projet en cours complet dans un fichier XML de description. Toutes les propriétés et la conception du projet sont inscrites dans le fichier résultant qui pourra ensuite être importé dans une autre instance de l’application sur un autre poste par exemple.
 
 
 
'''Fermer :'''
 
 
 
* Permet de fermer le projet ou document en cours avec détection de modifications non sauvegardées.
 
 
 
'''Préférences :'''
 
 
 
* Voir le chapitre [[#général|''<span class="underline">2.1 Général</span>'']].
 
 
 
=== Menu Accueil ===
 
 
 
Le menu ''Accueil'' donne accès à des options générales du projet ou du document en cours de conception :
 
 
 
[[File:media/image13.png]]
 
 
 
'''Presse papier :'''
 
 
 
* Fonctionnalités de couper / copier / coller d’un ou plusieurs éléments sélectionnés dans le projet (les raccourcis clavier standard Ctrl+X, Ctrl+C et Ctrl+V sont également disponibles)
 
* Fonctionnalité de reproduction de la mise en forme d’un élément à d’autres (textes ou formes)
 
* Fonctionnalité de duplication d’un élément sélectionné avec paramétrage du nombre d’occurrences horizontales et verticales voulues (très utile lors de la production de planches d’étiquettes par exemple).
 
 
 
'''Polices système :'''
 
 
 
* Fonctionnalités standards de mise en forme des textes : choix des polices système (Windows) TTF disponibles sur le poste utilisateur, de la taille, la couleur, les options de gras / souligné / italique, justification ou alignements
 
 
 
'''Générer :'''
 
 
 
* Génération du projet en cours. Cette option n’est disponible que pour un projet en cours de conception (ouvert dans l’application).
 
* Génération d’une association de projet existante.
 
* Fonctionnalité d’export du fond de page (voir la partie Menu ''Fichier'').
 
* Accès à l’utilitaire de script disponible dans l’application M-Designer.
 
 
 
'''Prévisualisation :'''
 
 
 
* Fonctionnalité d’aperçu des projets en cours de conception.
 
* Bouton de sélection et chargement d’un fichier Spool dans l’application (utile pour la conception du document et pour l’aperçu).
 
* Fonctionnalité d’aperçu multiple pour les projets multi-séquences.
 
* Possibilité d’enregistrer une image de l’aperçu.
 
* Possibilité de charger un fichier XPS comme calque (non inclus à la génération mais s’affiche à la conception comme un pré-imprimé).
 
* Possibilité de délier le fichier source (spool) à la maquette et de le fermer.
 
* Possibilité d’effectuer des traitements sur un fichier XML d’entrée à l’aide de scripts.
 
 
 
=== Menu Mise en forme ===
 
 
 
Le menu ''Mise en forme'' donne accès à des options de conception du projet ou du document en cours :
 
 
 
[[File:media/image15.png]]
 
 
 
En plus des sections ''Presse papier'' et ''Polices système'', reprises dans ce menu, sont proposés les outils suivants :
 
 
 
'''Organiser :'''
 
 
 
* Pour un ou plusieurs éléments sélectionnés dans la vue de conception, il existe la possibilité de les placer au-dessus ou en dessous des autres, de gérer les alignements et les rotations. Ces options sont également disponibles dans le menu contextuel du ou des objets sélectionnés et seront détaillées dans les chapitre suivants.
 
 
 
'''Positionner selon la grille :'''
 
 
 
* Comme aide à la conception, une grille peut être affichée à l’utilisateur afin de faciliter le positionnement des éléments. Les deux boutons de cette section permettent de régler le pas de la grille (taille du quadrillage et donc finesse de positionnement) et d’activer l’aimantation des objets sur la grille lors de leur déplacement.
 
 
 
=== Menu Affichage ===
 
 
 
Le menu ''Affichage'' donne accès à des options d’affichage des différentes vues de l’application :
 
 
 
[[File:media/image16.png]]
 
 
 
'''Afficher / Masquer :'''
 
 
 
Aucunes de ces options n'étant activées lors de la première ouverture du logiciel, les plus propices à une utilisation basique de M-Designer seront marquées du terme (''<span class="underline">conseillé</span>'').
 
 
 
* ''Grille'' : permet d’afficher la grille dans la vue conception.
 
* ''Règle Haute / Gauche'' : permet d’afficher les règles de mesure en haut et à gauche de la vue conception. Dans ces règles, il est possible de positionner des guides pour faciliter les alignements d’objets. Le clic gauche avec la souris sur une des règles permet de placer et réduire une ligne repère. Un clic droit sur le repère le supprime.
 
* ''Vue Spool'' : permet d’afficher la vue de chargement du fichier Spool (ou XML) d’exemple (''<span class="underline">conseillé</span>'').
 
* ''Propriétés'' : permet d’afficher la vue des propriétés du projet et des éléments (''<span class="underline">conseillé</span>'').
 
* ''Conditions'' : permet d’afficher la vue des conditions (''<span class="underline">conseillé</span>'' dès lors que la conception s’attaque à partie dynamique).
 
* ''Liste des objets '': permet d’afficher la liste de tous les éléments positionnés dans le modèle de document avec accès à certaines fonctionnalités liées à chaque élément.
 
* ''Barre d’onglets'' : permet d’afficher la barre de navigation par onglets pour les différents projets ouverts dans l’application.
 
 
 
'''Liste des caractères :'''
 
 
 
* Présente une liste exhaustive de l’ensemble des caractères supportés par l’application en fonction d’une page de code et d’une police. Peut être utile pour insérer des caractères spéciaux dans le document qui ne peuvent pas être directement saisi au clavier.
 
 
 
'''Redessiner :'''
 
 
 
* Permet de rafraîchir l’écran.
 
 
 
'''Fenêtres :'''
 
 
 
Petit utilitaire de manipulation des différentes fenêtres de projet ouvertes dans l’application avec possibilité d’activer l’une ou l’autre mais aussi d’enregistrer ou de fermer une ou plusieurs fenêtres en même temps.
 
 
 
=== Menu Formes ===
 
 
 
Ce dernier menu donne accès à l’ensemble des outils de dessin et de composition du modèle de document. Suivant la partie du projet concernée par la conception, à savoir soit la partie Fond de page (statique) soit la partie dynamique (variable), ce menu s’organisera différemment.
 
 
 
==== Menu Forme de la vue Fond de Page (ou Statique) ====
 
 
 
[[File:media/image17.png]]
 
 
 
Outre les sections ''Presse papier'' et ''Polices système'', reprises dans ce menu, les outils suivants sont proposés pour la conception du fond de page :
 
 
 
'''Insérer :'''
 
 
 
* Ajouter et positionner une zone contenant du texte statique avec toutes les options de mise en forme associées.
 
* Ajouter et positionner une image statique (comme un logo société par exemple).
 
* Ajouter, paramétrer et positionner un tableau statique en définissant le nombre de lignes et de colonnes, les styles de traits et leurs mises en forme, les entêtes de lignes / colonnes, …
 
 
 
'''Formes :'''
 
 
 
* Palette standard de dessin permettant d’ajouter des lignes, courbes, carrés, rectangles, rectangles arrondis, cercles, ellipses, ainsi que certaines formes complexes prédéfinies.
 
 
 
'''Styles :'''
 
 
 
* Options de mises en forme associées à chacun des éléments précédents : style et couleur de contours, style et couleur de remplissage, épaisseur des traits.
 
 
 
'''Générer :'''
 
 
 
* Option spécifique à la conception d’un composant permettant de générer ce dernier.
 
 
 
==== Menu Forme de la vue Dynamique ====
 
 
 
[[File:media/image18.png]]
 
 
 
Outre les sections Presse ''papier'' et ''Polices système'', reprises dans ce menu, les outils suivants sont proposés pour la conception dynamique du document :
 
 
 
'''Donnée :'''
 
 
 
Ce groupe d'outils rassemble les utilitaires nécessaires au traitement des données du fichier source (spool). Il est composé de deux types d'outils :
 
 
 
'''Groupe :'''
 
 
 
* Permet d’ajouter, de paramétrer et de positionner des groupes de données : groupe fixe et groupe variable.
 
* Permet également d’ajouter des ancres utilisées pour le positionnement des groupes variables.
 
 
 
'''Zone :'''
 
 
 
* Permet d’ajouter, de paramétrer et de positionner des zones de récupération de données.
 
 
 
'''Insérer :'''
 
 
 
* Permet d’insérer, en plus des données du fichier Spool, d’autres éléments dynamiques : lignes droites, rectangles, zones de texte saisi au clavier, images dynamiques, graphiques...
 
* Permet également d’ajouter dans le projet des composants et/ou des éléments variables conçus par ailleurs.
 
 
 
== Barre d'outils « Accès Rapide » ==
 
 
 
La barre de titre de l’application propose enfin une barre de raccourcis, ou barre d’outils, appelée ''Accès rapide''''' ''':
 
 
 
[[File:media/image19.png]]
 
 
 
Les outils et fonctions accessibles dans cette zone sont <span class="underline">complètement paramétrables</span> en fonction des habitudes de chaque utilisateur.
 
 
 
Pour ajouter une fonction dans la zone d’accès rapide, il suffit de localiser la fonction en question dans les différents menus puis par un clic droit, il faudra sélectionner ''Ajouter à la barre d’outils Accès rapide''''' '''comme montré ci-après :
 
 
 
[[File:media/image20.png]]
 
 
 
La nouvelle fonction apparaît alors dans la barre de titre :
 
 
 
[[File:media/image21.png]]
 
 
 
Pour supprimer une fonction de la zone d’accès rapide, il suffit de cliquer dessus avec le bouton droit puis de sélectionner ''Supprimer de la barre d’outils Accès rapide''.
 
 
 
Le menu déroulant à droite de la zone des fonctions rapides permet, par l’option ''Personnaliser la barre d’outils Accès rapide'', de personnaliser les fonctions accessibles ainsi que leur disposition (ordre d’affichage, ajout de séparateurs) :
 
 
 
[[File:media/image21.png]]
 
 
 
= Création d'un projet =
 
 
 
== Notion de Projet ==
 
 
 
Un Projet M-Designer est l’association d’un fond de page qui correspond à la partie statique du modèle et d’un fichier de données appelé partie variable ou dynamique. Il est identifié par un nom de format et un numéro de séquence qui le rendent unique sur le serveur de production.
 
 
 
Physiquement, un projet se compose de trois fichiers (ou cinq fichiers lorsqu’il s’agit d’un projet recto / verso) :
 
 
 
* Un fichier ''.mpw'' contient le fond de page recto (un autre peut contenir le fond de page verso)
 
* Un fichier ''.mpi'' contient la mise en forme des données sur le recto (un autre éventuellement pour le verso)
 
* Un fichier ''.mpp'' identifie le projet et fait l’association entre le(s) fichier(s) ''.mpw'' et le(s) fichier(s) ''.mpi''.
 
 
 
Cette notion de projet n’a de valeur <span class="underline">que</span> pendant la conception du modèle côté M-Designer. Une fois généré sur le serveur de production, nous parlerons alors de format et de numéro de séquence.
 
 
 
== Création d’un projet ==
 
 
 
[[File:media/image22.png]]
 
 
 
La création d’un nouveau projet se fait par le menu Fichier &gt; Nouveau &gt; Projet.
 
 
 
La vue de la conception affiche alors le projet comme une page blanche avec un paramétrage par défaut (portrait, A4 en mode recto).
 
 
 
Dans l’onglet ''Affichage'', il est préconisé de cocher ''Propriétés'' dans l’onglet ''Afficher/Masquer'' afin de voir apparaitre une fenêtre sur le côté droit de l’écran avec toutes les propriétés à définir.
 
 
 
[[File:media/image23.png]]
 
 
 
Dans un premier temps, il est '''obligatoire''' de compléter les deux paramètres suivants :
 
 
 
* '''Nom du format''' = identifiant du format sur dix caractères maximums.
 
* '''Numéro de séquence''' = identifiant numérique de la séquence sur cinq caractères maximums.
 
 
 
Les notions de ''Format'' et ''Séquence'' seront détaillées plus précisément dans le paragraphe suivant.
 
 
 
D’autres propriétés sont paramétrables depuis cette fenêtre :
 
 
 
[[File:media/image24.png]]
 
 
 
* ''Description'' = information utilisateur (limitée à 25 caractères maximum).
 
* ''Commentaire'' '''=''' information supplémentaire.
 
* ''Destination'' '''=''' chemin de génération du projet (aussi défini dans ''Préférences'').
 
* ''Mode'' = correspond au type de données à mettre en forme : '''SPLF''' (texte) ou '''XML.'''
 
* ''Page de Code'' = permet d’ouvrir un fichier spool non-Unicode avec une maquette XPS en précisant la page de code du fichier dans les propriétés du projet. L’option n’est accessible qu’en mode '''SPLF'''.
 
* ''Style'' '''=''' choix de la feuille de style (aussi défini dans ''Préférences''). Cette option est détaillée ci-dessous.
 
* ''Document'' et ''Page'' = permet d’inclure des données en langage d’imprimante dans le flux de sortie 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. Les données sont écrites en début et fin du document.
 
* ''Orientation'' = portrait ou paysage pour le recto et éventuellement le verso.
 
* ''Dimensions de la page'' (formats standards ISO ou format personnalisé) et des ''marges''.
 
* Choix d’un projet en recto ou en recto/verso (avec retournement suivant les bords longs ou les bords courts).
 
* ''Saut de page'' = comportement par défaut de l’application qui traite les données page à page et qui active une rupture de page une fois les données de la page en cours traitées. Si cette rupture est désactivée, les données de la page suivante seront placées à la suite de la page en cours.
 
* ''Rupture de lot'' = permet de définir une zone de type '''Metadata''' qui sera utilisée pour regrouper les pages du document final en lot (cf. paragraphe [[#rupture-de-lot|''<span class="underline">8.8.a. Gestion de la pagination par rupture de lot</span>'']]).
 
* ''Position'' = dans le cas où la rupture de page est désactivée, cette option permet de préciser la position des données de la page suivante c’est-à-dire à droite de la page en cours (décalage horizontal de position) ou en dessous (décalage vertical).
 
 
 
La propriété ''SO/SI'' est utilisée sous Windows et Unix pour reproduire un fonctionnel natif sous iSeries à savoir la gestion de spools EBCDIC contenant à la fois des caractères SBCS et DBCS (spools asiatiques et japonais particulièrement). Cette propriété indique à l’application le mode de détection et de rendu des informations ''Shift Out'' et ''Shift In'' (caractères hexadécimaux 0x0F et 0x0E, non imprimables) encadrant les textes DBCS afin de respecter les espacements entre les caractères quelle que soit leur largeur.
 
 
 
Dans le détail, l’option ''Style'' permet à la fois de limiter les polices utilisables dans un maquette mais aussi de renommer ces polices en utilisant un alias. Elle permet par exemple de simplifier l’utilisation de polices résidentes dans une maquette en renommant des polices TTF installées sur le poste par le nom des polices résidentes du type d’imprimante de destination.
 
 
 
Le fichier XPS généré embarque le nouveau nom des polices définies dans le style, il est donc possible d’utiliser ces noms pour la définition de polices de remplacement dans le profil de conversion.
 
 
 
Exemple de style utilisé pour l’impression sur imprimante Datamax :
 
 
 
&lt;?xml version=&quot;1.0&quot; encoding=&quot;windows-1252&quot; ?&gt;
 
 
 
&lt;style&gt;
 
 
 
&lt;fonts&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 0&quot;/&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 1&quot;/&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 2&quot;/&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 3&quot;/&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 4&quot;/&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 5&quot;/&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 6&quot;/&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 7 (OCR-A)&quot;/&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 8 (OCR-B)&quot;/&gt;
 
 
 
&lt;font name=&quot;Arial&quot; alias=&quot;Datamax 9 (Arial)&quot;/&gt;
 
 
 
&lt;/fonts&gt;
 
 
 
&lt;/style&gt;
 
 
 
[[File:media/image25.jpeg|cid:image006.jpg@01D1BB29.1944AF40]] [[File:media/image26.jpeg|cid:image007.jpg@01D1BB29.1944AF40]]
 
 
 
Par défaut M-Designer v8.0.2 est fourni avec les styles '''Datamax''', '''Eltron''', '''IGP''', '''Intermec''', '''TEC''', et '''Zebra''' permettant la réutilisation d’anciennes maquettes non-Unicode.
 
 
 
La sélection de ces styles est automatique lors de l’ouverture d’une ancienne maquette.
 
 
 
Le projet est maintenant prêt à être développé. Il est par défaut en '''XPS Unicode''' (mode d’utilisation ''Simple'').
 
 
 
== Notion de Format / Séquence ==
 
 
 
Un '''Format''', visible depuis M-Processing Server, est le pendant d’un projet M-Designer mais généré et importé sur le serveur de production. Un même format peut être composé de plusieurs séquences.
 
 
 
Chaque '''Séquence''' est conditionnée pour s’exécuter sur les différentes pages d’un fichier de données (''spool'' ou ''XML'').
 
 
 
Voici un exemple pour mieux comprendre l’intérêt d’avoir plusieurs séquences pour un même projet :
 
 
 
''Soit une facture de 3 pages :''
 
 
 
* ''La première page contient l’adresse du destinataire, l’adresse de l’expéditeur ainsi que le début du tableau facture (Type de page 1)''
 
* ''La dernière page contient le total de la facture (Type de page 2)''
 
* ''Toutes les autres pages contiennent le corps de la facture (Type de page 3)''
 
 
 
''Traiter ce spool avec un même format est difficile car les mises en forme sont différentes suivant les types de page. Trois formats vont donc être créés, un pour chaque type de page.''
 
 
 
''Ces trois formats porteront le même nom car ils définissent à eux trois LE modèle de document &quot;Facture&quot; mais ils auront un numéro de séquence différent :''
 
 
 
* ''Séquence 00010 s’exécutant sur le type de page 1''
 
* ''Séquence 00020 s’exécutant sur le type de page 2.''
 
* ''Séquence 00030 s’exécutant sur le type de page 3.''
 
 
 
''Lors de l’exécution du format Facture sur un fichier de données, un MERGE de ces trois séquences sera effectué afin de traiter le spool intégralement.''
 
 
 
= Fond de Page (Onglet Draw) =
 
 
 
== Définition ==
 
 
 
Le ''Fond de page'' regroupe tous les éléments fixes et statiques d’un projet M-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 ===
 
 
 
[[File:media/image27.png]]
 
 
 
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'' :
 
 
 
[[File:media/image28.png]]
 
 
 
Différents types de remplissage des formes sont disponibles depuis les propriétés de l’objet :
 
 
 
[[File:media/image29.png]]
 
 
 
=== Textes ===
 
 
 
[[File:media/image30.png]]
 
 
 
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 ===
 
 
 
[[File:media/image31.png]]
 
 
 
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 ===
 
 
 
[[File:media/image32.png]]
 
 
 
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 [[#dessiner-un-tableau|''<span class="underline">8.5. Tracer un tableau</span>'']].
 
 
 
= 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 &quot;Fichier Spool&quot; ==
 
 
 
Pour repérer et identifier les données à imprimer, la conception d’un projet M-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 M-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 M-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 M-Processing Server où un argument précisant le nombre de lignes par page (&quot;Overflow&quot;) sera notamment précisé.
 
 
 
Les ''fichiers XML'' doivent respecter une syntaxe prédéfinie pour être correctement exploitables dans l’application (voir chapitre [[#mode-xml-syntaxe-et-spécifications|''<span class="underline">6.3 Mode XML : syntaxe et spécifications</span>'']]).
 
 
 
Pour ouvrir et afficher un fichier d’exemple dans M-Designer, la vue spool doit être activée dans le menu ''Affichage'' :
 
 
 
[[File:media/image33.png]]
 
 
 
Pour charger le fichier spool dans l’application, dans l’onglet ''Accueil'', il faut cliquer sur [[File:media/image34.png]] et sélectionner le fichier à charger.
 
 
 
La vue ''Spool'' affiche alors les données à mettre en forme :
 
 
 
[[File:media/image35.png]]
 
 
 
[[File:media/image36.png]]
 
 
 
Pour aider l’utilisateur dans la conception de son projet, il est possible de pré-visualiser le résultat sans avoir à imprimer le document. Pour cela, il suffit de cliquer simplement sur le bouton ''Aperçu'' dans le menu ''Accueil''.
 
 
 
== 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 [[#création-dun-projet-1|<span class="underline">4.2. Création d’un projet</span>]], pour charger un document .xml, il ne faut surtout pas oublier d’aller dans les '''Propriétés''' du projet et vérifier que dans '''Paramètres''' &gt; '''Mode''' = '''XML'''.
 
 
 
[[File:media/image37.png]]
 
 
 
La ''vue Spool'' s’appelle alors '''Vue XML''' et présente le contenu du fichier sous forme d’arborescence.
 
 
 
[[File:media/image38.png]]
 
 
 
=== Structure de données ===
 
 
 
Les fichiers ''XML'' nativement pris en charge par M-Designer doivent respecter un schéma et une syntaxe prédéfinis dont voici une illustration :
 
 
 
Les balises '''&lt;page name=&quot;...&quot;&gt; … &lt;/page&gt;''' permettent de délimiter les pages du document. Dans l’exemple précédent, il n’y a qu’une page.
 
 
 
* Les balises '''&lt;field name=&quot;...&quot;&gt;value1&lt;/field&gt;''' représentent une information unitaire (l’équivalent des ''zones'' dans M-Designer).
 
* Les balises '''&lt;group name=&quot;...&quot;&gt; … &lt;/group&gt;''' désignent un certain nombre de lignes contenant des zones, comme un ''groupe'' dans M-Designer.
 
* Les balises '''&lt;line name=&quot;…&quot;&gt; … &lt;line&gt;''' représentent les lignes à l’intérieur de ces groupes.
 
 
 
En procédant par analogie avec une facture papier :
 
 
 
* '''&lt;page name=&quot;...&quot;&gt; … &lt;/page&gt;''' représente les pages de la facture.
 
* '''&lt;group name=&quot;...&quot;&gt; … &lt;/group&gt;''' représente la délimitation du corps de la facture (de sa première ligne à sa dernière ligne).
 
* '''&lt;line name=&quot;…&quot;&gt; … &lt;line&gt;''' décrit le contenu de chaque ligne du corps de la facture.
 
* '''&lt;field name=&quot;...&quot;&gt;value1&lt;/field&gt;''' peut représenter deux possibilités :
 
** Si cette balise est <span class="underline">en dehors</span> d’un groupe, il s’agit d’une information unitaire dans la facture. Dans ce cas, '''value1''' représente le n° de facture dans l’entête par exemple, ou le n° de client, le type de facture, etc.
 
** Si elle se trouve <span class="underline">à l’intérieur</span> de la définition d’un groupe, '''value1''' désigne la valeur de la zone dans la ligne. Par exemple, le code produit, désignation, prix, etc.
 
 
 
=== Spécifications du schéma XML ===
 
 
 
Les spécifications attendues par M-Designer sont les suivantes :
 
 
 
<ul>
 
<li><p>L’entête XML doit préciser l’'''encodage''' du fichier.</p>
 
<p><span class="underline">Exemple</span> : &lt;?xml version=&quot;1.0&quot; ''encoding=&quot;'''UTF-16'''&quot;'' standalone=&quot;yes&quot; ?&gt;</p></li>
 
<li><p>La balise racine des données XML doit s’appeler '''''doc'''''.</p></li>
 
<li><p>Toutes les balises mentionnées ci-après doivent avoir au moins un attribut nommé '''''name'''''. C’est par cet attribut que les informations seront identifiées, récupérées et mises en forme par l’application.</p></li>
 
<li><p>Les noms des balises et des attributs sont '''sensibles à la casse''' et doivent être écrits en lettres '''minuscules'''.</p></li>
 
<li><p>Pour être accessibles par l’application, les données doivent être localisées dans des pages entre les balises &lt;'''page''' name=&quot;…&quot;&gt; et &lt;/page&gt;. Un même document peut contenir plusieurs pages.</p></li>
 
<li><p>A l’intérieur d’une page, les données sont ensuite organisées par champs unitaires (balise &lt;'''field''' name=&quot;…&quot;&gt;) ou par groupes d’informations (balise &lt;'''group''' name=&quot;…&quot;&gt;).</p></li>
 
<li><p>Les groupes d’informations sont composés de lignes (balise &lt;'''line''' name=&quot;…&quot;&gt;).</p></li>
 
<li><p>Les lignes contiennent des informations unitaires (balise &lt;'''field''' name=&quot;…&quot;&gt;).</p></li></ul>
 
 
 
[[File:media/image40.png]]Voici un exemple de fichier XML :
 
 
 
[[File:media/image4.png]]
 
 
 
=== Vue XML dans M-Designer ===
 
 
 
[[File:media/image41.png]]Le chargement d’un fichier d’exemple XML dans M-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.
 
 
 
Par exemple :
 
 
 
&lt;group name=&quot;groupe&quot;&gt;<br />
 
&lt;line name=&quot;ligne&quot;&gt;<br />
 
&lt;field name=&quot;id&quot;&gt;1&lt;/field&gt;<br />
 
&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;ligne&quot;&gt;<br />
 
&lt;field name=&quot;id&quot;&gt;1&lt;/field&gt;<br />
 
&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;ligne&quot;&gt;<br />
 
&lt;field name=&quot;id&quot;&gt;2&lt;/field&gt;<br />
 
&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;ligne&quot;&gt;<br />
 
&lt;field name=&quot;id&quot;&gt;2&lt;/field&gt;<br />
 
&lt;field name=&quot;data&quot;&gt; data &lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
…<br />
 
&lt;/group&gt;
 
 
 
Dans cet exemple, si le champ utilisé pour générer un saut de page est le champ &quot;'''''id'''''&quot;, un saut de page sera alors généré après l’exécution de la deuxième ligne.
 
 
 
Dans l’interface, le paramètre « '''Saut de page''' » d’un groupe possède plusieurs choix :
 
 
 
[[File:media/image42.png]]
 
 
 
[[File:media/image43.png]]
 
 
 
[[File:media/image44.png]]
 
 
 
[[File:media/image45.png]]
 
 
 
* '''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''' » :
 
 
 
[[File:media/image46.png]]
 
 
 
* '''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.
 
 
 
=== Editer 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.
 
 
 
<span class="underline">Syntaxe</span> :<br />
 
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 '''<span class="underline">doubles guillemets</span>'''.
 
* '''Nombre maximum de colonne''' : Nombre maximum de colonne du tableau.
 
 
 
<blockquote>'''Remarque :'''
 
 
 
Toutes les lignes du groupe doivent avoir le même nom'''.'''
 
</blockquote>
 
Prenons l’exemple de ce groupe :
 
 
 
&lt;group name=&quot;invoice&quot;&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 1&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 2&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 3&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 5&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 6&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 7&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 8&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;/group&gt;
 
 
 
Pour réorganiser ce groupe sous la forme d’un tableau de trois colonnes, il faut utiliser le script suivant :
 
 
 
rowtotable(&quot;invoice&quot;,3);
 
 
 
Ce script aura pour effet de modifier le groupe qui devient alors :
 
 
 
&lt;group name=&quot;invoice&quot;&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name'''_1'''&quot;&gt;item 1&lt;/field&gt;<br />
 
&lt;field name=&quot;name'''_2'''&quot;&gt;item 2&lt;/field&gt;<br />
 
&lt;field name=&quot;name'''_3'''&quot;&gt;item 3&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name'''_1'''&quot;&gt;item 4&lt;/field&gt;<br />
 
&lt;field name=&quot;name'''_2'''&quot;&gt;item 5&lt;/field&gt;<br />
 
&lt;field name=&quot;name'''_3'''&quot;&gt;item 6&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name'''_1'''&quot;&gt;item 7&lt;/field&gt;<br />
 
&lt;field name=&quot;name'''_2'''&quot;&gt;item 8&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;/group&gt;
 
 
 
== 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.
 
 
 
=== Une 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 :
 
 
 
<ul>
 
<li><p>[[File:media/image47.png]]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.</p>
 
<p>[[File:media/image48.png]]</p></li>
 
<li><p>La '''zone''' est associée à une donnée, elle apparait sans icône.</p>
 
<p>Une '''zone''' est identifiée par son ''nom'', défini dans la fenêtre des propriétés (plus de détails dans [[#créer-une-zone|<span class="underline">a.2 Créer une zone</span>]]).</p></li></ul>
 
 
 
==== Créer une zone ====
 
 
 
Pour créer une '''zone''', deux méthodes sont possibles :
 
 
 
<ul>
 
<li><p>Sélectionner l’icône correspondante et son type dans l’onglet ''Donnée'' puis cliquer (sans relâcher) à l’endroit où cet élément doit être positionné. Cette méthode crée une '''zone''' vide. Pour lier la '''zone''' à une donnée du fichier source il suffit de sélectionner la donnée dans la ''vue Spool'' (voir la deuxième méthode ci-dessous) et de la ''glisser-déposer'' dans la zone précédemment crée en maintenant la touche '''Ctrl''' appuyée.</p>
 
<p>[[File:media/image49.png]]</p></li>
 
<li><p>Sélectionner directement les données à récupérer dans la ''vue Spool'' et utiliser le ''glisser-déposer'' à l'endroit désiré sur l'espace de conception pour créer automatiquement une zone liée aux données sélectionnées.</p>
 
<p>[[File:media/image50.png]]</p>
 
<p>Une fois la zone créée, sélectionnez celle-ci et affichez la ''vue des Propriétés'' pour renseigner ses informations :</p>
 
<p>[[File:media/image51.png]]</p></li>
 
<li><p>'''Nom''' :</p>
 
<ul>
 
<li><p>''Nom'' (de la zone) : information interne à M-Designer, permettant d’identifier les différents objets dans le projet. Ce champ est vide lors d'une création de zone à vide et vaut la valeur de la donnée lors d'une création de zone à partir de la ''vue Spool.''</p></li>
 
<li><p>''Label av''/''Label ap'' : possibilités d’ajouter du texte avant et/ou après l’information récupérée.</p></li></ul>
 
</li>
 
<li><p>'''Position''' :</p>
 
<ul>
 
<li><p>Identification de la position de l'information dans le spool de données : colonne, longueur, ligne de début.</p></li>
 
<li><p>Permet également d'extraire une certaine quantité d'information en mode XML.</p></li></ul>
 
</li>
 
<li><p>'''Position dans le document''' :</p>
 
<ul>
 
<li><p>Permet de modifier le positionnement de la zone dans la page.</p></li></ul>
 
</li>
 
<li><p>'''Type de données''' :</p>
 
<ul>
 
<li><p>Permet de définir comment l'application M-Designer doit traiter l'information récupérée (voir [[#type-de-zones|''<span class="underline">a.3 Types de zones</span>'']]).</p></li></ul>
 
</li>
 
<li><p>'''Police''' :</p>
 
<ul>
 
<li><p>Permet de paramétrer toutes les options de mise en forme de l'information : police, taille, couleur, cadrage, orientation, etc.</p></li></ul>
 
</li></ul>
 
 
 
==== Type de zones ====
 
 
 
L’application M-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.
 
 
 
<ul>
 
<li><blockquote><p>''Substitution'' : permet de remplacer une valeur du spool par une autre stockée dans un fichier appelé replacevalue.txt. Par défaut, ce fichier se trouve à l'état vierge dans le dossier d'installation de M-Designer. Pour faire fonctionner les substitutions, il faut le placer dans le dossier '''lgobitmap''' et il doit contenir les '''valeurs à remplacer''' suivies des '''valeurs de remplacement''' séparées par une '''tabulation.''' Ce sous-type est plus détaillé dans le paragraphe [[#_Remplacement_de_caractère|''<span class="underline">8.3. Remplacement de caractère</span>'']].</p></blockquote></li></ul>
 
 
 
* ''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 ''[[#code-à-barre|<span class="underline">8.1 Code à barre</span>]]''
 
 
 
* '''Outils ''': permet d’insérer un numéro de page, des images, … mais aussi d’afficher le nombre total de pages, de pages dans le lot en cours, …
 
 
 
<ul>
 
<li><p>''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.</p></li>
 
<li><p>''N° Lot '': permet d’afficher le numéro du lot.</p></li>
 
<li><p>''N° Page'' ''(Lot)'' : permet d’afficher le numéro de la page dans le lot.</p></li>
 
<li><p>''Nombre total de pages'' : permet d’afficher le nombre total de pages dans le document entier.</p></li>
 
<li><p>''Nombre total de lots'' : permet d’afficher le nombre total de lots dans le document entier.</p></li>
 
<li><p>''Nombre total de pages (Lot)'' : permet d’afficher le nombre total de pages dans le lot.</p></li>
 
<li><p>''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.</p></li>
 
<li><p>''Image'' : imprime une image différente en fonction d'une valeur du spool.</p></li>
 
<li><p>''Export'' : ce type de zone permet de récupérer une information du spool et de l'exporter vers un fichier physique.</p></li>
 
<li><p>''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).</p>
 
<p>Les paramètres de ligne et longueur de la zone indiquent la ligne de texte et la longueur du texte à récupérer.</p></li>
 
<li><p>''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).</p></li>
 
<li><p>''HyperLink'' : ajoute un lien URL.</p></li>
 
<li><p>''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 M-designer nécessitant une traduction.</p>
 
<p>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.</p></li>
 
<li><p>''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.</p>
 
<p>Si vous modifiez le fichier XPS, cela impactera tous les projets utilisant celui-ci.</p></li>
 
<li><p>''Fichier XPS'' : par opposition avec les ''Messages XPS'', les fichiers insérés à l’aide de zones de type ''Fichier XPS'' :</p>
 
<ul>
 
<li><p>peuvent contenir plusieurs pages.</p></li>
 
<li><p>sont des pages entières.</p></li>
 
<li><p>créent des pages supplémentaires dans le fichier de sortie.</p></li></ul>
 
</li></ul>
 
 
 
* '''Métadonnée''' : permet d’indexer le document pour l’archivage (zones non imprimées).
 
 
 
* ''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 [[#cumul-de-données|''<span class="underline">8.1.b. Cumul de données</span>'']])
 
 
 
* ''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
 
 
 
<ul>
 
<li><p>Données du graphique.</p></li>
 
<li><p>Données de l'axe X.</p></li>
 
<li><p>Données de l'axe Y.</p></li>
 
<li><p>Titre du graphique.</p></li>
 
<li><p>Titre de l'axe X.</p></li>
 
<li><p>Titre de l'axe Y.</p></li>
 
<li><p>Données de la légende.</p></li>
 
<li><p>Valeur minimum de l'axe Y.</p></li>
 
<li><p>Valeur maximum de l'axe Y.</p></li>
 
<li><p>Nombre d'intervalles de l'axe Y.</p></li>
 
<li><p>Arrondir à n près de l'axe Y.</p></li>
 
<li><p>Origine de l'axe Y.</p>
 
<p>La construction d’un graphique est détaillée dans le paragraphe [[#construction-dun-graphique|''<span class="underline">8.6. Construction d’un graphique</span>'']].</p>
 
<p>A partir de la v8.0.2, M-Designer a la possibilité de convertir automatiquement les anciens types de graphique en graphiques complexes. Cette fonctionnalité permet de faciliter la conversion d’anciens projets en projets XPS.</p></li></ul>
 
 
 
* '''Conversion''' : permet de convertir des données numériques selon les règles de conversion (Euro à Dollar par exemple) définies dans '''M-Processing Server''' &gt; '''Gestion des Formats M-Designer''' &gt; '''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.
 
 
 
<ul>
 
<li><blockquote><p>''Media Type'' : Type de papier (A4, A5, etc…).</p></blockquote></li></ul>
 
 
 
* ''Force Front Side'' : Conditionne le mode Recto, Recto / Verso lors de l’impression.
 
 
 
<ul>
 
<li><p>'''Commandes''' : permet d’ajouter des données dans le flux d’impression directement en langage d’impression. Tout comme pour les propriétés du projet ''Document'' et ''Page'' (cf. [[#création-dun-projet-1|<span class="underline">4.2. Création d’un projet</span>]]), une zone « ''Commandes'' » permet de définir des données en langage imprimante pour les langages suivants : '''PCL5''', '''APFDS''', '''PDF''', '''ZPL''', '''DPL''', '''TEC''', '''IGP''', '''IPL''' et '''EPL'''. Une zone peut contenir des données pour plusieurs langages différents. Lors de la conversion du XPS vers le langage de sortie, la donnée correspondante au langage de sortie sera utilisée.</p>
 
<p>[[File:media/image52.png]]</p></li></ul>
 
 
 
<ul>
 
<li><p>''Langage'' : sélection du langage.</p></li>
 
<li><p>''Activer'' : Active la zone pour le langage sélectionné.</p></li>
 
<li><p>''Pré-'' et ''Post-Imprimé''''' :''' Donnée écrite avant et après la donnée récupérée du spool.</p>
 
<p>L’écriture de données hexadécimales dans le « ''pré-'' » et « ''post-imprimé'' » est possible en utilisant la syntaxe suivante : '''\x''' suivit de la valeur hexadécimale sur deux caractères.</p></li></ul>
 
 
 
=== Un Groupe ===
 
 
 
==== Définition ====
 
 
 
[[File:media/image53.png]]Un '''groupe''' permet de récupérer plusieurs lignes d’un spool. 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.
 
 
 
[[File:media/image54.png]]
 
 
 
* [[File:media/image55.png]]Sélectionner directement les données dans la ''vue Spool'' et utiliser le ''glisser-déposer'' à l'endroit désiré sur l'espace de conception pour créer automatiquement un groupe lié à la zone de sélection du spool.
 
 
 
Une fois le groupe créé, il faut renseigner ses informations dans la ''vue des Propriétés'' :
 
 
 
* '''Nom''' :
 
 
 
* [[File:media/image56.png]]''Nom'' (du groupe) : information interne à M-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 te le positionnement des zones adjacentes. De plus, les lignes du groupe (ou conditions) sont visuellement représentées dans la fenêtre de conception. Les zones sont, quant à elles, réparties verticalement en fonction de leur ligne. Cette option est détaillée dans le paragraphe [[#dessiner-un-tableau-dynamique|''<span class="underline">8.5.b. Dessiner un tableau dynamique</span>'']].
 
 
 
* '''Variable''' :
 
 
 
* [[File:media/image4.png]]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).
 
 
 
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'''.
 
 
 
'''<br />
 
'''
 
 
 
'''En résumé :'''
 
 
 
* On configure la zone de sélection du bloc de données par la création d'un ''Groupe :''
 
 
 
[[File:media/image55.png]]
 
 
 
* On récupère les données à l'intérieur de ce bloc de données par la création d'une ''Zone :''
 
 
 
[[File:media/image57.png]]
 
 
 
* Nous pouvons alors constater que toutes les lignes de notre bloc de données sont récupérées grâce à l'aperçu ('''Ctrl+w'''). Il est possible de créer plusieurs ''Zones'' issues du bloc de données, de les placer dans le ''groupe'' et de conditionner leur mise en page (voir [[#une-condition|''<span class="underline">6.4.c. Une condition</span>'']]).
 
 
 
[[File:media/image61.png]]
 
 
 
==== 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 [[File:media/image64.png]] puis de dessiner le groupe sur l’espace de conception.
 
 
 
La vue ''Propriétés'' s’affiche pour renseigner les informations du groupe :
 
 
 
* [[File:media/image65.png]]'''Nom''' :
 
 
 
* ''Nom'' (du groupe) : information interne à M-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 M-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 te le positionnement des zones adjacentes. De plus, les lignes du groupe (ou conditions) sont visuellement représentées dans la fenêtre de conception. Les zones sont, quant à elles, réparties verticalement en fonction de leur ligne.
 
 
 
* '''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.
 
 
 
 
 
 
 
<span class="underline">Exemple</span> : Vous voulez écrire différemment en noir quand il y a la valeur '''''Facture''''' et en rouge quand il y a la valeur '''''Avoir''''' dans une ligne de spool. Vous créez alors une zone avec une police noire quand il y a '''''Facture''''', et une zone qui utilise une police rouge quand il y a '''''Avoir''''' car la création d’une seule condition dans une même zone : « police noire si '''''Facture''''' et police rouge si '''''Avoir '''''» n’est pas possible.
 
 
 
 
 
 
 
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.
 
 
 
 
 
 
 
M-Processing 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.
 
 
 
 
 
 
 
<span class="underline">Exemple</span> :
 
 
 
Dans un groupe contenant des lignes de produit, il peut y avoir des lignes de sous-totaux. Il est possible d’utiliser plusieurs zones pour imprimer ces différents types de ligne (pour mettre les sous-totaux en gras par exemple) grâce à une condition.
 
 
 
 
 
 
 
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 &quot;Sous-total&quot;.
 
 
 
 
 
 
 
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 :
 
 
 
<ul>
 
<li><p>L'existence dans la ligne : '''il y a''' dans une ligne ou dans toute la page.</p></li>
 
<li><p>L'absence dans la ligne : '''il n'y a''' pas dans une ligne ou dans toute la page.</p></li>
 
<li><p>La supériorité stricte (numérique) : '''&gt;.'''</p></li>
 
<li><p>L'égalité ou la supériorité (numérique) : '''=&gt;.'''</p></li>
 
<li><p>L'infériorité stricte (numérique) : '''&lt;.'''</p></li>
 
<li><p>L'égalité ou l'infériorité (numérique) : '''=&lt;.'''</p></li>
 
<li><p>Le numéro de la page.</p></li>
 
<li><p>Le numéro de la ligne.</p>
 
<p>Ces tests permettront à M-Designer de valider ou pas une condition.</p></li></ul>
 
 
 
= 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.
 
 
 
[[File:media/image66.png]]
 
 
 
[[File:media/image4.png]]Pour cela, cliquer sur le bouton ''Projet'' du menu ''Accueil''.
 
 
 
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\
 
* iSeries : /home/mapping/docpc/
 
 
 
[[File:media/image67.png]]
 
 
 
Une fenêtre de post-génération s'affiche une fois le projet générer pour vous signaler le ou les résultats de la génération.
 
 
 
[[File:media/image68.png]]
 
 
 
La maquette est désormais prête à être importée dans M-Processing Server.
 
 
 
= Fonctionnalités avancées =
 
 
 
== Code à barre ==
 
 
 
=== Création d’un code à barre ===
 
 
 
Pour créer un code à barre dans M-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 ====
 
 
 
[[File:media/image69.png]]
 
 
 
* '''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'''.
 
 
 
<ul>
 
<li><p>'''Code 39'''</p>
 
<p>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.</p></li></ul>
 
 
 
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'''
 
 
 
L’information à coder peut être de '''longueur quelconque''' et composée de :
 
 
 
* '''''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
 
 
 
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.
 
 
 
* '''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'''
 
 
 
*  Codage d'information numérique privilégiant la facilité de mise en œuvre.
 
*  Évolution ou modification d'applications préexistantes.
 
 
 
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'''.
 
 
 
* '''EAN128 Alpha n/optimisé'''
 
 
 
* Codage d'information alphanumérique,
 
* Longueur variable,
 
* Auto-contrôlé Continu Bidirectionnel.
 
 
 
Utilisé pour l’identification des unités d’expédition (la palette, éventuellement le carton).
 
 
 
'''<br />
 
'''
 
 
 
* '''EAN128 numérique'''
 
 
 
* Codage d'information numérique,
 
* Longueur variable,
 
* Auto-contrôlé Continu Bidirectionnel.
 
 
 
Utilisé pour l’identification des unités de d’expédition (la palette, éventuellement le carton).
 
 
 
* '''PDF 417'''
 
 
 
* Bidimensionnel,
 
* Longueur 2000 Alphanumérique,
 
* Huit niveaux de sécurité.
 
 
 
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.
 
 
 
* '''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 Etats-Unis. Il est remplacé par l'USPS ou Intelligent Mail barcode.
 
 
 
* '''Planet'''
 
 
 
Le code à barres '''Planet''' est utilisé par le service postal des Etats-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.
 
 
 
'''<br />
 
'''
 
 
 
* '''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''' = '''U'''nited '''S'''tates '''P'''ostal '''S'''ervice. 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. Police de caractères utilisée : '''BCUPCA.ttf'''
 
 
 
* '''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. Police de caractères utilisée : '''BCUPCE.ttf'''
 
 
 
'''<br />
 
'''
 
 
 
* '''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. M-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. Polices de caractères utilisées : '''BCMSI.ttf''' sans label et avec label : '''BCMSIL.ttf'''
 
 
 
==== 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.
 
 
 
<blockquote>'''Remarque :'''
 
 
 
Pour labelliser un code à barre, il suffit de sélectionner une police labellisée.
 
</blockquote>
 
=== 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'' :
 
 
 
[[File:media/image70.png|cid:image002.png@01D170A6.CBD745A0]]
 
 
 
* Dans la partie ''Propriétés'' :
 
 
 
[[File:media/image71.png|cid:image003.png@01D170A6.CBD745A0]]
 
 
 
* Dans cet exemple, les zones mémoires ont pour valeurs:
 
** MEM_FACT : 0012601
 
** MEM_DTFACT : 14/10/99
 
 
 
<span class="underline"><br />
 
</span>
 
 
 
* <span class="underline">Résultat</span> :
 
 
 
[[File:media/image72.png|cid:image004.png@01D170A7.20EEB820]]
 
 
 
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 [[#type-de-zones|''<span class="underline">6.4.a.3 Type de zones</span>'']]) : '''[[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''' ('''A'''pplication '''I'''dentifier) qui permet d’identifier la donnée encodée.
 
 
 
<span class="underline">Structure de l’EAN128</span> : 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 M-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 le caractère paragraphe ('''§'''). Ce caractère sera remplacé automatiquement en caractère FCN1 par MAPPING.
 
 
 
<span class="underline">Ex</span>: SPOOL ----&gt; MAPPING
 
 
 
AI DATA ----&gt; START FNC1 AI DATA CRC END
 
 
 
AI DATA § AI DATA ----&gt; START FNC1 AI DATA FNC1 AI DATA CRC END
 
 
 
Si vous ne pouvez pas modifier votre spool pour ajouter le caractère « '''§ »''' ou si vous souhaitez cumuler plusieurs données qui se trouvent à différents endroits du spool (voir paragraphe précédent : [[#cumul-de-données|''<span class="underline">8.1.b. Cumul de données</span>'']]), vous pouvez utiliser les zones mémoires.
 
 
 
<blockquote>'''Note :'''
 
 
 
Le label des codes à barre '''EAN128''' doit contenir les AI entre parenthèses, ceci n’est pas géré par les polices Code à barre, il vous faut donc créer une zone texte sous le code barre afin d’ajouter le label.
 
</blockquote>
 
=== 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 M-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.
 
 
 
<span class="underline">Exemple</span> :
 
 
 
''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 : Codabar ===
 
 
 
Il est possible de créer des documents contenant des codes à barres de type '''CODABAR''' (connu aussi sous le nom de '''NW-7''' au Japon).
 
 
 
Etant donné que ce type de code à barres ne nécessite pas d'encodage ni de caractère de contrôle, il n'existe pas de zone de type « CODABAR » dans M_Designer, il suffit juste de créer une zone de texte qui utilise la police '''BCCodabar''' ou '''BCCodabarL'''.
 
 
 
Par contre, ce type de code à barres doit commencer par un caractère de début et un caractère de fin (caractère A, B, C ou D).
 
 
 
Si les caractères de début et de fin ne sont pas présents dans votre donnée, il vous faudra :
 
 
 
1 - créer une zone mémoire qui contiendra la donnée du code à barre.
 
 
 
[[File:media/image73.png]]
 
 
 
2 - créer une zone de type remplacement mémoire qui contiendra la donnée plus le caractère de début et de fin. Cette zone doit utiliser la police '''BCCodabar''' ou '''BCCodabarL'''.
 
 
 
[[File:media/image74.png]]
 
 
 
=== Cas particulier : Code Barre 2D ===
 
 
 
Aujourd’hui, MAPPING gère quatre types de codes à barre 2D : '''PDF417''', '''DATA MATRIX''', '''QR CODE''' et '''MAXICODE'''.
 
 
 
<span class="underline">En PCL5 et PDF</span> : PDF417 - DATA MATRIX - QR CODE – MAXICODE.
 
 
 
<span class="underline">En ZEBRA</span> : PDF417 - DATA MATRIX.
 
 
 
Ces codes à barre ne nécessitent pas de police particulière à sélectionner.
 
 
 
En PCL5 et PDF, c’est le paramètre « '''Largeur de code barre''' » qui va modifier la taille du code à barre.
 
 
 
En ZEBRA, c’est la taille de la police sélectionnée qui va modifier la taille du code à barre.
 
 
 
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 [[#cumul-de-données|''<span class="underline">8.1.b. Cumul de données</span>'']] afin de pouvoir les cumuler dans un code à barre unique.
 
 
 
Attention, ce type de code à barre gère des optimisations (passage d’alphanumérique à numérique), la taille des codes à barre peut donc varier en hauteur et largeur suivant le contenu à encoder.
 
 
 
==== 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.
 
 
 
[[File:media/image75.png]]
 
 
 
<span class="underline">Options avancées disponibles</span> :
 
 
 
* 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é.
 
* '''A'''pplication '''I'''dentifier : Caractère de séparation, utilisé uniquement avec le FCN1 implicite en deuxième position.
 
* <span class="underline">Type d’encodage</span> :
 
** '''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.
 
 
 
[[File:media/image76.png]]
 
 
 
<span class="underline">Options avancées</span> :
 
 
 
* Largeur du code barre : Valeur comprise entre 1 et 15 définissant la taille du code barre.
 
* <span class="underline">Type d’encodage</span> :
 
** '''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.
 
 
 
[[File:media/image77.png]]
 
 
 
<span class="underline">Options avancées</span> :
 
 
 
* 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.
 
 
 
[[File:media/image78.png]]
 
 
 
<span class="underline">Options avancées disponibles</span> :
 
 
 
* Largeur du code barre : Valeur comprise entre 1 et 15, définissant la taille du code barre.
 
 
 
== Automatisation ==
 
 
 
L’automatisation de M-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 M-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.
 
* '''-Lang''' : Langage de génération (défaut : PCL5) :
 
** 0 : PCL5
 
** 1 : PCL5 OPTIMISE
 
** 2 : PCL5 IMAGE
 
** 3 : AFPDS
 
** 4 : PDF (on doit passer par association de projets pour générer en pdf)
 
** 5 : ZEBRA
 
** 6 : DPL
 
** 7 : IGP
 
** 8 : TEC
 
** 9 : IPL
 
** 10 : F+D
 
** 11 : EPL
 
* '''-SubLang''' : Sous-langage de génération (défaut : 0). Dépend du langage de génération :
 
** PCL5, PCL5 OPTIMISE, PCL5 IMAGE :
 
*** 0 = PCL5e (par défaut)
 
*** 1 = PCL5
 
** AFPDS :
 
*** 0 = 4028 Compatible
 
*** 1 = resident Font
 
*** 3 = Font Collection (par défaut)
 
** DPL :
 
*** 0 = Macro standard
 
*** 1 = Send Standard
 
*** 2 = Macro Mainframe (par défaut)
 
*** 3 = Send Mainframe
 
** IPL :
 
*** 0 = Bitmap Font
 
*** 1 = True Type Font (par défaut)
 
* '''-GenColor''' : Génération couleur (= 1) ou noir et blanc (= 0) (défaut : 0).
 
* '''-Actif''' : Mode actif, uniquement pour langage AFPDS (0 ou 1) (défaut : 0).
 
* '''-Res''' : résolution de la génération. Dépend du langage de génération :
 
** PCL5, PCL5 OPTIMISE, PCL5 IMAGE : 300 ou 600 (par défaut : 300)
 
** AFPDS : 240, 300 ou 600 (par défaut : 240)
 
** PDF : 300 ou 600 (par défaut : 300)
 
** ZEBRA : 152, 203, 300 ou 600 (par défaut : 152)
 
** DPL : 152, 203, 300 ou 600 (par défaut : 152)
 
** IGP : 72, 152, 203, 300 ou 600 (par défaut : 72)
 
** TEC : 203 ou 300 (par défaut : 203)
 
** IPL : 203 ou 300 (par défaut : 203)
 
** F+D : 203 ou 300 (par défaut : 203)
 
** EPL : 203 ou 300 (par défaut : 203)
 
* '''-Overlay''' : Générer fond de page (0 ou 1) (par défaut : 1).
 
* '''-Font''' : Générer police (0 ou 1) (par défaut : 1).
 
* '''-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.
 
* '''-MVM''' : Ouvre M-Designer en mode MappingVersionManager.
 
 
 
<span class="underline">Exemple 1</span> : Projet généré en PCL, en couleur et 300 dpi
 
 
 
C:\Mapping\M-Designer\M-Designer.exe &quot;-Hide&quot; &quot;-ProjectFile:C:\Mapping\M-Processing_Server \Import\docpc\test.mpp&quot; &quot;-Generate&quot; &quot;-Lang:0&quot; &quot;- GenColor:1&quot; &quot;-Res:300&quot;
 
 
 
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.
 
 
 
<span class="underline">Exemple 2</span> : création d’une image BMP couleur, avec rotation de 90°, en 203 dpi et avec l’inscription SPECIMEN par-dessus
 
 
 
C:\Mapping\M-Designer\M-Designer.exe &quot;-InFile:c:\test.xml&quot; &quot;- OutFile:c:\image.bmp&quot; &quot;-ProjectFile:C:\ Mapping\M-Processing_Server \Import\docpc\test.mpp&quot; &quot;-Hide&quot; &quot;-Rotation:90&quot; &quot;- Resolution:203&quot; “-Color” &quot;-Mode:XML&quot; &quot;-Specimen:SPECIMEN&quot;
 
 
 
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 '''<span class="underline">obligatoires</span>'''.
 
 
 
<span id="_Remplacement_de_caractère" class="anchor"></span>
 
 
 
== 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'''.
 
 
 
[[File:media/image79.png]]
 
 
 
* 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
 
 
 
[[File:media/image80.png]]
 
 
 
Ici, le caractère &quot;''']'''&quot; sera remplacé par le caractère &quot;'''&gt;'''&quot; et le &quot;'''Nom'''&quot; sera remplacé par &quot;'''Name'''&quot; (si la valeur à remplacer se trouve dans une zone de Type Texte \ Substitution).
 
 
 
* Sauvegarder le fichier ''ReplaceValue.txt'' dans le sous-répertoire '''lgobitmap''' de Mapping (par défaut \home\mapping\lgobitmap sur iSeries et /apps/mapping/import/lgobitmap sur Unix)
 
 
 
== Générer une maquette en pdf (par association de projets) ==
 
 
 
Cette méthode par '''Association de projets''' est obligatoire pour générer une maquette en langage PDF néanmoins elle peut être aussi utilisée pour tous les autres langages supportés par M-Designer.
 
 
 
[[File:media/image81.png]]
 
 
 
Pour créer une association de projets, il suffit de cliquer sur '''Fichier''' &gt; '''Association de projets''' &gt; '''Nouvelle.'''
 
 
 
Une fenêtre pour sélectionner les projets concernés s’ouvre :
 
 
 
[[File:media/image82.png]]
 
 
 
Vous devez sélectionner les fichiers '''.MPP''' que vous voulez associer.
 
 
 
Ensuite cliquez sur le bouton '''Enregistrer''' afin de sauvegarder votre association de projet, ce fichier portera l’extension .MPA.
 
 
 
Une fois la sauvegarde effectuée, vous pouvez cliquer sur '''Générer'''.
 
 
 
La génération par association de projets est terminée, il ne vous reste plus qu’à importer vos maquettes sur votre système de production.
 
 
 
== 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 :
 
 
 
[[File:media/image83.png]]
 
 
 
[[File:media/image84.png]]
 
 
 
<blockquote>'''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.
 
</blockquote>
 
=== Dessiner un tableau dynamique ===
 
 
 
Comme annoncé dans les options disponibles pour un groupe (cf. paragraphe [[#créer-un-groupe-fixe|''<span class="underline">6.4.b.2. Créer un groupe fixe</span>'']]), le mode Tableau permet aux zones du groupe de se comporter comme les cellules d’un tableau. Les zones d’une même ligne se retrouvent donc automatiquement collées.
 
 
 
<blockquote>'''Remarque :'''
 
 
 
Redimensionner ou déplacer une zone impacte la taille et le positionnement des zones adjacentes.
 
</blockquote>
 
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.
 
 
 
[[File:media/image85.png]]
 
 
 
== Construction d’un graphique ==
 
 
 
Depuis la partie Map :
 
 
 
* Créer un graphique depuis l’onglet Graphique :
 
 
 
[[File:media/image86.png]]
 
 
 
* Et lui donner un nom (ici « '''''GRAPH1''''' ») :
 
 
 
[[File:media/image87.png]]
 
 
 
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 <span class="underline">toutes</span> avec le même nom que le graphique (ici ça sera donc « '''''GRAPH1''''' »)
 
** Renseigner le '''Type''' = « '''''Graphique'' '''» :
 
 
 
[[File:media/image88.png]]
 
 
 
* Selon l’utilité de la zone dans le graphique, sélectionner le '''Sous-type''' correspondant dans la liste proposée :
 
 
 
[[File:media/image89.png]]
 
 
 
* Aller dans les '''Propriétés''' du graphique et cliquer sur '''Edition''' :
 
 
 
[[File:media/image90.png]]
 
 
 
* 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'' :
 
 
 
[[File:media/image91.png]]
 
 
 
'''<span class="underline"><br />
 
</span>'''
 
 
 
'''<span class="underline">NB</span>''' : pour le type de graphique = '''''Histogramme''''', il est possible de définir l’espacement entre les barres à droite et à gauche (en %). Cette option peut permettre, par exemple, de superposer deux graphiques en jouant sur l’espacement des barres de chaque graphique.
 
 
 
[[File:media/image92.png]]
 
 
 
* '''Attributs''' : permet de choisir le remplissage, le contour, l’épaisseur du contour, le motif, …
 
 
 
[[File:media/image93.png]]
 
 
 
'''<br />
 
'''
 
 
 
* '''Positionnement''' : permet de placer les ''titres'' (X, Y, du graphique) et la ''légende'', de redimensionner le graphique selon les préférences de l’utilisateur.
 
 
 
'''<span class="underline">NB</span>''' : La zone d’impression du graphique est celle délimitée par le grand rectangle donc tout ce qui ne sera pas dedans ne sera pas visible à l’impression (<span class="underline">ex</span> : la zone « '''''Legend''''' » est à l’extérieur du rectangle dans la première image ci-dessous alors qu’elle est dedans dans la deuxième).
 
 
 
[[File:media/image94.png]]
 
 
 
[[File:media/image95.png]]
 
 
 
* La '''Légende''' se construit en sélectionnant les zones dans le spool qui serviront de légende pour les attributs choisis. Comme pour toute autre donnée, il faut nommer la zone comme le nom du graphique et renseigner les propriétés de la zone avec '''Type''' = « '''''Graphique''''' » et '''Sous-type''' = « '''''Données de la légende''''' ».
 
 
 
'''<span class="underline">NB</span>''' : Attention à respecter l’ordre des attributs en sélectionnant les zones qui serviront à la légende car elles suivront le même ordre que celui des attributs.
 
 
 
=== 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é à M-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.
 
 
 
[[File:media/image96.png]]
 
 
 
[[File:media/image97.png]]
 
 
 
L’ajout de calcul dans un groupe, par l’intermédiaire de cet outil, se fait par la fonction de script « '''addline''' ». La fonction '''addline''' permet d’ajouter une ligne à un groupe, en lui précisant une séquence de couples « '''nom du champ'''/'''valeur''' » à ajouter.
 
 
 
De plus, les paramètres de type « '''chaine de caractère''' » devront être entourés de '''<span class="underline">doubles guillemets</span>''' et les noms de champ dans les formules par des '''<span class="underline">simples guillemets</span>'''.
 
 
 
<span class="underline">Syntaxe</span> :
 
 
 
addline(nom du groupe, nom de la ligne, ligne de type saut de page, nom du 1<sup>er</sup> champ, valeur du 1<sup>er</sup> champ, pré-calcul du 1er champ, nom du 2<sup>ème</sup> champ, valeur du 2<sup>ème</sup> champ, pré-calcul du 2<sup>ème</sup> champ, etc…) ;
 
 
 
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é &quot;groupe&quot; :
 
 
 
addline(&quot;groupe&quot;,&quot;ligne&quot;,yes,&quot;champ1&quot;,&quot;valeur1&quot;,no,&quot;champ2&quot;,&quot;valeur2&quot;,no);
 
 
 
&lt;group name=&quot;groupe&quot;&gt;<br />
 
…<br />
 
'''&lt;line name=&quot;ligne&quot; pagebreak=”1”&gt;<br />
 
&lt;field name=&quot;champ1&quot;&gt;valeur1&lt;/field&gt;<br />
 
&lt;field name=&quot;champ2&quot;&gt;valeur2&lt;/field&gt;<br />
 
&lt;/line&gt;'''<br />
 
&lt;/group&gt;
 
 
 
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 '''<span class="underline">simples guillemets</span>'''.
 
 
 
Prenons l’exemple de ce groupe :
 
 
 
&lt;group name=&quot;invoice&quot;&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 1&lt;/field&gt;<br />
 
&lt;field name=&quot;price&quot;&gt;10&lt;/field&gt;<br />
 
&lt;field name=&quot;quantity&quot;&gt;2&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 2&lt;/field&gt;<br />
 
&lt;field name=&quot;price&quot;&gt;5&lt;/field&gt;<br />
 
&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 3&lt;/field&gt;<br />
 
&lt;field name=&quot;price&quot;&gt;12&lt;/field&gt;<br />
 
&lt;field name=&quot;quantity&quot;&gt;4&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />
 
&lt;field name=&quot;price&quot;&gt;5.5&lt;/field&gt;<br />
 
&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;/group&gt;
 
 
 
Pour ajouter une ligne de total à ce groupe, il faudra utiliser ce script :
 
 
 
addline(&quot;invoice&quot;, &quot;LigneTotal&quot;,no
 
 
 
&quot;total&quot;, &quot;total = [[SUM('price'*'quantity')]]&quot;, yes
 
 
 
&quot;moyenne&quot;, &quot;moyenne = [[AVG('price'*'quantity')]]&quot;, yes
 
 
 
);
 
 
 
Ce script aura pour effet d’ajouter une ligne de '''total''' à la fin du groupe :
 
 
 
&lt;group name=&quot;invoice&quot;&gt;<br />
 
…<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />
 
&lt;field name=&quot;price&quot;&gt;5.5&lt;/field&gt;<br />
 
&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
'''&lt;line name=&quot;LigneTotal&quot;&gt;'''<br />
 
'''&lt;field name=&quot;total&quot;&gt;total = 99.5&lt;/field&gt;'''<br />
 
'''&lt;field name=&quot;moyenne&quot;&gt;moyenne = 24.875&lt;/field&gt;'''<br />
 
'''&lt;/line&gt;'''<br />
 
&lt;/group&gt;
 
 
 
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(&quot;invoice&quot;,&quot;LineSubtotal&quot;,yes, &quot;subtotal&quot;,&quot;sous-total = [[SUM('price'*'quantity')]]&quot;,no);
 
 
 
Ce script aura pour effet d’ajouter une ligne de total à la fin du groupe :
 
 
 
&lt;group name=&quot;invoice&quot;&gt;<br />
 
…<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 4&lt;/field&gt;<br />
 
&lt;field name=&quot;price&quot;&gt;5.5&lt;/field&gt;<br />
 
&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
'''&lt;line name=&quot;LineSubtotal&quot; pagebreak=”1”&gt;'''<br />
 
'''&lt;field name=&quot;subtotal&quot;&gt;sous-total = [[SUM('price'*'quantity')]]&lt;/field&gt;'''<br />
 
'''&lt;/line&gt;'''<br />
 
&lt;/group&gt;
 
 
 
== 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 M-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 [[#création-dun-projet-1|''<span class="underline">4.2. Création d’un projet</span>'']]). Elle permet de définir une zone de type '''Metadata''' qui sera utilisée pour regrouper les pages du document final en lot.
 
 
 
[[File:media/image98.png]]
 
 
 
Lors du traitement de la page :
 
 
 
* Si la zone '''Metadata''' récupère une nouvelle valeur alors un nouveau lot sera créé. La page en cours appartiendra à ce nouveau lot.
 
* Si la zone '''Metadata''' récupère une valeur déjà récupérée précédemment, la page en cours sera déplacée vers le lot correspondant à cette valeur.
 
* Si aucune valeur n’est récupérée par la zone '''Metadata''', la page reste dans le même lot que la page précédente.
 
 
 
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.
 
 
 
'''Ces variables, qui peuvent être utilisées dans des zones ou dans des blocs de texte, sont les suivantes :'''
 
 
 
'''MAP_TOTAL_PAGE''' = nombre total de page.
 
 
 
'''MAP_TOTAL_DOC''' = nombre total de lot.
 
 
 
'''MAP_TOTAL_PAGE_IN_DOC''' = nombre de page dans le lot en cours.
 
 
 
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 '''&quot;000&quot;''' dans la page, mais au moment de l’impression cette valeur sera remplacée par :
 
 
 
* '''&quot; 5&quot;''' s’il y 5 pages au total.
 
* '''&quot; 10&quot;''' s’il y 10 pages au total.
 
* '''&quot;150&quot;''' s’il y 150 pages au total.
 
 
 
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 '''Metadata''' 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.
 
 
 
[[File:media/image99.png]]
 
 
 
=== 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.
 
 
 
[[File:media/image100.png]]
 
 
 
<span class="underline">Exemple</span> :
 
 
 
Dans l’exemple ci-dessous, le groupe “'''''invoice'''''” apparait trois fois dans le XML. Par défaut, le groupe de la maquette ne pourra récupérer que les informations de la première apparition du groupe dans le XML. Mais si l’option « '''Répéter''' » est cochée, l’exécution du groupe se poursuivra sur toutes les apparitions.
 
 
 
&lt;group name=&quot;'''invoice'''&quot;&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 1&lt;/field&gt;<br />
 
&lt;field name=&quot;price&quot;&gt;10&lt;/field&gt;<br />
 
&lt;field name=&quot;quantity&quot;&gt;2&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;description&quot;&gt;<br />
 
&lt;field name=&quot;description&quot;&gt;Description item 1&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;/group&gt;<br />
 
&lt;group name=&quot;'''invoice'''&quot;&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 2&lt;/field&gt;<br />
 
&lt;field name=&quot;price&quot;&gt;5&lt;/field&gt;<br />
 
&lt;field name=&quot;quantity&quot;&gt;3&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;description&quot;&gt;<br />
 
&lt;field name=&quot;description&quot;&gt;Description item 2&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;/group&gt;<br />
 
&lt;group name=&quot;'''invoice'''&quot;&gt;<br />
 
&lt;line name=&quot;item&quot;&gt;<br />
 
&lt;field name=&quot;name&quot;&gt;item 3&lt;/field&gt;<br />
 
&lt;field name=&quot;price&quot;&gt;12&lt;/field&gt;<br />
 
&lt;field name=&quot;quantity&quot;&gt;4&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;line name=&quot;description&quot;&gt;<br />
 
&lt;field name=&quot;description&quot;&gt;Description item 3&lt;/field&gt;<br />
 
&lt;/line&gt;<br />
 
&lt;/group&gt;
 
 
 
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.
 
 
 
[[Category:PrivateData]]
 

Version actuelle datée du 28 mars 2022 à 08:35