WebApp快捷打包
芯烨标签打印机
转到模块插件

敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多

JS-SDK 引用方式:

♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241115.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;

♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package

珠海芯烨电子

♦ 芯烨官方 SDK 参考文档

初始化

init 初始化打印服务

• 其他接口之前应调用 init 初始化打印服务,只需调用一次。

jsBridge.xprinter.init(function(succ, data) {
  alert(succ ? "初始化成功" : "失败\n" + JSON.stringify(data));
});

设备/连接/断开 SDK文档

checkLinkedState 检查连接状态

jsBridge.xprinter.checkLinkedState(function(succ, data) {
  alert(succ ? "成功" : "失败\n" + JSON.stringify(data));
});

connectBtPort 连接蓝牙

address:

jsBridge.xprinter.connectBtPort({
  //蓝牙MAC地址
  address: $("#connectBtPort_address").val()
}, function(succ, data) {
  alert(succ ? "成功" : "失败\n" + JSON.stringify(data));
});

connectUsbPort 连接USB

address:

jsBridge.xprinter.connectUsbPort({
  //USB
  address: $("#connectUsbPort_address").val()
}, function(succ, data) {
  alert(succ ? "成功" : "失败\n" + JSON.stringify(data));
});

connectNetPort 连接网络

address:

jsBridge.xprinter.connectNetPort({
  //IP地址
  address: $("#connectNetPort_address").val(),
  //端口号
  port   : 9100
}, function(succ, data) {
  alert(succ ? "成功" : "失败\n" + JSON.stringify(data));
});

disconnectCurrentPort 断开当前连接

jsBridge.xprinter.disconnectCurrentPort(function(succ, data) {
  alert(succ ? "成功" : "失败\n" + JSON.stringify(data));
});

disconnetNetPort 断开网络连接

jsBridge.xprinter.disconnetNetPort(function(succ, data) {
  alert(succ ? "成功" : "失败\n" + JSON.stringify(data));
});

getBtAvailableDevice 获取空闲的蓝牙设备

jsBridge.xprinter.getBtAvailableDevice(function(succ, data) {
  alert(JSON.stringify(data));
});

onDiscovery 找设备列表

jsBridge.xprinter.onDiscovery(function(succ, data) {
  alert(JSON.stringify(data));
});

发送数据到打印机

write 写入数据到打印机

jsBridge.xprinter.write({
  //16进制字符串,打印指令及数据
  data: ""
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

writeSendData 写入数据到打印机

jsBridge.xprinter.writeSendData({
  //16进制字符串数组,打印指令及数据
  datas: [
  ]
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

writeDataByUSB 写入数据到打印机

jsBridge.xprinter.writeDataByUSB({
  //16进制字符串数组,打印指令及数据
  datas: [
  ]
}, function(succ, data) {
  if (!succ) {
    alert(JSON.stringify(data));
  }
});

打印指令

writeTSC 条码打印机系列 - 使用说明

仅适用于条码打印机系列,详情请参考 指令说明

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进制字符串表示
    },
    ...
  ]
}
*/

writeTSC 条码打印机系列 - 详细测试

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));
  }
});

writePos58 适用于 XP-58xx 系列热敏打印机

详情请参考 指令说明

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进制字符串表示
    },
    ...
  ]
}
*/

writePos76 适用于 XP-76xx 系列针式打印机

详情请参考 指令说明

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进制字符串表示
    },
    ...
  ]
}
*/

writePos80 适用于 XP-80xx 系列热敏打印机

详情请参考 指令说明

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进制字符串表示
    },
    ...
  ]
}
*/