Modèles d'étiquette

Un fichier de commandes d'imprimante de la bibliothèque Étiquettes : son nom et son encodage, l'éditeur de commandes d'imprimante et l'import de fichier, la grammaire des marqueurs, la file Windows installée et l'envoi de test.

Afficher en Markdown

Un modèle d'étiquette est une ligne de la bibliothèque Étiquettes (Process > Modèles de documents > Étiquettes) : un fichier de commandes d'imprimante (ZPL, EPL, CPCL ou n'importe quel autre langage de commandes RAW) avec des marqueurs {{NAME}} là où une valeur d'essai doit venir. Ganter Lab envoie les octets à une file Windows RAW et remplace les marqueurs ; il n'analyse, ne restitue et ne prévisualise jamais le langage de l'imprimante, donc la mise en page elle-même se conçoit dans l'outil du fabricant. La modifier exige Gérer Process ; toute la page est inerte tant qu'une unité exécute un essai, et un envoi de test est refusé tant que le runtime est arrêté. Un nouveau modèle naît vide, nommé « Label » (« Label 2 », et ainsi de suite), et n'imprime rien tant qu'il ne contient pas de commandes : chaque chemin qui restitue ou envoie refuse un modèle vide.

La page est faite de cinq cartes, dans l'ordre où le travail se fait : l'identité et l'encodage, les commandes, les marqueurs qui y sont trouvés, la façon de préparer un fichier dans un logiciel de conception, et l'envoi de test.

Modèle

Champ Ce que c'est Valeurs / défaut Effet
Nom Le nom que montrent la bibliothèque et chaque commande d'étiquette. Texte ; validé quand le champ est quitté. Un nom vide est refusé (« Un modèle d'étiquette doit porter un nom. ») et le nom précédent reste.
Encodage Comment les octets stockés sont relus comme du texte, et comment chaque valeur insérée est encodée. UTF-8 (défaut), Latin-1, ASCII. Le changer réécrit les commandes modifiables dans le nouvel encodage ; un caractère que le nouvel encodage ne peut pas représenter est refusé (« Les commandes restent en UTF-8. La ligne 3 contient 'é', que l'ASCII ne peut pas représenter. ») et l'encodage reste. Les commandes opaques gardent leurs octets et sont simplement relues sous la nouvelle déclaration.

Commandes d'imprimante

Contrôle Ce qu'il fait
L'éditeur Un champ de texte à chasse fixe qui contient les commandes, avec une forme ZPL en texte d'exemple. La saisie se valide au fil de la frappe (la liste des marqueurs et tout refus suivent le texte) ; quitter le champ enregistre. Un brouillon refusé reste à l'écran avec sa raison et n'est pas enregistré ; ouvrir un autre modèle l'abandonne. Enregistrer un texte identique aux octets stockés ne change rien.
Importer un fichier… / Remplacer le fichier… Fait entrer un fichier de commandes d'imprimante (.zpl, .epl, .epl2, .cpcl, .prn, .lbl, .txt). Les octets sont copiés dans la configuration et le nom du fichier est conservé pour la traçabilité : déplacer ou supprimer l'original n'affecte pas le modèle. Un fichier vide et un fichier de plus de 2 Mio sont refusés, et un fichier dont les marqueurs sont mal formés aussi.

Les commandes ne sont modifiables comme texte que tant qu'elles survivent à l'aller-retour octet pour octet : elles se décodent sous l'encodage déclaré, se réencodent vers les mêmes octets, terminent chaque ligne de la même façon (toutes en LF ou toutes en CR LF ; un style CR LF importé est remis à chaque enregistrement) et ne portent aucun caractère de contrôle au-delà de la tabulation et de la fin de ligne. Des commandes qui échouent à l'un de ces tests restent opaques : l'éditeur est remplacé par la raison (« L'octet 0x1B à la position 12 n'est pas du texte UTF-8. », « Les fins de ligne sont mélangées : certaines lignes finissent par CR LF et d'autres par LF seul. ») et les octets ne changent qu'en remplaçant le fichier. Une ligne sous la carte dit ce qui est stocké : « Rien n'est encore stocké. », « Importé depuis labels.zpl · 1,2 Kio · les fins de ligne CR LF sont conservées » ou « Écrit ici · 240 o ».

Marqueurs détectés

