【Python_Zebra斑马打印机编程学习笔记(一)】实现标贴预览的两种方式

实现标贴预览的两种方式

    • 实现标贴预览的两种方式
    • 前言
    • 一、调用 Labelary Online ZPL Viewer API 方法实现标贴预览功能
      • 1、Labelary Online ZPL Viewer API 案例介绍
      • 2、生成 PNG 格式
      • 3、Parameters
    • 二、通过 zpl 的 label.preview() 方法实现标贴预览功能
      • 1、实现步骤
      • 2、代码示例

实现标贴预览的两种方式

前言

本文介绍如何基于 ZPL 指令实现标贴的预览,项目的 GUI 界面基于 Pyside6 实现,zpl 格式的文件可以通过 BarTender 生成,也可以自己编写;关于如何基于 ZPL 指令绘制标贴和 通过 BarTender 将 btw 文件转换为 zpl 文件后续会在专栏中总结,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。

一、调用 Labelary Online ZPL Viewer API 方法实现标贴预览功能

1、Labelary Online ZPL Viewer API 案例介绍

在这里先介绍下标贴预览的网站,Labelary Online ZPL Viewer
Labelary Online ZPL Viewer 提供了 API 接口,是一个在线的服务,可以使用 Pyhon、Java、C#、PHP 等多种语言进行调用;
项目是基于 Python 实现的,所以本文只介绍如何基于 Python 调用 API 接口。
在这里插入图片描述

在这里插入图片描述

点击 Python 后,页面跳转到 4.6. Python Example,这个提供了一个案例:使用 Requests 库发送 POST 请求,将 ZPL 格式的字符串转换为 PDF 文件:

import requests
import shutilzpl = '^xa^cfa,50^fo100,100^fdHello World^fs^xz'# adjust print density (8dpmm), label width (4 inches), label height (6 inches), and label index (0) as necessary
url = 'http://api.labelary.com/v1/printers/8dpmm/labels/4x6/0/'
files = {'file' : zpl}
headers = {'Accept' : 'application/pdf'} # omit this line to get PNG images back
response = requests.post(url, headers = headers, files = files, stream = True)if response.status_code == 200:response.raw.decode_content = Truewith open('label.pdf', 'wb') as out_file: # change file name for PNG imagesshutil.copyfileobj(response.raw, out_file)
else:print('Error: ' + response.text)

运行代码后可以生成标贴的 PDF 文档,但如果想要保存图片格式又该如何操作?

2、生成 PNG 格式

找到 1. Introduction 介绍中查看信息,可以发现,其实 requests 请求头中默认无参为 PNG格式,也可以是 python Accept: image/png,并且也提供了 IPL、EPL、DPL、JSON 等格式文件的 request header;
在这里插入图片描述

除 POST 请求外,也提供了 GET 请求,但是 Content-Type 是有所变化的。

3、Parameters

在 url 请求中,有以下的几个参数可以进行设置

  1. dpmm:打印密度,以每毫米点为单位,有 6dpmm, 8dpmm, 12dpmm, 24dpmm 四个值可以设置;
  2. width:标贴的宽度,以英寸为单位;
  3. height:标贴的高度,以英寸为单位;
  4. index:标签索引,一些 ZPL 代码会生成多个标签,这个参数可以用来访问这些不同的标签;
  5. zpl:ZPL代码;
    在这里插入图片描述

二、通过 zpl 的 label.preview() 方法实现标贴预览功能

1、实现步骤

使用 Python 的第三方库 zpl 来实现标贴的预览功能,大致分为以下几个步骤:

  1. 创建图片的路径:python imageFile = save_path_dir + "\\label.png"
  2. 通过 zpl.Label() 方法创建标贴对象 label:python label = zpl.Label(40, 40, 12)
  3. 标贴对象 label 通过 write_text() 标贴写入 zpl 格式的字符串:python label.write_text(self.zpl)
  4. 标贴对象 label 通过 preview() 方法实现标贴预览:python label.preview(outputfile=imageFile)
    运行后即可在 1. 中创建的路径下生成 png 文件。

2、代码示例

