ZebraDesigner - сохранение кода zpl фактически не сохраняет код как zpl

заголовок может быть немного странно сформулирован, поэтому позвольте мне попытаться объяснить:

Я использую ZebraDesigner 3 Essentials для создания этикетки. Затем я печатаю в файл, что оставляет мне .prn, содержащий код. Я также попробовал ответить на этот вопрос: Как получить код ZPL с этикетки ZebraDesigner? , оставив мне файл .zpl с тем же содержимым, что и файл .prn.

Этот контент похож на zpl, но, похоже, это не то же самое. Это результат простой метки, где Text находится посередине:

CT~~CD,~CC^~CT~
^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD20^JUS^LRN^CI0^XZ
^XA
^MMT
^PW1046
^LL0267
^LS0
^FO448,96^GFA,00768,00768,00012,:Z64:
eJzl0TEOQiEMBuASho69gb2I4V3rDcRg3sHEm3CEjh2M6PMV0Lg4GBc7fUMD/w8AfzBUq7zZpWF8NfgMnxhlmC+Y8SQPT1dfyBzZCU+bZ0oSbF8w6b7Zpxg3u+Jz0GEWc62ZyzDlYWwu93pP7vur2zniIEi/N0cdGdQywIzHnvPAruzMay9G6X1pUXsHSnjWL/7Yz+YGfRNqLw==:7BBD
^PQ1,0,1,Y^XZ

Думаю, проблема во второй строке от кнопки вверх. Вокруг есть то место, где обычно стоял бы Текст, а сейчас там просто тарабарщина.

Мне абсолютно необходимо, чтобы это было правильно сохранено, так как позже мне нужно получить к нему доступ через python. Пожалуйста, помогите мне, объяснив, почему это происходит, и / или как я могу это исправить.


person Solo    schedule 09.09.2020    source источник
comment
Это совершенно нормальный ZPL, просто все содержимое вашей этикетки выражается в виде статического заранее созданного изображения (команда ^GFA отправляет растровое изображение на принтер; двоичное содержимое заархивировано и закодировано в base64, отсюда и :Z64:) . Это тип ZPL, который официальный драйвер создает при обычной печати на принтер Zebra из приложения Windows.   -  person GSerg    schedule 09.09.2020
comment
Очевидно, что вы не можете вернуть получившееся изображение в исходный ZPL, который был выполнен для его создания.   -  person GSerg    schedule 09.09.2020
comment
@GSerg Означает ли это, что у меня нет возможности получить исходный текст?   -  person Solo    schedule 09.09.2020
comment
Я не знаю, что делает эта программа. Невозможно получить исходный текст из этого кода, но если все, что вам нужно, это распечатать его без изменения его частей, вы можете использовать его как есть. И если вам нужно изменить некоторые его части при печати, всегда лучше просто изучить ZPL и создать этикетку непосредственно в нем.   -  person GSerg    schedule 09.09.2020
comment
@GSerg Это очень прискорбно - просто изучение ZPL не вариант, так как пользователь должен иметь возможность удобно создавать эти метки (я сам не пользователь). Большая часть этикетки статична, но несколько строк текста необходимо индивидуализировать при печати. Я хотел сделать это на питоне, изменив код zpl и отправив его на принтер. Может быть, у вас есть идея, как сделать это по-другому?   -  person Solo    schedule 09.09.2020
comment
Убедитесь, что метка содержит только статические части, а затем просто добавьте динамические поля вместо изменения существующих. Он будет печатать поверх статического изображения, что также является правильным способом. Опять же, как вы собираетесь динамически вставлять контент в созданную пользователями метку, если они могут размещать вещи повсюду?   -  person GSerg    schedule 09.09.2020
comment
@GSerg В моем особом случае это было бы возможно, поскольку пользователю нужно только определенное количество полей с определенным типом контента. Даже если они переделают макет, эти поля всегда где-то будут. По умолчанию они будут содержать ключевые слова, которые мой код Python ищет, а затем заменяет индивидуально сгенерированным контентом. Это была идея, и она работала до тех пор, пока ZebraDesigner не перестал выдавать читаемый код zpl. В любом случае спасибо, но похоже, мне нужен новый способ сделать это :)   -  person Solo    schedule 09.09.2020


Ответы (1)


Необходимо использовать шрифт, встроенный в принтер. Если вы установите шрифт Zebra 0, вы получите что-то вроде:

CT~~CD,~CC^~CT~
^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR4,4~SD22^JUS^LRN^CI0^XZ
^XA
^MMT
^PW812
^LL1218
^LS0
^FT160,391^A0N,135,134^FH\^FDhello^FS
^PQ1,0,1,Y^XZ
person banno    schedule 09.09.2020
comment
Если вы используете непечатный шрифт, приложение преобразует текст в графику. - person banno; 09.09.2020