Печать Zebra с CUPS без печати ZPL или EPL

У меня есть Zebra GK420d для подключения к OS X через CUPS. Однако, когда я отправляю файлы, написанные в ZPL или EPL, они печатаются только в виде обычного текста.

Мне нужно изменить режим на принтере?

Ответ 1

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

Вместо этого вы можете отправлять необработанные файлы в любую очередь, используя переключатель -o raw:

lpr -P CupsPrinterName -o raw path/to/label.zpl

Имя принтера можно найти по этой ссылке в CUPS:

http://localhost:631/printers/

Это также работает на других платформах, которые используют CUPS, например Linux.

Ответ 2

Вы можете создать необработанную очередь CUPS с помощью lpadmin. В этой командной строке я использовал:

lpadmin -p Zebra -E -v usb://Zebra%20Technologies/ZTC%20LP%202824%20Plus?serial=XXXXXX -m raw

Вы также можете настроить необработанную очередь с помощью веб-администратора CUPS на

http://127.0.0.1:631/

Ответ 3

Это немного более полный ответ, поскольку я, кажется, возвращаюсь к этому вопросу каждые пару лет. Для печати с помощью Zebra или других принтеров штрих-кода в Linux из командной строки выполните следующие действия:

Перечислите все цели принтера и найдите принтер, который вы хотите использовать:

$ lpinfo -v
network https 
serial serial:/dev/ttyS0?baud=115200 
serial serial:/dev/ttyS1?baud=115200 
network lpd 
direct hp 
direct usb://GODEX/G500?serial=162203C6 
network smb
...

Добавить новую очередь:

$ lpadmin -p godex -E -v usb://GODEX/G500?serial=162203C6 -m raw -o usb-unidir-default=true

Если ваша печать медленная (требуется много времени для запуска), убедитесь, что вы добавили -o usb-unidir-default = true.

Проверить доступные очереди:

$ lpstat -v
device for godex: usb://GODEX/G500?serial=162203C6

Создать метку (текстовый файл):

Создайте файл в соответствии с требованиями вашего принтера в EPL (Zebra), ZPL (Zebra), EZPL (Godex).

Предупреждение. Некоторые версии CUPS могут иметь проблемы с необработанными файлами, если они имеют длину не более 512 байт. Более длинные файлы будут печататься, а более короткие будут печататься один раз, а затем останавливаться на пару минут (похоже, что есть тайм-аут в). Обходной путь заключается в том, чтобы добавить комментарии, чтобы расширить его на 512 байт.

Пример файла Zebra (test.epl):

N
A20,20,0,2,1,1,N,"text"
B20,40,0,1,1,1,30,N,"aaaa-bbbb-cccc" 
P1

Пример файла Godex (test.ezpl):

;set portrait orientation
^XSET,ROTATION,0
;set height 20mm
^Q20,1
;set width 64mm
^W64
;start label
^L
;AA=print out text with smallest font, x=20dots, y=20dots, magnificationx=0,         magnificationy=0, gap=1dot, rotationInverse=0 (no)
AA,20,20,0,0,1,0,Some sample text
;BQ=code128, x=20dots,y=40dots,narrow_bar_width=1,wide_bar_width:2,height=30dots,rotation=0deg,readable=0(no)
BQ,20,40,1,2,30,0,0,1234-1243-43214-432141
;end label
E

Нажмите на принтер:

$ lpr -P godex test.ezpl

Ответ 4

Я парень ПК, поэтому я не очень хорошо знаю CUPS, но я использовал zpl и epl на ПК и обнаружил, что им действительно нравится получать необработанные файлы для печати. Я всегда делаю: filecopy "c:\zplfile.txt" "\ имя_компьютера\printershare". Я тоже использовал wordpad, если просто хочу сделать какой-то текст. Но для ярлыков и штрих-кодов я бы посмотрел, есть ли способ отправить необработанный zpl или epl на порт принтера. Надеюсь, это поможет.

Ответ 5

Спасибо. Я посмотрел на него еще немного. Похоже, что при использовании чашек вы не можете отправлять необработанные команды ZPL на принтер. Как и я, я создавал принтер в чашках в качестве сокета и запускал прослушиватель netcat на 9100, а затем выдавал какую-то команду на принтер

nc -l localhost 9100

zpl_mine="^XA ~SD10 ^PW 850 ^MM T ^MN W ^JUS ^XZ,";echo $zpl_mine | nc localhost 9100 -w 1

и это не передает информацию на принтер, но я видел на некоторых форумах, что вам нужно использовать какую-либо форму языка, например C, для анализа информации

Ответ 6

Вам нужно будет избежать фильтрации. Печать с использованием RAW-фильтра, настроенного в интерфейсе CUPS, или по умолчанию в вашем операторе lpadmin. Вы не указали, как подключен принтер, но если IP, ваше место назначения будет наиболее вероятно socket://ip.addr.ess:9100.