Modèles d'étiquette
Un fichier de commandes d'imprimante de la bibliothèque Étiquettes : son nom et son encodage, l'éditeur de commandes et l'import de fichier, la grammaire des marqueurs, la file Windows installée et l'envoi de test.
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 tout autre langage de commandes RAW) avec des marqueurs
{{NAME}}là où une valeur d'essai doit venir. Ganter Lab envoie les octets à une file RAW Windows et remplace les marqueurs; il n'analyse, ne rend ni ne prévisualise jamais le langage d'imprimante, donc la mise en page elle-même se conçoit dans l'outil du fabricant de l'imprimante. Modifier demande Gérer Process; toute la page est inerte pendant qu'une unité tourne, et un envoi de test est refusé tant que le runtime est arrêté. Un modèle neuf 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 rend ou envoie refuse un modèle vide.
La page compte cinq cartes, dans l'ordre où le travail se fait : l'identité et l'encodage, les commandes, les marqueurs qu'elles contiennent, comment 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 la bibliothèque et chaque commande d'étiquette montrent. | 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 demeure. |
| Encodage | Comment les octets stockés sont relus comme du texte, et comment chaque valeur insérée est encodée. | UTF-8 (par 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 demeure. 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 contenant les commandes, avec une forme ZPL en texte d'exemple. La saisie se valide au fur et à mesure (la liste des marqueurs et tout refus suivent le texte); quitter le champ enregistre. Un brouillon refusé demeure à 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 contrôles 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 se terminent 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 A à Z, se poursuit avec A à Z, 0 à
9 ou le trait de soulignement, compte 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 d'octet et la règle enfreinte
(« Marqueur d'étiquette mal formé à la position 40 : le nom ne peut contenir que A-Z, 0-9 ou le trait
de soulignement. »). Chaque octet hors d'un marqueur est préservé, et la substitution se fait une fois
et jamais de façon récursive.
Un modèle sans commande indique « 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 indique « 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 auxquelles vous faites 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 déroulement :
- Créez le dessin de l'étiquette dans l'outil du fabricant de l'imprimante, par exemple ZebraDesigner.
- Placez des marqueurs Ganter Lab comme
{{SERIAL}}ou{{RESULT}}dans le contenu d'un texte ou d'un code-barres. - Exportez le fichier de commandes prêt pour l'imprimante, par exemple en ZPL. N'importez pas le fichier de projet du logiciel.
- Importez ce fichier ici (ou collez son contenu dans le champ des commandes) et vérifiez les marqueurs détectés.
- Saisissez des valeurs représentatives ci-dessous et faites un test vers une file Windows installée.
Le même déroulement 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 indique « 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 | Rend les commandes stockées avec les valeurs d'exemple et les soumet comme document RAW nommé Ganter Lab test · <modèle>. 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é : raison »). |
Envoyer le test est grisé sans commande stockée, sans file choisie, pendant un envoi, et pendant que la page est inerte. Une valeur qu'un marqueur ne peut pas porter dans l'encodage déclaré est refusée par le moteur de rendu. 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 servent au test seulement. 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 de démarrage,
l'état de l'essai, et à la fin aussi l'instant de 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 d'heure prennent un format
(date et heure de la station, date de la station, heure de la station, format ISO 8601) et les
sources numériques un nombre fixe de décimales facultatif (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, saut de ligne compris, ou un caractère qui démarre
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 moment offre, comment l'artefact est
figé et comment un envoi est enregistré se trouve dans Émettre étiquettes et
rapports; associer un modèle à la main face à un essai enregistré se trouve dans
É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 d'imprimante. Elle n'associe aucun marqueur à une valeur : cela revient à la commande d'étiquette. Elle n'imprime aucune étiquette pour un essai : les artefacts d'un essai s'impriment depuis son dossier dans les historiques. Et supprimer le modèle (le Supprimer l'étiquette de la barre) laisse chaque artefact enregistré intact; seules les commandes qui le nomment encore cessent de générer.