Преобразование команд ZPL в байтовую строку для печати QR-кода

Вопрос или проблема

Это требование относится к интеграции Appian с принтером Zebra. Я пытаюсь использовать плагин Appian для печати QR-кодов/Штрих-кодов на принтере Zebra. Один из входных параметров для принтера – это labelString, который упоминается как последовательность команд ZBL, преобразованных в байтовую строку. Я ищу информацию в интернете о том, как преобразовать команды ZPL в байтовую строку, но пока безуспешно.

Это команда, которую я хочу преобразовать в байтовую строку.

^XA
^FO40,30^A0,40^FD${partId}^FS
^FO50,80^BY3^BCN,60,,,,A^FD${partId}^FS
^XZ 

Вместо байтовой строки возможно ли отправлять команды ZPL в текстовом формате?

Ответ или решение

Конвертация ZPL-команд в байтовую строку для печати QR-кодов на принтерах Zebra является важным аспектом при интеграции с приложением, таким как Appian. Процесс требует тщательного подхода, особенно когда необходимо удостовериться, что команды ZPL распознаются и обрабатываются правильно при их передаче на принтер.

Понимание ZPL

ZPL (Zebra Programming Language) — это язык программирования, используемый принтерами Zebra для создания и управления этикетками. Команды ZPL представляют собой текстовые строки, которые содержат инструкции по форматированию и печати графиков, текста и штрих-кодов. Ваша задача — преобразовать данные команды в байтовый строковый формат, который может быть передан принтеру.

Пример команд ZPL

Для начала рассмотрим ваши ZPL-команды. Они представляют собой последовательность, которая начинается с ^XA и заканчивается ^XZ, а между ними находятся команды форматирования и содержимого для печати:

^XA
^FO40,30^A0,40^FD${partId}^FS
^FO50,80^BY3^BCN,60,,,,A^FD${partId}^FS
^XZ

Преобразование ZPL в байтовую строку

Задача конвертации ZPL-команд в байтовую строку заключается в том, чтобы обеспечить правильное преобразование символов в формат, принимаемый принтером. Это можно сделать с использованием стандартной программы на Python или другом языке программирования. Вот пример реализации на Python:

def zpl_to_bytes(zpl_string):
    return zpl_string.encode('utf-8')

zpl_commands = """^XA
^FO40,30^A0,40^FD${partId}^FS
^FO50,80^BY3^BCN,60,,,,A^FD${partId}^FS
^XZ"""

byte_string = zpl_to_bytes(zpl_commands)
print(byte_string)

Объяснение кода:

  1. Функция zpl_to_bytes: Эта функция принимает строку ZPL и использует метод encode для преобразования строки в байтовый формат с кодировкой UTF-8.

  2. Строка zpl_commands: Здесь вы определяете фактические команды ZPL, которые хотите отправить на принтер.

  3. Переменная byte_string: Хранит результат преобразования.

Этот код обеспечивает получение ZPL-команд в виде байтовой строки, которую затем можно передать в вашу систему печати.

Передача ZPL-команд как текст

Отвечая на ваш второй вопрос, можно также передавать команды ZPL в текстовом формате. Однако, это зависит от API, с которым вы работаете. Если система поддерживает прямую передачу текстовых строк, и принтер настроен на обработку текстовых данных, это может сработать. Тем не менее, наилучшей практикой остается использование байтовых строк для обеспечения корректной передачи данных.

Заключение

Существует несколько методов конвертации ZPL-команд в байтовую строку, и использование языков программирования, таких как Python, значительно упрощает эту задачу. Применяя приведенные выше советы, вы сможете эффективно интегрировать печать QR-кодов и штрих-кодов в своем приложении на базе Appian. Убедитесь, что ваша система правильно настроена для работы с байтовыми строками, что обеспечит стабильную и бесперебойную печать.

Оцените материал
Добавить комментарий

Капча загружается...