目前各行业均在大量使用便携式移动打印设备,如快递小哥上面收寄包裹时现场打印快递面单,交警当面违章处罚,停车缴费等等都可能使用到便携式移动打印设备。便携式移动打印设备具有蓝牙或USB接口,自身带有充电电池,可以通过手机、PDA等设备控制打印,使用非常方便。
常见的便携式移动打印设备, 如斑马、汉印、新北洋一般均采用CPCL协议,打印指令和打印设备之间一般通过蓝牙接口或USB接口传输。
标题一、如何使用CPCL打印机
CPCL是一种简单、高效、基于文本格式的打印命令集,使用CPCL协议打印机,必须要对CPCL打印命令有所了解。
打印命令
打印必须以“!”字符作为开头,后接“x”偏置参数、“x”和“y”轴分辨率、标签长度以及要打印的标签数量。称为命令起始行。
打印以“PRINT”命令结尾。在起始行和结尾的PRINT命令之间可以有各种命令实现特定的功能,如:打印文本,打印条码,打印二维码,打印图像等等。
命令行中的各个字段应以空格字符分隔。
例:
!0 200 200 210 1
TEXT 4 0 30 40 Hello World
FORM
PRINT
这个命令的第一行为起始行,设置打印标签的x方向偏移为0, x和y方向的打印分表率为200DPI, 标签高度为210点,打印数量为1。
第二行为文本输出命令,表示使用4号字, 在(30,40)坐标处打印 Hello World。
第三行FORM表示打印完成后自动走到下一页。
第四行执行打印。
CPCL打印指令集还包括条码、二维码、图像打印等指令,通过这些指令的组合可打印各种复杂的标签。完整的CPCL打印命令请参考这里。
输出打印命令
通过蓝牙接口或USB接口将上述命令传递给打印机,即可完成打印。一般来说,打印机厂商会提供SDK,提供连接打印机, 传输打印命令的基本API。
二、打印精灵对CPCL打印机的支持
通过上面的介绍可以看出,CPCL打印命令的基本概念还是比较简单,但是使用CPCL命令设计一个实际的标签却比较罗嗦:你需要熟悉CPCL的各种命令,需要编写连接打印机的相关程序,最麻烦的是如果不打印出来,很难想象最终的打印效果,调试一张标签尤其是复杂的标签,需要花费不少的时间。有没有比较快捷的方案呢?
有,这就是打印精灵提供的标签设计功能。
打印精灵标签设计模块采用图形界面,不需要知道任何打印命令,通过直观的拖拽方式,就可以添加文本、二维码、条码、图形等各种元素,完成标签设计。打印精灵设计的标签,可作为模板使用:即标签的整体结构不变,一些打印区域可以通过变量替换,打印出不同内容的标签。
标签的内部格式是打印机无关的,可以同时支持在WEB,移动设备,嵌入式设备的打印,可以同时支持CPCL打印机、ZPL打印机、Windows打印机,配合相应的打印控件,可以在上述设备上获得基本相同的打印效果。
对于移动设备,打印精灵两种解决方案,一是SpiritMobile Android SDK, 为原生SDK,性能强,灵活性大,适合有Android开发人员的团队使用; 另外一个方案是SpiritMobile H5适合使用JS作移动开发的团队使用,特点是简单,无需了解Android底层的内容,完全采用JS就可以完成打印程序设计。
本文转自http://www.printspirit.cn/blog/cpcl_printer.md