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

目录

一. 斑马介绍

二. 打印原理讲解

需要掌握以下知识点

1. 通过网络打印

网络打印 - 源码

2. 通过串口打印

串口打印 - 源码

串口打印 - 标签模板

三. 更多资料 


一. 斑马介绍

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

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 

猜你喜欢

转载自blog.csdn.net/lildkdkdkjf/article/details/125349827
今日推荐