ZPL как центрировать штрих-код (Код 128)

Я хотел бы знать, как центрировать штрих-код 128. на картинке вы должны увидеть, что она прямо сейчас слева оправдана. Label

мой zpl:

^XA
^LH10,10
^FO0,0^XGE:SWESE001.GRF^FS
^FO440,0^XGE:SWESE000.GRF^FS
^FO0,70^FB550,50,0,C,0^AQN,25,30^FDSpraynozzle 50mm^FS
^FO0,130^BY2^BCN,30,Y,Y,N,N^FDS/N:941001-0114-0001^FS
^FO180,170^AQN,23,20^FDwww.swepro.com^FS
^XZ

4 ответов


я публикую свое решение на случай, если кто-то его ищет. Как упоминает E_S, чтобы центрировать штрих-код в метке, вы должны рассчитать его по коду, выполнив следующие шаги:

  • Проверьте ширину узкой полосы, в вашем случае 2 (^BY2)
  • узнайте общую ширину метки в точках. Для этого вы должны знать, каково разрешение вашего принтера (eg: 8 dots / mm). Итак, если у вас есть 80 mm широкий метка 80 * 8 = 640 dots
  • подсчитайте каждый символ в штрих-коде, включая коды вызова и контрольную цифру, как указано ниже. Сведения о кодах вызова см. В разделе:https://www.zebra.com/content/dam/zebra/manuals/en-us/software/zpl-zbi2-pm-en.pdf (стр. 95)
  • обратите внимание, что вызов коды (">:", ">5", etc.) считается как один символ, и что символы mode C хранятся в парах. Для получения дополнительной информации о mode C, обратитесь к http://en.wikipedia.org/wiki/Code_128
  • если ваш штрих-кода >:S/N:941001-0114-0001 вы приходится считать [начальный код B] + [20 символов] + [контрольная цифра] = 22
  • если ваш штрих-кода >:S/N:>5941001>6->50114>6->50001 вы должны считать [start code B] + [4 characters for 'S/N:'] + [mode C invocation] + [3 characters for '941001'] + [mode B invocation] + [1 characters for '-'] + [mode C invocation] + [2 characters for '0114'] + [mode B invocation] + [1 characters for '-'] + [mode C invocation] + [2 characters for '0001'] = 19
  • каждый символ занимает 11 единиц смешение пространств и баров, за исключением stop code это имеет 2 дополнительных единицы (это в общей сложности 13)
  • вот идет хороший материал... Ширина штрих-кода: ((chars counted [22 or 19] * 11) + (stop char * 13)) * narrow bar width = 510 dots or 444 dots
  • теперь все, что нам нужно сделать, это round((label width - barcode width) / 2) и используйте это для того чтобы расположить штрихкод с ^FT

вот именно! Надеюсь, это кому-то поможет!


нет команды ZPL для центрирования кода. Ваша программа, которая генерирует ZPL, должна будет автоматически вычислить позицию на основе размера кода и позиции с использованием координат.


установите флажок" печать штрих-кода как граффик" в аренду штрих-кодов.

Это сработало в моем случае.


вы должны использовать лоток:

 ^FO10,170^AQN,23,20^FDwww.swepro.com^FS

. где
. ^FOX, Y^AQN,...^FSX=x-axis location and Y=y-axis location