1.0.1 • Published 3 years ago
node-gp-printer v1.0.1
一些说明
打印机的连接
当前使用 GP-5860III 打印机,其他型号支持ESC/POS的话应该都是可用的,以下是驱动安装说明
下载驱动 Zadig
解压后执行程序,如图顺序操作:
等待几分钟提示成功即可
开发一种小票需要以下步骤
/**
* 打印商品销售小票
* @param {*} data
*/
printGoodsell (data) {
//获取定义的模板
const template = require("./tickets/goods-sell")
//打印
this.printTemplate(this.loadTemplate(template, data))
}
- 调用
new PrintHandler()
.printGoodsell({
ShopName: "测试店",
TableColums: ["商品名", "单价", "数量", "金额"],
ItemRows: [["叮当", "1.00", "2", "2.00"], ["哆啦A梦", "1.00", "2", "2.00"]],
Should: "4.00",
Discount: "1.00",
Paid: "3.00",
PayType: "现金",
Mobile: "13800138000",
ReMark: "",
OrderNO: "S2328744283621783627846283422113",
Employee: "张三",
CreateTime: "2021-08-26 11:22:33"
})
模板说明
格式说明
模板为一个json数组,每项对应小票中的一个数据集(一行或多行)
每项中的配置如下:
{
type: "当前行的类型",
key:"对应数据集合的键",
style: {
size: "字体大小,0-7,0为默认值",
blob: "是否加粗",
center: "是否居中"
},
title:"使用键值对作为一行的话,此为标题,value为值",
value: "模板字符串,目前支持1个占位:{{}}"
}
type 对应说明:
{
text:"一行文本",
keyvalue:"键值对形式,如 “金额: 1.00”",
row:"value设置一个数组,根据内容会均分一行",
rows:"value为二维数组,对应datatable的行"
line:"输出以“-----”这样的分割线",
empty:"输出空行,可以理解为换行,value不设置的话默认换两行(即空1行)",
ercode:"value为二维码内容",
barcode:"value为条形码内容"
}