2015-09-01 3 views
1

Je suis assez nouveau dans le langage ZPL II et j'ai du mal à écrire du texte en mode inverse avec les commandes^GB et^FR. Pour autant que je comprenne le langage ZPL, quand je veux imprimer un texte en mode inversé (blanc sur noir), je dois d'abord dessiner une boîte graphique avec la commande^GB et ensuite définir le champ à écrire en mode inverse avec la commande spéciale^FR.ZPL II et largeur dynamique de la boîte graphique lors de l'impression inversée d'un champ

Le problème que j'ai est que je voudrais adapter la largeur de la boîte graphique à la largeur du texte. Avec la police que j'utilise, la police^A0, je n'ai pas pu trouver l'algorithme pour calculer la largeur correcte de la boîte graphique. Selon le texte, s'il y a des chiffres ou des lettres, ou les deux, la largeur de la zone graphique est non seulement (nombre de caractères) * (largeur d'un caracter) ...

Voici le code que j'utilise:

^XA ^ FO64,0,^GB70,20,10^FS ^ FO64,0,^^ FR A0N, 32,37^FD0001^FS ^ XZ

Lorsque vous utilisez un mélange de chiffres et lettres la boîte graphique ne rentre plus:

^XA ^ FO64,0,^GB70,20,10^FS ^ FO64,0,^FR^A0N, 32,37^FDAW01^FS ^ XZ

Je serais très reconnaissant à quiconque pourrait me donner la bonne approche à mon problème.

Répondre

0

Je ne crois pas qu'il existe un moyen de faire la taille automatique de la boîte graphique en fonction de la longueur réelle du texte. Je recommande d'utiliser une police mono-espacée. Cela devrait facilement vous permettre de calculer la largeur de la boîte en fonction du nombre de caractères. Utilisez Zebra Utilities pour télécharger une police mono-espacée vers l'imprimante.

+0

Merci beaucoup pour votre réponse. Pendant ce temps, j'ai trouvé un message similaire à la mienne et il semble définitivement qu'il n'y a pas de solution en utilisant des polices évolutives. (voir [link] (http://stackoverflow.com/questions/24603194/how-to-calculate-zebra-font-0-text-width)) – ThomasZ