Bartender模板文件转换成ZPL打印指令程序

条码系统 admin 2023-12-23 21:08 496 0

通常我们开发BARTENDER软件,是把bartender文件作为打印模板来使用。通过我们的程序处理数据和业务流程。比如称重打印贴标,然后生产相关报表等。

一般情况下,使用都是没有问题的。但是有时对于实时性要求比较高的项目,打印速度往往达不到理想状态。大家知道随着BARTENDER的版本越高,响应速度越慢。用串口接收电子秤仪表数据,然后用程序处理打印。一般速度为每分钟30-50张左右。当然速度也和标签的大小内容多少有关系。这里不作详细讨论。这时往往需要用斑马ZPL打印指令来提高打印速度。

最近遇到的项目就是这种情况。国外同行的速度能达到70-80张每分钟。我们的速度是40-50张。很显然,就失去了竞争优势。把项目改成用MODBUS协议,读取电子秤仪表数据,然后通过ZPL指令打印标签。这样速度就能达到80张每分钟。这个速度基本也就够用了。再快的话,速度瓶颈就在贴标处理了。

但是这种形式,对于终端用户来说,有个相当不方便的地方。就是做一个标签模板的ZPL指令比较麻烦,即使通过一些软件手工转换,也是不便。毕竟使用人员不熟悉这些编程的业务。

基于这种实际情况,抽空写了个bartender转zpl的程序,自动处理BT模板,一键转成ZPL指令。其实这个需求,在几年前就有个客户需要。当时觉得手头忙,类似需求小众,客户预算也低,所以就没有做。

image.png

一些简单的注意事项,我已经写在程序界面和配置文件里。当然,这个程序也只是我实际项目里用到而开发,并不是一个通用的处理程序。实际上,也很难做成通用的程序。因为一些图片,中文,表格等固定内容,我都是转成图片,存储到打印机内存里。如果直接在打印指令使用,打印速度也有很大影响。现在打印标签时,我只发送6个字段的打印指令,处理速度极快。对于贴标打印,6个变量已经够用。这6个变量现在也是只能支持英文。因为用中文的话,又要处理成图片影响速度。除非使用斑马打印机自带的字体,好像只能是宋体,通用性差。

image.png

处理程序会从BARTENDER模板里读取到客户需要处理的6个共享名称字段,读取字段的位置,角度方向,以及是文本类型还是条码类型。根据打印机的分辨率,把这些数据写到中间ZPL文件里。这里有个小问题,就是BARTENDER SDK不支持判断条码类型是具体哪个码制,我统一处理成QR二维码。到时根据实际需求改下文本也方便。

打印的时候,程序会发送ZPL指令给打印机,调取存在打印机里的模板,加上中间ZPL指令,打印实际标签。最后我想说的是,预制菜行业已经启动了。

BTW转ZPL程序下载:

BT2ZPL.rar


评论区