【Python_Zebra斑马打印机编程学习笔记(四)】ZPL的一些简单指令

ZPL的一些简单指令

    • ZPL的一些简单指令
    • 前言
    • 一、ZPL 介绍
    • 二、ZPL 语法解析
      • 1、标签开始、标签结束
      • 2、标签原点位置设置
      • 3、标签长度设置
      • 4、标签文本打印深度设置
      • 5、标签打印宽度设置
      • 6、标签方向设置
      • 7、标签元素定位
      • 8、标签绘制矩形
      • 9、标签输入字段
      • 10、标签设置字段字体、大小
      • 11、标签字段设置编码
      • 12、标签字段设置字体标识符
      • 13、标签绘制条形码
      • 14、标签绘制二维码

ZPL的一些简单指令

前言

本文介绍 ZPL 的一些简单指令,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。

一、ZPL 介绍

ZPL (Zebra Programming Language) 是斑马 (Zebra) 条码打印机工业型号用的编程语言,兼容市面上的大部分条码打印机,可用于绘制文本、形状、条形码和图像等元素,编辑好指令,发送给条码打印机,条码打印机就会把 ZPL 所绘制的标签打印出来。

二、ZPL 语法解析

1、标签开始、标签结束

标签开始: ^XA
标签结束: ^XZ

在一张标签中,ZPL 代码总是以 ^XA 开始,以 ^XZ 结尾,形式大概就是 ^XA+标签内容+^XZ
ZPL 允许在一段代码中绘制多张标签,一堆代码中有几段 ^XA+标签内容+^XZ,就有几张标签;

2、标签原点位置设置

标签原点位置设置: ^LH x, y ,参数为横纵坐标,起始位置为左上角(0,0)位置;

3、标签长度设置

标签长度设置: ^LL length ,参数为需要设置的标签长度;

4、标签文本打印深度设置

标签文本打印深度设置:^MD darknessModifier,参数为标签打印的颜色深度,值越大,颜色越深。范围:0~30;实际使用中根据字体不同,这个指令可能不会生效;

5、标签打印宽度设置

标签打印宽度设置:^PW width,参数为标签打印的宽度;

6、标签方向设置

标签方向设置:^PO orientation,默认参数为N,可选 N 或者 I ,N 默认其实位置为左上角,I 的起始位置为右下角;

7、标签元素定位

标签元素定位:^FO x, y, alignment,参数代表这个元素左上角在标签里的坐标;^FO可以理解为标识这是一个元素(线条、文本、图片等);

8、标签绘制矩形

标签绘制矩形:^GB width, height, thickness, color, rounding,参数为矩形的长和高、矩形边的宽度,线条的颜色(B或W,默认为黑色B),圆角;
示例代码:

^XA
^FO50,80^GB70,100,6,B,5^FS
^XZ

标签预览:
在这里插入图片描述

9、标签输入字段

字段开始:^FD data
字段结束:^FS,也称之为字段分隔符
要输入一段字段,基本格式:^FD标贴Label^FS,如果不通过 ^FO 定位元素为值,字段的起点会在标签的左上角位置出现;

10、标签设置字段字体、大小

标签设置字段字体、大小:^A font, height, width,参数为字段字体、字段高度、字段宽度;
在这里插入图片描述
上图为 ZPL 默认的字体;

11、标签字段设置编码

标签字段设置编码:^CI charset, src1, dest1, src2, dest2, ...,参数为字符集编码,打印中文一般使用 28
示例代码:

^XA
^CI28
^CFJ,30,30
^FO50,50^FD标贴Label^FS
^XZ

标签预览:
在这里插入图片描述

12、标签字段设置字体标识符

标签字段设置字体标识符:^CW fontName, pathfontName 为自定义的字体标识符名称,可以在后续使用;path 为字体文件路径;

关于 ZPL 指令无法显示中文可以参考此篇文章:【Python_Zebra斑马打印机编程学习笔记(三)】解决ZPL指令无法显示中文的问题

13、标签绘制条形码

标签绘制条形码:^BC orientation, height, line, lineAbove, checkDigit, mode

