敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241115.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
♦ 珠海芯烨电子
♦ 芯烨官方 SDK 参考文档
初始化
• 其他接口之前应调用 init 初始化打印服务,只需调用一次。
jsBridge.xprinter.init(function(succ, data) { alert(succ ? "初始化成功" : "失败\n" + JSON.stringify(data)); });
设备/连接/断开 SDK文档
jsBridge.xprinter.checkLinkedState(function(succ, data) { alert(succ ? "成功" : "失败\n" + JSON.stringify(data)); });
address:
jsBridge.xprinter.connectBtPort({ //蓝牙MAC地址 address: $("#connectBtPort_address").val() }, function(succ, data) { alert(succ ? "成功" : "失败\n" + JSON.stringify(data)); });
address:
jsBridge.xprinter.connectUsbPort({ //USB address: $("#connectUsbPort_address").val() }, function(succ, data) { alert(succ ? "成功" : "失败\n" + JSON.stringify(data)); });
address:
jsBridge.xprinter.connectNetPort({ //IP地址 address: $("#connectNetPort_address").val(), //端口号 port : 9100 }, function(succ, data) { alert(succ ? "成功" : "失败\n" + JSON.stringify(data)); });
jsBridge.xprinter.disconnectCurrentPort(function(succ, data) { alert(succ ? "成功" : "失败\n" + JSON.stringify(data)); });
jsBridge.xprinter.disconnetNetPort(function(succ, data) { alert(succ ? "成功" : "失败\n" + JSON.stringify(data)); });
jsBridge.xprinter.getBtAvailableDevice(function(succ, data) { alert(JSON.stringify(data)); });
jsBridge.xprinter.onDiscovery(function(succ, data) { alert(JSON.stringify(data)); });
发送数据到打印机
jsBridge.xprinter.write({ //16进制字符串,打印指令及数据 data: "" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
jsBridge.xprinter.writeSendData({ //16进制字符串数组,打印指令及数据 datas: [ ] }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
jsBridge.xprinter.writeDataByUSB({ //16进制字符串数组,打印指令及数据 datas: [ ] }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
打印指令
仅适用于条码打印机系列,详情请参考 指令说明。
jsBridge.xprinter.writeTSC({ //打印图片 cmds: [ { //清除缓冲 cmd: "cls", arg: [] }, { //写入图片 //图片参数为 Base64 编码,这是一个笑脸 cmd: "bitmap", arg: [ 20, 10, 0, "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", "Threshold" ] }, { //打印1份 cmd: "print", arg: [ 1 ] } ] }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } }); /* 1.支持的指令集请参考打印设备的【官方文档】; 2.指令使用说明 { //指令列表 cmds: [ //单个指令包括指令名称和参数 { cmd: "", //指令名称,即文档里面的方法名称,注意区分大小写 arg: [] //指令参数,即对应的方法参数,注意参数顺序和类型需与文档一致 //Bitmap 图片类型请使用图片的 Base64 编码字符串 //BmpType,AlignType 枚举类型请使用枚举名称字符串 //byte[] 二进制数组请使用16进制字符串表示 }, ... ] } */
jsBridge.xprinter.writeTSC({ //指令列表 cmds: [ { //清除缓冲 cmd: "cls", arg: [] }, { //设置标签纸大小 cmd: "sizeBymm", arg: [ 50, 30 ] }, { //设置间隙 cmd: "gapBymm", arg: [ 2, 0 ] }, { //线条 cmd: "bar", arg: [ 10, 10, 200, 3 ] }, { //条码 cmd: "barCode", arg: [ 10, 45, "128", 100, 1, 0, 2, 2, "abcdef12345" ] }, { //文字 //如需打印双引号 " 应转为 \["],js 字符串转义为 \\[\"] cmd: "text", arg: [ 220, 10, "TSS24.BF2", 0, 1, 1, "这是测试文本\\[\"] ABC123" ] }, { //打印1份 cmd: "print", arg: [ 1 ] } ] }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
详情请参考 指令说明。
jsBridge.xprinter.writePos58({ cmds: [ { //初始化打印机 cmd: "initializePrinter", arg: [] }, { //设置绝对打印位置 cmd: "setAbsolutePrintPosition", arg: [ 50, 0 ] }, { //字体大小 cmd: "selectCharacterSize", arg: [ 17 ] }, { //打印文字 cmd: "text", arg: [ "商品" ] }, { //设置绝对打印位置 cmd: "setAbsolutePrintPosition", arg: [ 250, 0 ] }, { //打印文字 cmd: "text", arg: [ "价格" ] }, { //打印并换行 cmd: "printAndFeedLine", arg: [ ] }, { //打印并换行 cmd: "printAndFeedLine", arg: [ ] }, { //初始化打印机 cmd: "initializePrinter", arg: [] }, { //设置绝对打印位置 cmd: "setAbsolutePrintPosition", arg: [ 30, 0 ] }, { //打印文字 cmd: "text", arg: [ "黄焖鸡" ] }, { //设置绝对打印位置 cmd: "setAbsolutePrintPosition", arg: [ 220, 0 ] }, { //打印文字 cmd: "text", arg: [ "5元" ] }, { //打印并换行 cmd: "printAndFeedLine", arg: [ ] } ] }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } }); /* 1.支持的指令集请参考打印设备的【官方文档】; 2.指令使用说明 { //指令列表 cmds: [ //单个指令包括指令名称和参数 { cmd: "", //指令名称,即文档里面的方法名称,注意区分大小写 arg: [] //指令参数,即对应的方法参数,注意参数顺序和类型需与文档一致 //Bitmap 图片类型请使用图片的 Base64 编码字符串 //BmpType,AlignType 枚举类型请使用枚举名称字符串 //byte[] 二进制数组请使用16进制字符串表示 }, ... ] } */
详情请参考 指令说明。
jsBridge.xprinter.writePos76({ cmds: [ { //初始化打印机 cmd: "initializePrinter", arg: [] }, { //打印文字 cmd: "text", arg: [ "XP-76xx 系列针式打印机" ] }, { //打印并换行 cmd: "printAndFeedLine", arg: [ ] } ] }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } }); /* 1.支持的指令集请参考打印设备的【官方文档】; 2.指令使用说明 { //指令列表 cmds: [ //单个指令包括指令名称和参数 { cmd: "", //指令名称,即文档里面的方法名称,注意区分大小写 arg: [] //指令参数,即对应的方法参数,注意参数顺序和类型需与文档一致 //Bitmap 图片类型请使用图片的 Base64 编码字符串 //BmpType,AlignType 枚举类型请使用枚举名称字符串 //byte[] 二进制数组请使用16进制字符串表示 }, ... ] } */
详情请参考 指令说明。
jsBridge.xprinter.writePos80({ cmds: [ { //初始化打印机 cmd: "initializePrinter", arg: [] }, { //设置绝对打印位置 cmd: "setAbsolutePrintPosition", arg: [ 50, 0 ] }, { //字体大小 cmd: "selectCharacterSize", arg: [ 17 ] }, { //打印文字 cmd: "text", arg: [ "商品" ] }, { //设置绝对打印位置 cmd: "setAbsolutePrintPosition", arg: [ 250, 0 ] }, { //打印文字 cmd: "text", arg: [ "价格" ] }, { //打印并换行 cmd: "printAndFeedLine", arg: [ ] }, { //打印并换行 cmd: "printAndFeedLine", arg: [ ] }, { //初始化打印机 cmd: "initializePrinter", arg: [] }, { //设置绝对打印位置 cmd: "setAbsolutePrintPosition", arg: [ 30, 0 ] }, { //打印文字 cmd: "text", arg: [ "黄焖鸡" ] }, { //设置绝对打印位置 cmd: "setAbsolutePrintPosition", arg: [ 220, 0 ] }, { //打印文字 cmd: "text", arg: [ "5元" ] }, { //打印并换行 cmd: "printAndFeedLine", arg: [ ] } ] }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } }); /* 1.支持的指令集请参考打印设备的【官方文档】; 2.指令使用说明 { //指令列表 cmds: [ //单个指令包括指令名称和参数 { cmd: "", //指令名称,即文档里面的方法名称,注意区分大小写 arg: [] //指令参数,即对应的方法参数,注意参数顺序和类型需与文档一致 //Bitmap 图片类型请使用图片的 Base64 编码字符串 //BmpType,AlignType 枚举类型请使用枚举名称字符串 //byte[] 二进制数组请使用16进制字符串表示 }, ... ] } */