brother的PT-9800PCN标签打印机二次开发

本来想通过esc/p指令打印标签,但是无奈能找到的资料太少,而且打电话给客服,也没有sample可以提供参考,后来客服说使用template功能的话,打印很方便。于是下载手册学习了一下,

先下载P-touch Editor软件,制作标签模板。

brother的PT-9800PCN标签打印机二次开发_第1张图片

制作的模板就是普通的标签,不需要连接数据库之类的,模板里有3个object,分别是文本1,文本2,条形码3。这个很关键,后面的代码传送数据,就是按这个顺序传送的,(我没有做过多的尝试,但是测试过一个文本3,文本4,条形码2,代码里发送的第一个数据就变成了条形码2的数据)。

通过P-touch Editor里的传输工具,把模板传送到打印机里,并指定键值。

代码里要通过指令选择哪个键值的模板。^TS005后面的键值为3为数字,005就是5号模板,打印机支持99个模板,099。

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)      
s.connect(("打印机IP",9100)) 

#选择模板指令
cmd = str(chr(27)) + "ia" + str(chr(0x33))
cmd += "^TS005"
#发送数据,用TAB分割
cmd += "LT-ABCDEFG"
cmd += str(chr(9))
cmd += "#44455567"
cmd += str(chr(9))
cmd += "LT-ABCDEFG #44455567"
#打印指令
cmd += "^FF"
#发送到socket
s.sendall(cmd)
#result = s.recv(2048)
cmd = "^TS006"
#发送数据,用TAB分割
cmd += "LT-ABCDEFG"
cmd += str(chr(9))
cmd += "#44455567"
cmd += str(chr(9))
cmd += "LT-ABCDEFG #44455567"
#打印指令
cmd += "^FF"
#发送到socket
s.sendall(cmd)
s.close()

另外:

有一个工具P-touch Template Settings.exe

是设置打印机模板打印方式的。如数据发送的不同object数据的间隔,我用的是\09,tab符。发送^FF指令开始打印。也可以选择填充满所有object之后开始打印。

brother的PT-9800PCN标签打印机二次开发_第2张图片

 

你可能感兴趣的:(物联网)