参数说明
orientation方向,可选值为NRIB :N = 从左往右,R = 从下往上,I = 从右往左,B = 从上往下
height条形码高度,单位为点
line是否打印条形码内容,可选值Y/N,默认是Y
lineAbove条形码内容打印位置,可选值为Y/N,默认是N
checkDigit校验数位,可选值为Y/N,默认是N
mode模式,可选值为N/U/A/D

代码示例:

^XA
^FO50,190^BC,80^FD123456^FS
^XZ

标签预览:
在这里插入图片描述

14、标签绘制二维码

标签绘制二维码:^BQ orientation, model, magnification, errorCorrection, mask

二维码格式参数说明
orientation方向,可选值为N/R/I/B
model可选值为1和2,和QR码的标准有关,2会比1更好识别一点,默认是2
magnification放大系数,可选1-10,数字越大二维码就越大

二维码信息输入采用 ^FD 指令

二维码信息参数说明
errorCorrection纠错能力,ECC标准中规定了4档二维码纠错能力,分别为L(7%), M(15%), Q(25%) 和H(30%),纠错百分比越高,纠错能力越强
mask掩码,支持参数A或M,对应自动(默认)或者手动。如果选择M,则还需要再额外加一位控制输入,告诉系统需要编码的是什么东西,通常用于需要中文输入的情况

代码示例:

^XA
^FO50,300^BQN,2,3^FDLA,{"date": "2024.2.26"}^FS
^XZ

标签预览:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/710015.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go 互斥锁的实现原理?

