13397158231   jevian_ma@worldflying.cn

python通过usb库调用tspl协议控制标签打印机(以佳博打印机为例)

2023-01-01 22:58:29

不说废话,直接写教程:

1.首先与nodejs版本一样,要下载Zadig,下载地址传送门,他是一个usb通用驱动程序,因为佳博官方驱动执行dev.get_active_configuration()会报错。

2.接上打印机并开机,然后按照下图做,以达到驱动能被open的目的。

1.png2.png3.png

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每个字段的意义,可以自行百度,很简单的。


文章作者:沃航科技

优秀产品推荐:可编程网络IO控制器

上一篇:nodejs通过usb库调用tspl协议控制标签打印机(以佳博打印机为例)

下一篇:putty windows下导出会话列表的方法

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务