目前的技术栈是前端 element plus ,Vue3+TS ,后端 SpringBoot ,数据库 mysql
需要做一个标签打印功能(仓库使用):
1.支持设计标签模板(跟快递面单类似,有发货人,收货人,地区、箱数、商品信息、二维码等,模板样式自己设计,可能不同客户模板不同)
2.在系统中查询数据后,通过调用对应标签模板将指定数据进行批量打印,一条数据填充模板生成一个标签
现有问题:
以前开发系统时的打印功能都是调用浏览器直接选择打印机进行打印,没接触过标签打印的需求,比如标签尺寸 15mm*10mm, 不知道连接标签打印机进行打印是否需要其他操作,网上搜索了了一下,有的文章说标签打印机需要自己把标签数据转换为打印指令,传输给打印机?希望有相关经验的大佬不吝赐教
在你开发自己 demo 前我可以给你推荐一些调试工具去测试这些指令是否健全。
还有一些国产的做的很精美标签机,非常非常小,打印头为半寸的,这种大多都有自己的 app ,这种一般是把需要打印的样张转化为位图传输给打印机。这种如果你想做上位机驱动可能需要和对应打印机公司的 SDK 对接,比如使用他们现成的 SDK 文件。看你的需求,那种稍微大一点 2 寸 3 寸,或者大四寸,快递行业,大标签行业一般用 CPCL 指令集 ZPL/EPL 。
小票多用 EPSON 的 ESC 指令集 它的原理为边收边打,那种非常小的因为硬件资源有限可能不会内置指令集,当然国外的我不清楚,毕竟我们公司做标签机+耗材,我也调研了不少国内的竞品,比较小的 半寸 一寸 很少有带指令集的,或者有的话也不是很全。主要也是用指令集中的位图指令。
指令集的原理其实是上位机给打印机发送指令,真正生成图像是在打印机这一端,如果是传输位图,则上层就需要绘制好图像。如果你用指令集方式可能对自己生成图像的难度系数较小,如果是传输图像数据可能会涉及一维码/二维码库的调用,以及数据压缩,数据传输超时等等这些因素。
当然这只是我从嵌入式方向给你的一些建议,毕竟我也不做 SDK ,我也不做 APP ,我只负责打印机固件端开发,能提供的建议只有这么多。有任何指令集相关的疑问,也可以私下问我,因为我是专门做打印机指令集开发的。