import zpl
# <editor-fold desc="创建文件"># 获取当前文件所在文件夹路径folder_path = os.getcwd()save_path_dir = f"{folder_path}\\tZpl"# 判断该路径是否存在if not os.path.exists(save_path_dir):# 如果不存在则创建os.makedirs(save_path_dir)# 图片路径imageFile = save_path_dir + "\\label.png"# 先删掉上一次预览生成的png文件,要保持是最新的if os.path.exists(imageFile):try:os.remove(imageFile)except Exception as e:print(e)# </editor-fold># 定义标贴大小label = zpl.Label(40, 40, 12)# 标贴写入zpllabel.write_text(self.zpl)try:# 标贴预览label.preview(outputfile=imageFile)except Exception as e:msg = 'Error: ' + f"{e}"print(msg)

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

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

相关文章

Python实战:读取MATLAB文件数据(.mat文件)

Python实战&#xff1a;读取MATLAB文件数据(.mat文件) &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &#x1f448; 希望得到您的订阅…

R语言【base】——abs(),sqrt():杂项数学函数

Package base version 4.2.0 Description abs(x) 计算 x 的绝对值&#xff0c;sqrt(x) 计算 x 的正平方根。 Usage abs(x) sqrt(x) Arguments 参数【x】&#xff1a;一个数值或复数向量或数组。 Details 这些都是内部泛型原语函数:可以为它们单独定义方法&#xff0c;也可以…

MATLAB R2018b安装教程

目录 一、软件下载 二、软件介绍 三、安装须知 四、安装步骤 【最后】 &#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 ✨收录专栏&#xff1a;MATLAB基础及应用&#x1f91d;希望作者的文章能…

Bert基础(一)--自注意力机制

1、简介 当下最先进的深度学习架构之一&#xff0c;Transformer被广泛应用于自然语言处理领域。它不单替代了以前流行的循环神经网络(recurrent neural network, RNN)和长短期记忆(long short-term memory, LSTM)网络&#xff0c;并且以它为基础衍生出了诸如BERT、GPT-3、T5等…

知识积累(二):损失函数正则化与权重衰减

文章目录 1. 欧氏距离与L2范数1.1 常用的相似性度量 2. 什么是正则化&#xff1f;参考资料 本文只介绍 L2 正则化。 1. 欧氏距离与L2范数 欧氏距离也就是L2范数 1.1 常用的相似性度量 1&#xff09;点积 2&#xff09;余弦相似度 3&#xff09;L1和L2 2. 什么是正则化&…

http相关概念以及apache的功能(最详细讲解!!!!)

概念 互联网&#xff1a;是网络的网络&#xff0c;是所有类型网络的母集 因特网&#xff1a;世界上最大的互联网网络 万维网&#xff1a;www &#xff08;不是网络&#xff0c;而是数据库&#xff09;是网页与网页之间的跳转关系 URL:万维网使用统一资源定位符&#xff0c;…

c#程序,oracle使用Devart驱动解决第第三方库是us7ascii,数据乱码的问题

最近做项目&#xff0c;要跟对方系统的库进行读写&#xff0c;结果发现对方采用的是oracle的us7ascii编码&#xff0c;我们系统默认采用的是ZHS16GBK&#xff0c;导致我们客户端读取和写入对方库的数据都是乱码&#xff0c;搜索网上&#xff0c;发现需要采用独立的oracle驱动去…

JVM——感谢黑马程序员官方文档

JVM——感谢黑马程序员官方文档 一、JVM介绍1.什么是JVM&#xff1f;2.有什么好处3.学习路线 二、内存结构1.程序计数器(Program Counter Registe)1.定义2.作用3.特点4.演示 2.虚拟机栈(Java Virtual Machine Stacks)1.定义2.演示3.问题解析4.栈内存溢出5.线程运行诊断&#xf…

操作系统--多线程的互斥、同步

一、概念 在进程/线程并发执行的过程中&#xff0c;进程/线程之间存在协作的关系&#xff0c;例如有互斥、同步的关系。 1.互斥 由于多线程执行操作共享变量的这段代码可能会导致竞争状态&#xff0c;因此我们将此段代码称为临界区&#xff08;critical section&#xff09;…

数据中心机房建设的真正挑战