Go sync包提供了两种锁类型:互斥锁sync.Mutex 和 读写互斥锁sync.RWMutex,都属于悲观锁。 概念 Mutex是互斥锁,当一个 goroutine 获得了锁后,其他 goroutine 不能获取锁(只能存在一个写者或读者,不能同时…

STM32 IIC协议基础概念

文章目录 前言一、IIC协议介绍二、IIC硬件框图和程序层次三、IIC协议1.IIC协议通信流程2.IIC的引脚为什么需要加入上拉电阻3.IIC的引脚为什么需要配置为开漏输出 四、STM32 IIC硬件结构总结 前言 本篇文章将带大家学习IIC通信协议的一些基础概念和使用。 一、IIC协议介绍 I2…

jsjiami.v7关于js加密运行环境的探索

浏览器环境、Node.js 环境和 vm2 环境之间存在一些区别,包括全局对象、核心模块和一些环境特定的 API。下面是一些区别的简要概述,以及一些代码示例来突显它们之间的不同。 1. 浏览器环境: 全局对象: 浏览器环境: 全…

数据结构·栈和队列

1. 栈 1.1 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一段称为栈顶,另一端称为栈底。 栈中的数据元素遵守 后进先出 LIFO(Last In First Out)的原则,后进来的数…

YOLOv8 DeepSORT实现智能交通监控-改进yolo单目测距及速度测量-流量计数

YOLOv8 DeepSORT是一种基于目标检测和跟踪技术的智能交通监控系统。它基于YOLOv8,通过加入DeepSORT算法实现目标跟踪,同时还改进了YOLOv8的单目测距及速度测量技术和流量计数功能。 该系统可以通过摄像头或视频源实时捕获图像,并自动检测和跟…

web安全学习笔记【20】——信息打点(10)

信息打点-公众号服务&Github监控&供应链&网盘泄漏&证书图标邮箱资产 #知识点: 1、业务资产-应用类型分类 2、Web单域名获取-接口查询 3、Web子域名获取-解析枚举 4、Web架构资产-平台指纹识别 ------------------------------------ 1、开源-CMS指纹…

【刷题】 Leetcode 1022.从根到叶的二进制数之和

刷题 1022.从根到叶的二进制数之和题目描述:思路一(dfs深搜万能版)思路二 (栈迭代巧解版)总结 Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见&#xff…

SpringBoot 自定义注解实现操作日志记录

文章目录 前言正文一、项目结构介绍二、核心类2.1 核心注解2.1.1 CLog 日志注解2.1.2 ProcessorBean 处理器bean 2.2 切面类2.3 自定义线程池2.4 工具类2.4.1 管理者工具类 2.5 测试2.5.1 订单创建处理器2.5.2 订单管理者2.5.3 订单控制器2.5.4 测试报文2.5.5 测试结果 附录1、…

【Java题】调整奇数位于偶数之前(超简单版)

题目: 调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。 如数组:[1,2,3,4,5,6,7,8,9] 调整后可能是:[1, 9,3,7,5, 6, 4, 8, 2] 代码: import java.util.Arrays;public class Main {public static voi…

将python程序打包为exe格式

1. 安装pyinstaller winr打开命令窗口 输入: pip install pyinstaller输入命令后会自动安装pyinstaller 2. 打包 进入你的代码所在位置,输入cmd 在弹出的窗口中输入 pyinstaller --onefile your_script.pyyour_script.py修改为你需要打包的程序名字 …

ElasticSearch架构介绍及原理解析

ElasticSearch架构介绍及原理解析文章目录 一、Elasticsearch是什么?1.简介2.历史与发展3.有关概念1.cluster2.shards3.replicas4.recovery5.river6.gateway7.discovery.zen8.Transport 4.安装 二、ElasticSearch架构介绍及原理解析1.基本架构1.1 进程节点1.2 负载均…

简述操作系统内存管理

这篇可是真枯涩啊,哈哈,老早在学操作系统的时候整理的文章,没加润色,单纯从个人网站迁移过来。 操作系统内存管理的目的是将线性物理地址用抽象的逻辑地址空间,从而保护物理地址。此外,可以独立地址空间&am…

07-Linux部署Nginx

Linux部署Nginx 简介 NGINX是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它的特点包括占用内存少、并发能力强,因此在处理高负载和高并发的场景时表现优秀。NGINX由俄罗斯的程序设计师Igor Sysoev开发,最初是为俄…

Windows Docker 部署 SQL Server

部署 SQL Server 打开 Docker Desktop,切换到 Linux 内核。然后在 PowerShell 执行下面命令,即可启动一个 SQL Server 服务,这里安装的是 2022 年版本 docker run -e "ACCEPT_EULAY" -e "MSSQL_SA_PASSWORDSQL123abcABC!&qu…

Spring 事务传播机制

事务传播机制:多个事务⽅法存在调⽤关系时, 事务是如何在这些⽅法间进⾏传播的。 ⽐如:有两个⽅法A,B都被 Transactional 修饰,,A⽅法调⽤B⽅法 A⽅法运⾏时, 会开启⼀个事务。当A调⽤B时, B⽅法本⾝也有事务&#xf…

59.仿简道云公式函数实战-文本函数-RMBCAP

1. RMBCAP函数 RMBCAP 函数可以将金额小写转换为人民币大写金额形式。 2. 函数用法 RMBCAP(数字) 3. 函数示例 如,在财务结算、报销管理、对公付款等场景中,可以利用 RMBCAP 函数将金额转换为大写,避免被篡改产生的负面影响 4. 代码实战…

Socket网络编程(一)——网络通信入门基本概念

目录 网络通信基本概念什么是网络?网络通信的基本架构什么是网络编程?7层网络模型-OSI模型什么是Socket?Socket的作用和组成Socket传输原理Socket与TCP、UDP的关系CS模型(Client-Server Application)报文段牛刀小试(TCP消息发送与接收&#…

江科大stm32学习笔记——【5-2】对射式红外传感器计次旋转编码计次

一.对射式红外传感器计次 1.原理 2.硬件连接 3.程序 CountSensor.c: #include "stm32f10x.h" // Device header #include "Delay.h"uint16_t CountSensor_Count;void CountSensor_Init(void) {//配置RCC时钟:RCC_APB2Perip…

前端架构: 脚手架之包管理工具的案例对比及workspaces特性的使用与发布过程

npm的workspaces 特性 1 )使用或不使用包管理工具的对比 vue-cli 这个脚手架使用 Lerna 管理,它的项目显得非常清晰在 vue-cli 中包含很多 package 点开进去,每一个包都有package.json它里面有很多项目,再没有 Lerna 之前去维护和…

SpringCloudNacos注册中心服务分级存储模型

文章目录 服务分级存储模型概述配置集群同集群优先的负载均衡 权重配置总结 之前对 Nacos注册中心入门 已经做了演示. 这篇文章对 Nacos 的服务分级存储模型做理论与实践. 服务分级存储模型概述 一个服务可以有多个实例,例如我们的 user-server,可以有:…