создать ZPL для печати PNG-изображения с помощью JAVA

Я хочу создать ZPL2-код, который печатает данное PNG-изображение. Я пробовал, например. Labelary Online (http://labelary.com), но я не могу создать правильную кодировку изображения. Я преобразовал свой PNG в ч/б-изображение, преобразовал массив байтов в шестнадцатеричную строку и вставил его следующим образом:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bwImage, "png", baos);
byte[] bytes =  baos.toByteArray();
System.out.println("^XA^GFA," + bytes.length + "," + bytes.length + "," + bytes.length / 8 + "," + getHexString(bytes) + "^XZ");

Это работает для Labelary-Online-Preview, но не для реального принтера. Во-вторых, когда я вставляю изображение на веб-сайт Labelary, шестнадцатеричная строка выглядит совсем иначе, чем моя. (Это даже не Hex-String).


person Sven    schedule 06.06.2016    source источник
comment
Вы видели этот пост? Заголовок stackoverflow.com/questions/15156671/   -  person PbxMan    schedule 16.01.2017


Ответы (1)


Я использовал http://labelary.com в качестве встроенного конвертера изображений. Я использую «Добавить изображение», затем выбираю данные изображения и сохраняю их в файл *.grf.

Если вы не хотите использовать Labelary, вы также можете использовать утилиты настройки Zebra и преобразовать изображение в *.grf, следуя этой статье: https://km.zebra.com/kb/index.?page=content&id=SO7892.

person Zachary Puls    schedule 06.06.2016
comment
Спасибо за ответ. Мне нужен полный zpl-код, чтобы отправить его в другую систему, и эта сторонняя система отправляет его на принтер. Вот почему мне нужен весь zpl-код в виде одной строки. Я просто не знаю, как правильно преобразовать изображение в java. - person Sven; 06.06.2016
comment
Я изучил это немного подробнее, и вы можете использовать SDK Zebra Link OS для Java (zebra.com/us/en/products/software/barcode-printers/link-os/), на котором есть утилиты для преобразования изображений в * .грф. - person Zachary Puls; 06.06.2016
comment
Да, но мне также нужен код zpl, а не только файл grf. Например. в Labelary работает: ^XA^GFA,121,121,15,89504e470d0a1a0a0000000d4948445200000050000000500100000000a66acf00000000404944415478da63f80f070ca34c18f31f0342f4f9fffff3b1308f1fe6873177ef848bd6ee4730e7c3998c87e1ccfa9f08057fe14ccbbd48e69e1f8d80e1cb0400fa1d10240f242dc00000000049454e44ae426082^XZ но не в принтере, где искажается. - person Sven; 06.06.2016