search getScanResult addEventListener connectPrinter closeConnect getPrinterState InitializePrinter SelectJustification SetCharcterSize TurnEmphasizedModeOnOrOff addText addTexts PrintAndLineFeed PrintAndFeedLines drawImage addCODE128 addPrintQRCode addCutPaper addGeneratePlus printer
该插件封装了基于esc指令集的小票打印功能,通过蓝牙连接打印机发送打印数据打印小票
使用该模块前需要打开蓝牙,申请蓝牙相关权限
搜索蓝牙设备
search()
var escPrinter = api.require("escPrinter");
escPrinter.search();
Android、iOS系统系统
可提供的1.0.0及更高版本
获取搜索到的蓝牙设备,
getScanResult(callback(ret))
ret:
{
devices:[{mac:'',name:'',rssi:''}], //JSON数组;注意iOS端系统屏蔽了mac地址,如果要获取mac地址需要跟蓝牙硬件工程师共同确定通过manufacturerData获取,iOS端返回的是uuid,可通过此uuid连接打印机
}
var escPrinter = api.require('escPrinter');
escPrinter.getScanResult(function(ret) {
alert(JSON.stringify(ret));
});
Android、iOS系统
可提供的1.0.0及更高版本
事件监听
addEventListener(callback(ret))
ret:
{
eventType: 'Conneced', //字符串类型;事件类型
}
eventType取值范围:
var escPrinter = api.require('escPrinter');
escPrinter.addEventListener(function(ret) {
alert(JSON.stringify(ret));
});
Android、iOS系统
可提供的1.0.0及更高版本
通过蓝牙连接打印机 (连接成功与否可在 addEventListener 回调事件中获取)
connectPrinter({params})
##params
macAddress:
var escPrinter = api.require("escPrinter");
escPrinter.connectPrinter({
macAddress:'DC:0D:30:95:57:66'
});
Android、iOS系统
可提供的1.0.0及更高版本
断开蓝牙连接打印机,页面页面关闭时需要先断开连接 (断开成功与否可在 addEventListener 回调事件中获取)
closeConnect()
var escPrinter = api.require("escPrinter");
escPrinter.closeConnect();
Android、iOS系统
可提供的1.0.0及更高版本
查询打印机状态
getPrinterState(callback(ret))
ret:
{
code:0// -1:状态获取失败;0:状态正常;-2:缺纸;-3:开盖;-4:打印机过热
}
var escPrinter = api.require("escPrinter");
escPrinter.getPrinterState(function(ret){
console.log("state: " + JSON.stringify(ret));
});
Android、iOS系统
可提供的1.0.0及更高版本
打印机初始化
InitializePrinter()
var escPrinter = api.require('escPrinter');
escPrinter.InitializePrinter();
Android、iOS系统
可提供的1.0.0及更高版本
设置对齐方式; 左 中 右对齐
SelectJustification({params})
##params
justification:
var escPrinter = api.require('escPrinter');
escPrinter.SelectJustification({justification:1})
Android、iOS系统
可提供的1.0.0及更高版本
设置字符放大倍数
SetCharcterSize({params})
##params
charctersize:
var escPrinter = api.require('escPrinter');
escPrinter.SetCharcterSize({charctersize:2})
Android、iOS系统
可提供的1.0.0及更高版本
是否开启字体加粗
TurnEmphasizedModeOnOrOff({params})
##params
isBold:
var escPrinter = api.require('escPrinter');
escPrinter.TurnEmphasizedModeOnOrOff({isBold:true})
Android、iOS系统
可提供的1.0.0及更高版本
添加打印文字内容
addText({params})
##params
text:
var escPrinter = api.require('escPrinter');
escPrinter.addText({text:"你好\n"});
Android、iOS系统
可提供的1.0.0及更高版本
打印多列文本,最多支持四列
addTexts({params})
##params
paperType:
texts:
var escPrinter = api.require('escPrinter');
escPrinter.addTexts({paperType:0,texts:["菜名", "数量", "金额"]});
escPrinter.addTexts({paperType:0,texts:["82年的快乐肥宅水(去冰)", "2", "9.99"]});
escPrinter.addTexts({paperType:0,texts:["合计:", "1314.00"]});
Android、iOS系统
可提供的1.0.0及更高版本
进纸一行
PrintAndLineFeed()
var escPrinter = api.require('escPrinter');
escPrinter.PrintAndLineFeed();
Android、iOS系统
可提供的1.0.0及更高版本
打印并且走纸多少行
PrintAndLineFeeds({params})
##params
lins:
var escPrinter = api.require('escPrinter');
escPrinter.PrintAndLineFeeds({lins:2});
Android、iOS系统
可提供的1.0.0及更高版本
打印图片;
drawImage({params})
##params
imagePath:
imageWidth:
var escPrinter = api.require('escPrinter');
escPrinter.drawImage({imagePath:"widget://image/flower.jpg",imageWidth:250});//打印图片
Android、iOS系统
可提供的1.0.0及更高版本
打印二维码
addPrintQRCode({params})
##params
qrcode:
moduleSize:
var escPrinter = api.require('escPrinter');
escPrinter.addPrintQRCode({qrcode:"https://www.baidu.com"});
Android、iOS系统
可提供的1.0.0及更高版本
打印条码
addCODE128({params})
##params
barcodeWidth:
barcodeHeight:
barcode:
showContent:
var escPrinter = api.require('escPrinter');
escPrinter.addCODE128({
barcode:'123456789',
barcodeHeight: 60,
barcodeWidth: 2
});
Android、iOS系统
可提供的1.0.0及更高版本
切纸(带切刀打印机才可用)
addCutPaper()
var escPrinter = api.require('escPrinter');
escPrinter.addCutPaper();
Android、iOS系统
可提供的1.0.0及更高版本
开钱箱
addGeneratePlus()
var escPrinter = api.require('escPrinter');
escPrinter.addGeneratePlus();
Android、iOS系统
可提供的1.0.0及更高版本
汇总打印指令打印
printer(callback(ret))
ret:
{
status:, //布尔类型;打印数据是否发送成功
msg: //status为false时返回打印错误信息
}
var escPrinter = api.require("escPrinter");
escPrinter.InitializePrinter();//初始化打印
escPrinter.SelectJustification({justification:1});//设置打印居中
escPrinter.drawImage({imagePath:"widget://image/flower.jpg",imageWidth:250});//打印图片
escPrinter.SetCharcterSize({charctersize:2});//字体放大两倍打印标题
escPrinter.addText({text:"爱情餐厅:\n\n"});
escPrinter.SelectJustification({justification:0});//设置打印居左
escPrinter.addText({text:"520号桌:\n\n"});
escPrinter.SetCharcterSize({charctersize:1});//字体正常
escPrinter.addText({text:"点菜时间 2020-05-20 5:20\n"});
escPrinter.addText({text:"上菜时间 2020-05-20 13:14\n"});
escPrinter.addText({text:"人数:2人 点菜员:新疆包工头\n"});
escPrinter.addText({text:"--------------------------------\n"});
escPrinter.TurnEmphasizedModeOnOrOff({isBold:true});//开启加粗
escPrinter.addTexts({paperType:0,texts:["菜名", "数量", "金额"]});
escPrinter.TurnEmphasizedModeOnOrOff({isBold:false});//关闭加粗
escPrinter.addTexts({paperType:0,texts:["北京烤鸭", "1", "99.99"]});
escPrinter.addTexts({paperType:0,texts:["麻婆豆腐", "1", "39.99"]});
escPrinter.addTexts({paperType:0,texts:["西湖醋鱼", "1", "59.99"]});
escPrinter.addTexts({paperType:0,texts:["辣子鸡", "1", "66.66"]});
escPrinter.addTexts({paperType:0,texts:["清蒸武昌鱼", "1", "88.88"]});
escPrinter.addTexts({paperType:0,texts:["老干妈拌饭(加辣、加香菜)", "1", "6.66"]});
escPrinter.addTexts({paperType:0,texts:["82年的快乐肥宅水(去冰)", "2", "9.99"]});
escPrinter.addText({text:"--------------------------------\n\n"});
escPrinter.TurnEmphasizedModeOnOrOff({isBold:true});//开启加粗
escPrinter.addTexts({paperType:0,texts:["合计:", "1314.00"]});
escPrinter.addTexts({paperType:0,texts:["抹零:", "14.00"]});
escPrinter.addTexts({paperType:0,texts:["应收:", "1300.00"]});
escPrinter.TurnEmphasizedModeOnOrOff({isBold:false});//关闭加粗
escPrinter.addText({text:"--------------------------------\n"});
escPrinter.SelectJustification({justification:2});//设置打印居右
escPrinter.addText({text:"收银员:广东包租公\n"});
escPrinter.PrintAndLineFeed();//打印空行
escPrinter.SelectJustification({justification:1});//设置打印居中
escPrinter.addPrintQRCode({qrcode:"https://www.baidu.com"});//打印二维码
escPrinter.addText({text:"\n(扫二维码送手机)\n"});
escPrinter.PrintAndLineFeed();//打印空行
escPrinter.addCutPaper();//切纸(带切刀打印机才可用)
escPrinter.addGeneratePlus();//开钱箱
escPrinter.printer(function(ret){
console.log(SON.stringify(ret));
});
Android、iOS系统
可提供的1.0.0及更高版本