微信小程序蓝牙标签打印/标签云打印开放平台(2)

 微信小程序蓝牙标签打印/标签云打印开放云平台(下面简称“平台” www.herro.cn 技术服务TEL:15759216805),支持开发者通过API调用完成标签蓝牙打印或标签云打印功能。平台支持的功能请微信搜索小程序“标签快印”试用。

主要功能:

1、本平台蓝牙打印模块支持各厂商各品牌蓝牙标签打印机和小票打印机。

2、本平台蓝牙连接模块支持微信小程序与各类低功率蓝牙设备(BLE4.2及以上蓝牙协议)快速稳定通讯;

3、云标签打印模块支持各品牌有USB打印口的标签打印机;本平台支持各种主流标签机小票机打印语言,如:CPCL、ESC、TSPL、ZPL等。

4、汉字图片化并转各打印语言打印16进制码,图片、二维码、条形码转码、EXECL表标签打印等

——————————————

平台的自定义语法与打印模板管理

自定义语法与不同打印语言的打印机脚本

    

一个标签的打印内容一般可分为“可变数据”、“固定数据”两部分,如上图标签红框内是“可变数据”,其他部分为“固定数据”

自定义语法功能是定义和向平台传递“可变数据”的属性参数,

如上图中“米饭”二字在打印机输出时,可以有两种方式处理,一种是调用打印机字库内码输出,另一种是在云平台转化为图片,打印机以图片方式输出。

   所以“可变数据”的属性参数可以有:字体、颜色(黑白)、图片大小、GBK编码、默认数据、输入数据长度等。

   对接平台的用户可按规则编程,调用平台语法解释API,由平台进行文字转图片生成特定打印机语言(CPCL、TSPL、ZPL、ESC)打印图片格式。

   同理“固定数据”部分也可以视为“可变数据”处理。

   不同打印语言的打印机脚本,是用户自定义按不同打印机语言编程的打印程序,用户调用平台的打印程序合成API,可完成将打印程序与可变数据部分合成,自动生成完整打印代码。发送到打印机完成打印。

   平台通过语法和脚本,可以做到不同厂商不同打印语言的打印机的完全适配。做到硬件无关。

模板自定义语法

语法总览与基本参数说明

语法编码必须符合JSON数据格式要求。

上图语法举例如下:

{“background”:{“width”:500,”height”:400, “color”:[255,255,255],  “rotate”:0 },

 “options”:{  “independentImages”:true },

  “items”:[

{ “item”:”111″,”input”:true,”label”:”单位名:”,”type”:”text”,”value”:””,”hint”:”不多于8字”,”maxlength”:16,

   “props”:{“left”:10,”top”:60,”color”:[0,0,0],”fontSize”:36,”fontFamily”:”黑体”,”align”:”center”,”width”:336,”height”:45},

   “required”:true,”enable”:true  },

{ “item”:”120″,”input”:true,”label”:”留样品名:”,”type”:”text”,”value”:””,”hint”:”不多于8字”,”maxlength”:16,

“props”:{“left”:10,”top”:60,”color”:[255,255,255],”fontSize”:36,”fontFamily”:”黑体”,

   “align”:”center”,”width”:320,”height”:80},

   “required”:true,”enable”:true  },

{“item”:”130″,”input”:true,”label”:”留样时间:”,”type”:”radio”,”value”:”today”,

“desc”:”日期宏变量:today当天yyyy.mm.dd/now当天时yyyy.mm.dd hh:mm”,

“list”:[[“today”,”打印日期”],[“now”,”打印时间”]],

“props”:{“left”:10,”top”:70,”color”:[0,0,0],”fontSize”:16,”fontFamily”:”黑体”},

“required”:true,”enable”:true

},

{   “item”:”140″,”input”:true,”label”:”留样人:”,”type”:”text”,”value”:””,”hint”:”不多于4字”,”maxlength”:8,

   “props”:{“left”:10,”top”:60,”color”:[255,255,255],”fontSize”:36,”fontFamily”:”黑体”,

   “align”:”center”,”width”:320,”height”:80},

   “required”:true,”enable”:true  }

      ]}

语法由两部分构成,

“background”部分定义底图大小,黑白、是否与底图合并。用于支持底图的打印。

 “items”部分用于定义”可变数据“的属性。“可变数据”的支持类型有:汉字GBK编码、数字类型、图片类型、条形码类型、二维码类型、文字转图片类型、枚举选择类型、EXECL表格类型。

