首页 > 编程语言 >用Python操控斑马打印机的技术总结

用Python操控斑马打印机的技术总结

时间:2023-07-18 15:12:03浏览次数:58  
标签:打印机 Python 打印 50 ZPL 斑马 zpl

前言

由于之前产品打印的标签为人工输入,可能存在信息错误且不适合大批量操作。所以我进行了前期的研究和总结,完成了任务,并这里做下技术总结,方便后面的人进行开发。

技术总结

斑马打印机的坑

官网:http://www.zebra.gd.cn/

现在主流的工业打印机都支持二次开发的,要么有自己的一套语言要么有一套SDK。第一个坑就是你需要和客服进行大量的沟通,不要因为我们是写代码,就不去沟通。不然后面有一堆坑等着你。
比如这是我找客服,客服给的答案:

斑马打印机支持二次开发 下面介绍常用的几种。
(方法:1)开发指令是用Zpl指令
给各位一个参考1:https://www.cnblogs.com/zh7791/p/6905130.html
参考2:https://blog.csdn.net/bfz_50/article/details/82468621
需要指令的,可以找客服要。
(方法2:)
利用CLodop打印插件,然后调用打印机驱动打印就可以。
(方法3:)
SDK开发包
https://www.zebra.cn/cn/zh/products/software/barcode-printers/zebralink/link-os-sdk.html

不能说一点没有用,那是一点用都没有啊!

第一,我没有空去学习zpl语言,第二他说的用BarTender我找不到那个版本,且存在盗版不安全的角度。最后一个sdk就更是无稽之谈(没有页面)。

image.png

我这里还是吐槽下,斑马作为打印机里面的大厂了,网站做的是依托XX。此外还是吐槽下:你买的一般都是经销商代理,有些问题是他们解决不了,他们也能去找官方。

官方售后电话:400-645-6456

ps:这个电话也是难受,等待时间很长,第一次和我对话了是个外国人,我一时间听不懂他在说什么。好在客服质量还行,前期很多问题,都给出了解决方案。

好了,再抱怨,我估计哥几个都要跑了。我这里说一下我踩出来一条路。

ZPL语言

ZPL(Zebra Programming Language)是专门为Zebra打印机设计的一种打印机控制语言。它是一种高级编程语言,允许用户定义标签和条码的布局、格式和内容,以及控制打印机的各种功能,例如字体、打印速度、打印方向等。

ZPL语言具有类似于C语言的语法结构,使用标签和命令来描述打印机的行为和输出。例如,下面是一个简单的ZPL代码示例:

Copy

^XA
^FO50,50^A0N,50,50^FDHello, World!^FS
^XZ

这段代码使用ZPL命令来定义一个打印标签,包含一个文本字符串“Hello, World!”,并指定使用50点字体大小和50点行距。该标签还指定了打印位置和打印方向。

ZPL语言支持多种数据类型和操作符,例如字节数组、字符串、整数和浮点数等。它还提供了丰富的命令和选项,可以用于控制打印机的各种功能和属性。

总之,ZPL语言是一种专门为Zebra打印机设计的打印机控制语言,可以用于定义标签和条码的布局、格式和内容,以及控制打印机的各种功能。它具有类似于C语言的语法结构和丰富的命令和选项,是一个功能强大的打印机编程语言。

zpl的语法你们可以去官网看:https://zebra-my.sharepoint.com/:b:/p/zt6953/EQQjAweCGJFFvVoUcTuQv1kBDKBh75oi30PVJlEYjUdIHw?e=Qbeg1L

我没时间去看,这里可选择斑马自己的官方软件(ZEBRADESIGNER 3)进行标签的生成然后转换成zpl语言。

ZEBRADESIGNER 3

https://www.zebra.com/cn/zh/support-downloads/printer-software/zebra-designer-3-downloads.html
下载安装好了,页面如下

image.png

这边你就可以新建啥的操作了

image.png

image.png

image.png

image.png
这里需要注意:纸张啥的根据你的实际需要。

image.png

比如我这里就生成一个二维码和一段中文

image.png
这你需要把选择qr类型不然就是条形码了,在源里面输入你的信息。拖拽到你需要的大小。
这里需要切记,文字需要选择SimSun-ExtB格式,不然显示不了中文。斑马打印机自身不带中文字库(这就是国际大厂?),选择这个字库,它会把文字自动变成图片发送给打印机打印机。

image.png

当你设计好后:

image.png
点击旁边文件,然后选择存储:

image.png

先将XML变成zpl

image.png
然后按照我这样设置

image.png
完事点击生成文件就可以了
我们用记事本点开生成的文件:

image.png

我们这里挑选重点:
XA到XZ 为我们需要的zpl代码

此外这里可以通过简单的操作把这个数字改了就可以生成我们需要的二维码。
image.png

用python进行操控