在数字化时代&#xff0c;数据中心机房不仅是信息处理和存储的心脏&#xff0c;也是企业运营的核心枢纽。然而&#xff0c;在机房建设过程中&#xff0c;存在一系列概念上的误解和痛点。这些误区不仅影响了机房建设的质量和效率&#xff0c;也给企业的长期发展带来了潜在的风险…

了解RT-Thread

1.简介 1&#xff09;RT-Thread&#xff0c;全程是Real Time-Thread&#xff1b; 2&#xff09;嵌入式实时多线程操作系统&#xff1b; 3&#xff09;基本属性之一是支持多任务&#xff1b; 4&#xff09;某一时刻只能运行一个任务&#xff0c;每次对一个任务的执行时间很短…

[论文精读]Do Transformers Really Perform Bad for Graph Representation?

论文网址&#xff1a;[2106.05234] Do Transformers Really Perform Bad for Graph Representation? (arxiv.org) 论文代码&#xff1a;https://github.com/Microsoft/Graphormer 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼…

【什么是Mask R-CNN呢?】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;深度学习 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; Mask R-CNN Mask R-CNN&#xff08;Mask Region-based Convolutional Neural Network&#xff09;是一…

【ACM独立出版|武汉】第五届计算机信息和大数据应用国际学术会议(CIBDA 2024)

第五届计算机信息和大数据应用国际学术会议&#xff08;CIBDA 2024&#xff09; 2024 5th International Conference on Computer Information and Big Data Applications 第五届计算机信息和大数据应用国际学术会议&#xff08;CIBDA 2024&#xff09;将于2024年3月22-24日在中…

深度学习基础(三)循环神经网络(RNN)

之前的章节我们初步介绍了卷积神经网络&#xff08;CNN&#xff09;&#xff1a; 深度学习基础&#xff08;二&#xff09;卷积神经网络&#xff08;CNN&#xff09;-CSDN博客文章浏览阅读2次。卷积神经网络&#xff08;CNN&#xff09;的应用领域广泛&#xff0c;尤其在图像处…

全国各地2024上半年软考报名费用汇总

注&#xff1a;因各地考试政策时有变化&#xff0c;因此下列报名价格仅供参考&#xff0c;大家需要以当地当年通知说明为准。 山东&#xff1a;每人每科68元 北京&#xff1a;每人每科57元 广东&#xff1a;纸笔科目按每人每科63元收取&#xff0c;机考科目&#xff08;信息…

如何使用Douglas-042为威胁搜索和事件应急响应提速

关于Douglas-042 Douglas-042是一款功能强大的PowerShell脚本&#xff0c;该脚本可以提升数据分类的速度&#xff0c;并辅助广大研究人员迅速从取证数据中筛选和提取出关键数据。 该工具能够搜索和识别Windows生态系统中潜在的安全漏洞&#xff0c;Douglas-042会将注意力放在…

Redis(十五)Bitmap、Hyperloglog、GEO案例、布隆过滤器

文章目录 面试题常见统计类型聚合统计排序统计二值统计基数统计 Hyperloglog专有名词UV&#xff08;Unique Visitor&#xff09;独立访客PV&#xff08;Page View&#xff09;页面浏览量DAU&#xff08;Daily Active User&#xff09;日活跃用户量MAU&#xff08;Monthly Activ…

运营抖店为什么不能多选类目?什么类目适合新手来玩?

大家好&#xff0c;我是电商小布。 想要入驻抖音小店&#xff0c;必备的资质材料就是营业执照。 而执照上的范围&#xff0c;就是我们开店所能选择的经营类目。 有的小伙伴在开店的时候&#xff0c;并没有想明白自己是想要做什么&#xff0c;小店未来的发展方向是什么。 结…

架构师技能9-深入mybatis:Creating a new SqlSession到查询语句耗时特别长

开篇语录&#xff1a;以架构师的能力标准去分析每个问题&#xff0c;过后由表及里分析问题的本质&#xff0c;复盘总结经验&#xff0c;并把总结内容记录下来。当你解决各种各样的问题&#xff0c;也就积累了丰富的解决问题的经验&#xff0c;解决问题的能力也将自然得到极大的…