用户调用平台API,平台自动进行图片、文字的打印编码转换,如定义文字字体,API自动将输入的文字转成指定字体的图片打印数据。

文本编码定义举例

语法编码:

{ “item”:”120″,”input”:true,”label”:”留样品名:”,”type”:”text”,”value”:””,”hint”:”不多于8字”,”maxlength”:16,

“props”:{“left”:10,”top”:60,”color”:[255,255,255],”fontSize”:36,”fontFamily”:”黑体”,

   “align”:”center”,”width”:320,”height”:80},

   “required”:true,”enable”:true  },

UI图:

     

      属性说明:

属性

说明

 “item”

“120”

可变数据序 ,用于向打印脚本传递指定字段

“input”

true

是否需要输入

“label”

“留样品名:”

字段名,用于UI显示

“type”

“text”

数据处理类型

“value”

“”

默认值

“hint”

“不多于8字”

默认UI提示语

“maxlength”

16

该字段最大长度,汉字占2个位置

“props”

转图片属性定义

“left”

10

在底图的位置、x轴值、单位为一个像素点,底图左上角坐标为0,0

“top”

60

在底图的位置、Y轴值、单位为一个像素点,底图左上角坐标为0,0

“color”

[255,255,255]

黑白颜色,255为黑字白底

“fontSize”

36

字体大小

“fontFamily”

“黑体”

字体

“align”

“center”

字体居中或左右对齐

“width”

320

图片宽,单位为一个像素点

“height”

80

图片高,单位为一个像素点

 “required”

true

是否必填不能为空

“enable”

true

是否生效,无效则跳过该字段,不做任何处理

二维码条形码定义

    语法编码:

{ “item”:”160″,”input”:true,”label”:”二维码”,”type”:”qrcode”,”value”:””,”hint”:”输入或者扫码”,

   “props”:{“left”:10,”top”:120,”color”:[255,255,255],”width”:200},

   “required”:true,”enable”:true

  }

UI图:

属性说明

“type”:”qrcode”,指定为二维码/条形码类型,其他定义与文本相同。

若采用微信小程序调用云平台开发,云平台会自动返回“扫码”按钮。其他方式调用可忽略返回值。

平台支持不同标准的二维码、条形码生成图片。但为减少平台计算量,最好只传递值到打印脚本,将二维码、条形码格式处理交由标签打印机处理。平台只处理标签机无法支持的二维码、条形码格式。

图片定义

语法编码:

{ “background”:{  “width”:560,  “height”:560,  “color”:[255,255,255], “rotate”:0 },

 “options”:{ “independentImages”:true },

  “items”:[

 {   “item”:”110″,”input”:true,”label”:”上传图片”,”type”:”image-upload”,”value”:””,”hint”:”上传图片”,

   “props”:{“left”:0,”top”:0,”width”:560,”height”:560},

   “required”:true,”enable”:true  }]}

UI图

属性说明

“type”:”image-upload”,用于上传打印的图片。”width”:560,”height”:560定义图片大小为560像素*560像素,若上传的图片大小与此定义值不一致,调用云平台图片处理API时,API将自动压缩或裁剪为定义值大小。同时API会进行图片黑白化处理,为避免彩图打印时丢失主要信息,最好将彩图处理为黑白图后再上传。

汉字图片化与支持的字体

语法语法编码举例:

{

 “background”:{

  “width”:300,

  “height”:400,

  “color”:[255,255,255],

  “rotate”:0

 },

 “options”:{

  “independentImages”:true

 },

 “items”:[

  {

   “item”:”610″,”input”:true,”label”:”茶名”,”type”:”text”,”value”:””,”hint”:”输入您的茶名”,”maxlength”:10,

   “props”:{“left”:10,”top”:10,”color”:[0,0,0],”fontSize”:58,”fontFamily”:”钟齐志莽行书”, “showVertical”:true,”align”:”center”,”charInterval”:9999,”width”:96,”height”:260},

   “required”:true,”enable”:true

  },

  {

   “item”:”620″,”input”:true,”label”:”姓名”,”type”:”text”,”value”:””,”hint”:”输入您的姓名”,”maxlength”:8,

   “props”:{“left”:10,”top”:60,”color”:[0,0,0],”fontSize”:32,”fontFamily”:”庞门书法”,”showVertical”:true,”align”:”bottom”,”width”:64,”height”:168},

   “required”:true,”enable”:true

  }

    ]

}

