目录
一. 斑马介绍
Zebra API Documentation | Developer Portal
斑马打印机 常用于 产品标识、资产管理、文件追踪、物料管理、进出货物管理 及 库存盘点等 条码标签打印。
二. 打印原理讲解
需要掌握以下知识点
- 掌握 ZPL(II)语法知识
- 会制作ZPL标签模板,如文本,图形,条形码,二维码等。
- 会设置打印机基础参数。
- 会读取打印机配置及状态信息。
1. 通过网络打印
- 打印机安装了网卡,具备IP地址。
网络打印 - 源码
import imp
import socket
import time
from log import *
from config import *
g_config_printer = read_config("config/printer.json")
def sendto_printer(amount, id_number):
mysocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
label = (b"""
^XA
^FO15,40^BY3
^BAN,300,Y,N,N
^FO75,30
^FD%s^SFddddddddddddD,1,F^FS
^FO111,341
^GB50,50,50,W,0^FS
^FO444,341
^GB50,50,50,W,0^FS
^PQ%s
^XZ
""" % (bytes(id_number, encoding='utf-8'), bytes(amount, encoding='utf-8')))
logger.info(label)
try:
# connecting to host
mysocket.connect((g_config_printer["ip"], g_config_printer["port"]))
mysocket.send(label) # using bytes
mysocket.close() # closing connection
except Exception as e:
logger.error( e)
if __name__ == "__main__":
sendto_printer(amount, str(time.time()))
2. 通过串口打印
串口打印 - 源码
import serial
#指定串口
serialPort="COM3"
#指定波特率
baudRate=9600
# 打开串口
ser=serial.Serial(serialPort, baudRate, timeout=3)
CMD = open('.//SerialPrinter.txt')
data = CMD.readline()
#收发数据
while data:
ser.write(data)
print(data)
data = CMD.readline()
ser.close()
串口打印 - 标签模板
^XA
^SEE:GB18030.DAT^FS
^CWZ,E:KAITI.FNT
^JMA^LL200^PW680^MD10^RP2^PON^LRN^LH0,0
^FO20,100
^AZN,72,72
^FD测试标签Qq123^FS
^XZ
三. 更多资料
【工厂扫码打印&扫码装箱&错误追溯系统】完整案例详解(Python&PyQt 源码&Mysql数据库)_YYDataV数据可视化的博客-CSDN博客_pyqt案例
本次分享结束,欢迎交流。微信 6550523