使用说明
平台自研解析引擎,将模板翻译成 ESC/POS 指令发送给打印机,允许开发者以写HTML/XML的形式编写打印内容,真正做到所见即所得。开发者只需定义好样式模板,业务内容可以使用占位符或者使用thymeleaf
等模板引擎渲染数据,最终经过Base64编码传参即可。
模板的样式渲染以行为单位,下一行打印会重新初始化。
在同一行中,子标签会继承父标签的属性,如果有多级嵌套,以一行中最邻近的标签样式为准。
需注意的是,目前打印机暂不支持 4
字节的国标码,即中文输入状态,特殊符号应使用半角符号,比如:¥
。 另外XML/HTML特殊字符需要转义,如 < 需要转义成 <
标签
br
换行打印
属性列表
属性 | 含义 | 是否必须 | 默认 |
---|---|---|---|
line | 行数 | 否 | 1 |
h3
三号字体
属性列表
属性 | 含义 | 是否必须 | 默认 | 可选值 |
---|---|---|---|---|
justify | 对齐 | 否 | left | - left - center - right |
bold | 加粗 | 否 | false | - true - false |
position | 定位方式,仅TSPL指令支持 | 否 | relative | - relative - absolute |
left | X方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 | |
top | Y方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 |
h3-s
小三号字体
属性列表
属性 | 含义 | 是否必须 | 默认 | 可选值 |
---|---|---|---|---|
justify | 对齐 | 否 | left | - left - center - right |
bold | 加粗 | 否 | false | - true - false |
position | 定位方式,仅TSPL指令支持 | 否 | relative | - relative - absolute |
left | X方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 | |
top | Y方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 |
h4
四号字体
属性列表
属性 | 含义 | 是否必须 | 默认 | 可选值 |
---|---|---|---|---|
justify | 对齐 | 否 | left | - left - center - right |
bold | 加粗 | 否 | false | - true - false |
position | 定位方式,仅TSPL指令支持 | 否 | relative | - relative - absolute |
left | X方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 | |
top | Y方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 |
tr2
两列表格,子元素td的标签数量需要与之对应
属性列表
无
tr3
三列表格,子元素td的标签数量需要与之对应
属性列表
无
tr4
四列表格,子元素td的标签数量需要与之对应
属性列表
无
th
表头
属性列表
无
td
单元格
属性列表
无
qrcode
二维码,暂时只支持自闭合,即<qrcode value="" />
属性 | 含义 | 是否必须 | 默认 |
---|---|---|---|
value | 二维码内容 | 是 | |
position | 定位方式,仅TSPL指令支持 | 否 | relative |
left | X方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 |
top | Y方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 |
barcode
条形码,默认CODE128-B,暂时只支持自闭合,即 <barcode value="" />
属性列表
属性 | 含义 | 是否必须 | 默认 |
---|---|---|---|
value | 条形码内容 | 是 | |
position | 定位方式,仅TSPL指令支持 | 否 | relative |
left | X方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 |
top | Y方向边距,取决于定位方式,仅TSPL指令支持 | 否 | 0 |
divider
分割线,可内嵌一行文字标签,作为分割文字
属性列表
属性 | 含义 | 是否必须 | 默认 |
---|---|---|---|
symbol | 分割符号 | 是 |
cut
切纸命令,模版最后一条指令,自动切纸版打印机会执行半切,手撕版打印机会忽略
属性列表
无
打印示例
<printer>
<h3 justify="center">商家联</h3>
<br/>
<h3-s justify="center">深圳市文鼎创数据科技有限公司</h3-s>
<br/>
<h3 justify="center" bold="true">【美团外卖】#001</h3>
<br/>
<h3-s justify="center">---已在线支付---</h3-s>
<br/>
<divider symbol="-"></divider>
<br/>
<h4>订单编号: 1234567890</h4>
<br/>
<h4>下单时间: 2021-11-02 11:18:22</h4>
<br/>
<h4 bold="true">期望送达时间: 立即送达</h4>
<br/>
<divider symbol="-"></divider>
<br/>
<h3>备注: 不要香菜!!不要辣!!</h3>
<br/>
<divider symbol="-"></divider>
<br/>
<tr3>
<th>
<h4>商品</h4>
</th>
<th>
<h4>数量</h4>
</th>
<th>
<h4>总价</h4>
</th>
</tr3>
<br/>
<divider symbol="-">
<h4 justify="center">1号口袋</h4>
</divider>
<br/>
<tr3>
<td>
<h3-s>『套餐』清蒸苹果[泰式虾片+宫保鸡丁-8+宫保鸡丁-6</h3-s>
</td>
<td>
<h3-s>x1</h3-s>
</td>
<td>
<h3-s>47.8</h3-s>
</td>
</tr3>
<br/>
<divider symbol="-"></divider>
<br/>
<tr3>
<td>
<h4>合计</h4>
</td>
<td>
<h4>1</h4>
</td>
<td>
<h4>47.8</h4>
</td>
</tr3>
<br/>
<divider symbol="-"></divider>
<br/>
<tr2>
<td>
<h4>打包费</h4>
</td>
<td>
<h4>2.0</h4>
</td>
</tr2>
<br/>
<tr2>
<td>
<h4>配送费</h4>
</td>
<td>
<h4>6.1</h4>
</td>
</tr2>
<br/>
<divider symbol="-">
<h4 justify="center">赠品</h4>
</divider>
<br/>
<h4>[满10.0元赠开开心心每一天 1份]</h4>
<br/>
<divider symbol="-">
<h4 justify="center">其他</h4>
</divider>
<br/>
<h4>[用户使用了会员红包减7元]</h4>
<br/>
<divider symbol="-"></divider>
<br/>
<tr2>
<td>
<h3-s>实付金额</h3-s>
</td>
<td>
<h3-s>¥18.9</h3-s>
</td>
</tr2>
<br/>
<divider symbol="-"></divider>
<br/>
<h4>为保护隐私,顾客地址已隐藏,您可登录美团商家端或骑手端查看</h4>
<br/>
<h4>姓名: 刘(先生)</h4>
<br/>
<br line="2"/>
<divider symbol="*">
<h3 justify="center">#001完</h3>
</divider>
<br line="2"/>
<cut/>
</printer>