0
点赞
收藏
分享

微信扫一扫

(8) PyQt 设计并实现【工厂扫码装箱系统】- Python实现 ZEBRA 斑马条码打印机 自动化打印标签


目录

​​一. 斑马介绍​​

​​二. 打印原理讲解​​

​​需要掌握以下知识点​​

​​1. 通过网络打印​​

​​网络打印 - 源码​​

​​2. 通过串口打印​​

​​串口打印 - 源码​​

​​串口打印 - 标签模板​​

​​三. 更多资料 ​​

一. 斑马介绍

Zebra 产品 | 打印机、条码扫描器等 

Zebra API Documentation | Developer Portal

斑马打印机 常用于 产品标识、资产管理、文件追踪、物料管理、进出货物管理 及 库存盘点等 条码标签打印。

(8) PyQt 设计并实现【工厂扫码装箱系统】- Python实现 ZEBRA 斑马条码打印机 自动化打印标签_标签打印

二. 打印原理讲解

需要掌握以下知识点

  • 掌握 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

(8) PyQt 设计并实现【工厂扫码装箱系统】- Python实现 ZEBRA 斑马条码打印机 自动化打印标签_斑马打印机_02


举报

相关推荐

0 条评论