Les marqueurs trouvés dans les commandes stockées, dans l'ordre de leur première occurrence. Un marqueur est un {{NAME}} strictement ASCII : le nom commence par une lettre de A à Z, continue par A à Z, 0 à 9 ou un souligné, fait au plus 64 caractères et se ferme par }}. Tout ce qui s'ouvre par {{ et ne suit pas la grammaire est refusé avec sa position en octets et la règle enfreinte (« Marqueur d'étiquette mal formé à la position 40 : le nom ne peut contenir que A-Z, 0-9 ou un souligné. »). Chaque octet hors d'un marqueur est préservé, et le remplacement a lieu une fois et jamais récursivement.

Un modèle sans commandes se lit « Aucune commande pour l'instant. Écrivez les commandes d'imprimante ci-dessus, ou importez un fichier exporté depuis un logiciel de conception d'étiquettes. D'ici là, ce modèle n'imprime rien. » ; un modèle avec des commandes et sans marqueur se lit « Aucun marqueur n'a été trouvé : cette étiquette fixe envoie les mêmes octets à chaque fois et n'utilise aucune donnée d'essai. » et reste un modèle valide. Chaque marqueur distinct a besoin d'une source dans chaque commande d'étiquette qui emploie le modèle ; un marqueur répété reçoit la même valeur. La carte se termine par la règle permanente : Ganter Lab valide la syntaxe des marqueurs, pas les commandes du fabricant. Ne stockez que des commandes de confiance ; elles peuvent changer le comportement de l'imprimante.

Préparer un modèle dans un logiciel de conception d'étiquettes

Un rappel replié du parcours :

  1. Créez la maquette de l'étiquette dans l'outil du fabricant de l'imprimante, par exemple ZebraDesigner.
  2. Placez des marqueurs Ganter Lab comme {{SERIAL}} ou {{RESULT}} dans le texte ou le contenu d'un code-barres.
  3. Exportez le fichier de commandes prêt pour l'imprimante, par exemple en ZPL. N'importez pas le fichier de projet du logiciel.
  4. Importez ce fichier ici (ou collez son contenu dans le champ des commandes) et vérifiez les marqueurs détectés.
  5. Saisissez des valeurs représentatives ci-dessous et testez sur une file Windows installée.

Le même parcours vaut pour EPL, CPCL et les autres langages de commandes d'imprimante.

Envoi de test

Contrôle Ce qu'il fait
Actualiser les files Relit les files d'impression installées pour l'utilisateur Windows interactif. Un échec de lecture est dit à côté du sélecteur.
Une zone de valeur par marqueur Le texte d'exemple substitué à ce marqueur pour cet envoi seulement. Un modèle fixe se lit « Ce modèle fixe n'a besoin d'aucune valeur d'exemple. » ; un modèle vide « Il n'y a rien à envoyer tant que ce modèle n'a pas de commandes d'imprimante. »
File Windows installée La file vers laquelle le test part (« (choisir une file) » ou « (aucune file installée) »).
Envoyer le test Restitue les commandes stockées avec les valeurs d'exemple et les soumet comme un document RAW nommé Ganter Lab test · <template>. Aucun essai et aucun artefact n'est créé. Le résultat arrive dans le journal des actions (« Étiquette de test envoyée à 'Q'. » ou « L'envoi de test a échoué : motif »).

Envoyer le test est grisé sans commandes stockées, sans file choisie, pendant l'envoi, et tant que la page est inerte. Une valeur qu'un marqueur ne peut pas porter dans l'encodage déclaré est refusée par le générateur. Un succès signifie que la file Windows a accepté le document RAW ; il ne confirme pas qu'une étiquette physique a été imprimée.

D'où viennent les valeurs

Les valeurs d'exemple ci-dessus ne servent qu'au test. Dans un essai, chaque marqueur distinct du modèle est associé à une source finie sur la commande d'étiquette qui l'emploie (Actions) : les métadonnées figées, le nom et la révision du modèle, le nom et le code de l'unité, le nom et le code de la procédure, l'identifiant de l'essai, l'instant du démarrage, l'état de l'essai, et à la Fin également l'instant de la fin, la durée, le verdict, le motif de fin et un résultat de critère nommé avec un cycle explicite. Les sources de date et heure prennent un format (date et heure de la station, date de la station, heure de la station, ISO 8601) et les sources numériques un nombre fixe de décimales facultatif (de 0 à 9). Un nombre est écrit pour la machine qui le lit et non de la façon dont la station affiche les nombres à l'écran : jamais de séparateur de milliers, qui à l'intérieur d'un code-barres casse le système récepteur, toujours le point décimal invariant, et un nombre entier, comme un compte ou une durée en secondes, écrit entier. Une valeur qui contient un caractère de contrôle, un saut de ligne compris, ou un caractère qui commence une commande d'imprimante (^, ~) est refusée en nommant son marqueur : elle couperait la ligne où elle se trouve, ou imprimerait une autre étiquette. Ce que chaque frontière propose, comment l'artefact est figé et comment un envoi est enregistré est Émettre des étiquettes et des rapports ; associer un modèle à la main contre un essai enregistré est Étiquettes et rapports.

Ce que cette page ne fait pas

Elle ne dessine aucun aperçu de l'étiquette et ne valide rien du langage de l'imprimante. Elle n'associe aucun marqueur à une valeur : c'est le travail de la commande d'étiquette. Elle n'imprime pas une étiquette pour un essai : les artefacts d'un essai s'impriment depuis son dossier dans les Historiques. Et supprimer le modèle (le verbe Supprimer l'étiquette de la barre) laisse chaque artefact enregistré intact ; seules les commandes qui le nomment encore cessent de générer.