我们拿到zpl语言,那就是python处理字符串的小把戏了

import serial

# 打开串口
ser = serial.Serial('COM1', 9600, timeout=1) # 是打印机可以用串口、网卡等连接开发。我选择用串口了

# 设置ZPL指令
zpl_command = '''
(把刚才生成zpl放进去就行了)
'''

# 将ZPL指令转换为字节数组
zpl_bytes = zpl_command.encode('utf-8')

# 发送ZPL指令到打印机
ser.write(zpl_bytes)

# 关闭串口
ser.close()

后记

这里就简单介绍了怎么二次开发斑马打印机了。你要是乐意也可以和我一样用vue3+django开发一个系统(自动按照规律生成码,存储,查询,删除,修改),方便其他人员使用。

image.png
什么你还不会,可以看我之前的文章有说怎么构建一个vue+django项目哦。

其实开发这个系统我也就用2天,但是前期研究和了解打印和简单维修,呜呜呜研究了好久。

标签:打印机,Python,打印,50,ZPL,斑马,zpl
From: https://www.cnblogs.com/lightwower/p/17563062.html

相关文章

  • Python中对列表list去重
    保留原顺序。old_list=[2,3,4,5,1,2,3]new_list=[]foriinold_list:ifinotinnew_list:new_list.append(i)print(new_list)#[2,3,4,5,1]用字典dict去重使用list项作为键创建dict,这将自动删除任何重复项,因为dict不能有重复的键,保留原......
  • 【python】查询当前日期的所在月的天数
    查询当前日期的所在月的天数#coding:utf-8importdatetimeimportcalendarfromloguruimportloggeraslogsclassca:@staticmethoddefdays_of_the_month():"""查询当前日期的所在月的天数"""#cur_date=datetime.datetime.s......
  • python脚本调试
    Python脚本调试指南简介Python脚本调试是开发过程中非常重要的一部分,它可以帮助我们定位和解决代码中的问题。本文将介绍Python脚本调试的整个流程,并提供详细的代码示例和注释。调试流程下面是Python脚本调试的整个流程,可以用表格展示步骤。步骤描述1在需要调试的脚......
  • python脚本,把整个文件夹移动至指定位置并对文件夹重新命名
    Python脚本-移动和重命名文件夹概述在本文中,我将介绍如何使用Python编写一个脚本,将整个文件夹移动到指定位置并对文件夹进行重新命名。这个脚本适用于那些刚入行的开发者,帮助他们理解如何使用Python处理文件和文件夹。步骤下面是完成这个任务的步骤列表:步骤代码说明......
  • python将字符转化为日期
    Python将字符转化为日期作为一名经验丰富的开发者,我将向你介绍如何在Python中将字符转化为日期。在这篇文章中,我将提供一个简单的流程图来展示整个过程,并提供每一步所需要的代码和代码注释。流程图以下是将字符转化为日期的整个流程图。步骤描述1.获取字符日期字符串......
  • python将字符放入列表
    Python将字符放入列表的实现方法作为一名经验丰富的开发者,我将向你解释如何将字符放入Python列表中。首先,我们需要明确整个过程的步骤。下面是一个展示步骤的表格:步骤描述1创建一个空的列表2输入字符3将字符添加到列表中下面,我将逐步指导你完成每个步骤,并......
  • python将字符串里面的空格替换为换行
    Python将字符串里面的空格替换为换行在Python编程中,字符串是一种常见的数据类型,它由一系列字符组成。有时候我们需要对字符串进行一些操作,比如替换字符串中的特定字符或者将字符串拆分成多行。本文将向您展示如何使用Python将字符串中的空格替换为换行符。字符串和空格在Python......
  • python将图片变4K
    Python将图片变4K![](在现代社会中,高清图像已经成为我们生活中不可或缺的一部分。随着4K显示技术的普及,越来越多的人希望能够将自己的图片转换成4K分辨率,以获得更加清晰和细腻的图像效果。本文将介绍如何使用Python编程语言将图片转换成4K分辨率,并提供相应的代码示例。什么是4K......
  • python将给定文件存入目录下
    Python将给定文件存入目录下作为一名经验丰富的开发者,我将教给你如何将给定文件存入目录下的步骤和相关代码。整体流程首先,我们来看一下整件事情的流程,以便清晰地了解每一步需要做什么。步骤描述步骤1输入文件的路径和名称步骤2检查目录是否存在,若不存在则创建......
  • python将jpg文件旋转为正向怎么弄
    项目方案:Python将JPG文件旋转为正向简介在日常生活和工作中,我们经常遇到需要将图片进行旋转的情况。本项目旨在使用Python编程语言,通过调用现有的图像处理库,将JPG文件旋转为正向。方案步骤1:安装必要的库在开始之前,我们需要安装并导入以下两个Python库:!pipinstallPillowfro......