不说废话,直接写教程:
1.首先与nodejs版本一样,要下载Zadig,下载地址传送门,他是一个usb通用驱动程序,因为佳博官方驱动执行dev.get_active_configuration()会报错。
2.接上打印机并开机,然后按照下图做,以达到驱动能被open的目的。
3.安装依赖,pip install pyusb
4.这里比nodejs版本多一些,还需要安装libusb库,下载地址为:传送门。然后以win10为例
(1)复制MS32\dll\libusb-1.0.dll到C:\Windows\SysWOW64
(2)复制MS64\dll\libusb-1.0.dll到C:\Windows\System32
5.最终代码如下:
#!/usr/bin/python # -* - coding: UTF-8 -* - import usb.core import usb.util def PrintLabel(cmds): dev=usb.core.find(idVendor=0x0471, idProduct=0x0055) cfg=dev.get_active_configuration() for intf in cfg: for ep in intf: if(usb.util.endpoint_direction(ep.bEndpointAddress)==usb.util.ENDPOINT_OUT): ep.write(cmds) dev.reset() return dev.reset() commands = 'SIZE 40 mm,30 mm\r\n' \ 'GAP 2 mm,0 mm\r\n' \ 'CLS\r\n' \ 'TEXT 10,10,"4",0,1,1,"MackerNoon"\r\n' \ 'BARCODE 10,60,"128",30,1,0,2,2,"altospos.com"\r\n' \ 'PRINT 1\r\n' \ 'END' PrintLabel(commands)
只需要调用本函数即可,注意vid与did不同打印机不同,commands的第一句与第二句代表着纸张是40*30的,两张纸间隔2mm。这两个位置需要根据不同的情况进行修改。
至于tspl每个字段的意义,可以自行百度,很简单的。
文章作者:沃航科技