13397158231   jevian_ma@worldflying.cn

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

2023-01-01 22:25:22

不说废话,直接写教程:

1.首先要下载Zadig,下载地址传送门,他是一个usb通用驱动程序,因为佳博官方驱动执行device.open会报错。

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

1.png2.png3.png

3.安装nodejs依赖,方法为npm install usb

4.最终代码如下:

const usb=require('usb')

// let devicelist = usb.getDeviceList()
// console.log(devicelist)
function PrintLabel(cmds) {
	let device = usb.findByIds(0x0471, 0x0055)
	device.open()
	for (let i = 0, len = device.interfaces.length ; i < len ; i++) {
		for (let j = 0, len2 = device.interfaces[i].endpoints.length ; j < len2 ; j++) {
			if (device.interfaces[i].endpoints[j].direction == 'out') {
				device.interfaces[i].claim() // 找到了要用的对象后,首先要声明所有权
				let outEndpoint = device.interfaces[i].endpoints[j]
				outEndpoint.transferType = 2 // bulk 批量传输
				outEndpoint.transfer(cmds, (err) => {
					if (err) {
						console.log(err)
					}
					device.close()
				})
				return
			}
		}
	}
	device.close()
}

let 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。这两个位置需要根据不同的情况进行修改。


文章作者:沃航科技

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

上一篇:国产操作系统Deepin20如何永久开启WakeOnLan

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

联系我们

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

关注公众号

扫码添加微信

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

备案号:鄂ICP备16014230号-1

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