编码说明

以上编码参数可通过调用云平台文字处理API,将输入的汉字转化成竖排文字图片。

 “props”:{“left”:10,”top”:10,”color”:[0,0,0],”fontSize”:58,”fontFamily”:”钟齐志莽行书”, “showVertical”:true,”align”:”center”,”charInterval”:9999,”width”:96,”height”:260

其中”showVertical”:true指定为竖排,不指定此参数、平台默认为文字横排

“align”:”center” 文字居中对齐

“charInterval”:9999 字间距为大小(9999为默认字间距)

“fontFamily”:”钟齐志莽行书”指定文字字体

云平台现支持以下字体自动处理,需增字体请联系我们。

字体

1

黑体

2

楷书粗体

3

行楷

4

沐瑶手写体

5

庞门书法

6

仿宋

7

楷书

8

思源黑粗体

9

思源黑超细

10

思源黑细

11

思源黑中

12

思源黑常规

13

思源宋粗

14

思源宋超细

15

思源宋加粗

16

思源宋细

17

思源宋半粗

18

楷书繁体

19

江西拙楷2.0

20

站酷仓耳渔阳体

21

站酷快乐体

22

站酷庆科黄油体

23

站酷小薇LOGO体

24

聪聪草书

25

硬笔行书

26

行书字体

生僻字繁体字处理

大多数免费手写字体库约收集4万字左右,可能有很多生僻字繁体字未收集。采用此类字库打印,易出现缺字现象。建议如“姓名”类字段输入,容易出现生僻字,请选择思源字库或黑体、楷体字库。

也可调用标签打印机内置GBK字库进行打印。

枚举类型/日期时间类型定义

语法举例

{“item”:”130″,”input”:true,”label”:”留样时间:”,”type”:”radio”,”value”:”today”,

“desc”:”日期宏变量:today当天yyyy.mm.dd/now当天时yyyy.mm.dd hh:mm”,

“list”:[[“today”,”打印日期”],[“now”,”打印时间”]]}

  编码说明

“type”:”radio”为多选一枚举类型

当类型为枚举类型时,”value”值为today时,平台返回当前日期值。

日期格式为2020.06.16

当类型为枚举类型时,”value”值为now时,平台返回当前时间值。

时间格式为:2020.05.16 10:39

    EXECL表输入定义

语法举例

{

 “background”:{  “width”:500,  “height”:400,  “color”:[255,255,255],  “rotate”:0 },

 “options”:{  

   “independentImages”:true

   ,”loopFileItem”:”190″

   ,”loopFileDataBegin”:”192″

   ,”loopFileDataEnd”:”194″

 },

  “items”:[

 {“item”:”190″,”input”:true,”label”:”表格”,”type”:”file-upload”,”value”:””,”hint”:”上传表格”,”required”:true,”enable”:true},

 {“item”:”192″,”input”:true,”label”:”打印起始行”,”type”:”text”,”value”:”1″,”desc”:””,”props”:{“onlyText”:true},”required”:true,”enable”:true},

 {“item”:”194″,”input”:true,”label”:”打印结束行”,”type”:”text”,”value”:”9999″,”desc”:””,”props”:{“onlyText”:true},”required”:true,”enable”:true},

      { “item”:”120″,”input”:false,”label”:”商品名称”,”type”:”text”,”value”:””,”hint”:”不多于16字”,”maxlength”:42,”source”:”loopFile”,

       “props”:{“left”:10,”top”:60,”color”:[0,0,0],”fontSize”:36,”fontFamily”:”黑体”,”align”:”center”,”width”:168,”height”:45,”onlyText”:true},

   “required”:true,”enable”:true  

 },

      { “item”:”130″,”input”:false,”label”:”说明一”,”type”:”text”,”value”:””,”hint”:”不多于16字”,”maxlength”:65,”source”:”loopFile”,

       “props”:{“left”:10,”top”:60,”color”:[0,0,0],”fontSize”:36,”fontFamily”:”黑体”,”align”:”center”,”width”:168,”height”:45,”onlyText”:true},  

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月12日
下一篇 2021年6月12日

相关推荐