使用CUPS的Zebra打印无打印ZPL或EPL

时间:2012-07-16 09:53:28

标签: printing zebra-printers zpl epl

我有一个Zebra GK420d通过CUPS连接到OS X.但是,当我发送用ZPL或EPL编写的文件时,它们只能以纯文本形式打印。

我是否需要在打印机上更改模式?

6 个答案:

答案 0 :(得分:29)

与其他人所说的相反,您无需专门添加原始队列。

相反,您可以使用-o raw开关将原始文件提交到任何队列:

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

可以在CUPS中的该链接找到打印机名称:

http://localhost:631/printers/

这也适用于使用CUPS的其他平台,如Linux。

答案 1 :(得分:6)

您可以使用lpadmin创建原始CUPS队列。这是我使用的命令行:

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

您还可以使用CUPS网络管理员

设置原始队列
http://127.0.0.1:631/

答案 2 :(得分:2)

这是一个更全面的答案,因为我似乎每隔几年就会回到这个问题。要从Linux命令行使用Zebra或其他条形码打印机进行打印,请执行以下步骤:

列出所有打印机目标并找到您要使用的打印机:

$ 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)中的打印机要求创建文件。

警告,如果原始文件长度不超过512字节,某些CUPS版本可能会出现问题 - 打印的文件较长,而较短的文件会打印一次,然后停止几分钟(看起来有一个超时内置)在)。解决方法是添加注释以将其扩展超过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

答案 3 :(得分:0)

我是PC人,所以我不太了解CUPS,但我在PC上使用过zpl和epl,发现他们真的很想得到原始打印文件。我总是这样做: filecopy“c:\ zplfile.txt”“\ computername \ printershare”type命令。 如果我只是想做一些文字,我也使用过wordpad。但对于标签和条形码,我会看到是否有办法将原始zpl或epl发送到打印机端口。希望这会有所帮助。

答案 4 :(得分:0)

您需要避免任何过滤。使用CUPS界面中配置的RAW过滤器进行打印,或者默认使用lpadmin语句进行打印。您没有说明打印机的连接方式,但如果是IP,您的目的地最有可能是socket://ip.addr.ess:9100

答案 5 :(得分:-1)

感谢。我已经看了一些。似乎在使用杯子时,您无法将原始ZPL命令发送到打印机。就像我所做的那样是在杯子中创建打印机作为套接字并在9100上启动netcat监听器然后向打印机发出某种命令

nc -l localhost 9100

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

并且这不会将信息发送到打印机,但我在一些论坛上看到你必须使用某种形式的语言来解析信息