0 %

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

2025-12-07 12:02:23

蓝牙状态及权限管理

蓝牙插件

转到 

蓝牙 插件说明、接口文档

请使用 ble 的 getState、requestEnable、requestPermission 等接口检测设备蓝牙状态并申请权限。

初始化

init 初始化打印服务

运行

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

jsBridge.xprinter.init(function(success, res) {

alert(success ? "初始化成功" : "失败\n" + JSON.stringify(res));

});

设备/连接/断开 SDK文档

checkLinkedState 检查连接状态

运行

jsBridge.xprinter.checkLinkedState(function(success, data) {

alert(success ? "已连接" : "未连接");

});

connectBtPort 连接蓝牙

运行

address:

jsBridge.xprinter.connectBtPort({

//蓝牙MAC地址

address: "{{connectBtPort.address}}"

}, function(success, res) {

alert(success ? "成功" : "失败\n" + JSON.stringify(res));

});

connectUsbPort 连接USB

运行

address:

jsBridge.xprinter.connectUsbPort({

//USB

address: "{{connectUsbPort.address}}"

}, function(success, res) {

alert(success ? "成功" : "失败\n" + JSON.stringify(res));

});

connectNetPort 连接网络

运行

address:

port:

jsBridge.xprinter.connectNetPort({

//IP地址

address: "{{connectNetPort.address}}",

//端口号

port : {{connectNetPort.port}}

}, function(success, res) {

alert(success ? "成功" : "失败\n" + JSON.stringify(res));

});

disconnectCurrentPort 断开当前连接

运行

jsBridge.xprinter.disconnectCurrentPort(function(success, res) {

alert(success ? "成功" : "失败\n" + JSON.stringify(res));

});

disconnetNetPort 断开网络连接

运行

jsBridge.xprinter.disconnetNetPort(function(success, res) {

alert(success ? "成功" : "失败\n" + JSON.stringify(res));

});

getBtAvailableDevice 获取空闲的蓝牙设备

运行

jsBridge.xprinter.getBtAvailableDevice(function(success, res) {

alert(JSON.stringify(res));

});

onDiscovery 找设备列表

运行

jsBridge.xprinter.onDiscovery(function(success, res) {

alert(JSON.stringify(res));

});

发送数据到打印机

write 写入数据到打印机

运行

jsBridge.xprinter.write({

//16进制字符串,打印指令及数据

data: ""

}, function(success, res) {

if (!success) {

alert(JSON.stringify(res));

}

});

writeSendData 写入数据到打印机

运行

jsBridge.xprinter.writeSendData({

//16进制字符串数组,打印指令及数据

datas: [

]

}, function(success, res) {

if (!success) {

alert(JSON.stringify(res));

}

});

writeDataByUSB 写入数据到打印机

运行

jsBridge.xprinter.writeDataByUSB({

//16进制字符串数组,打印指令及数据

datas: [

]

}, function(success, res) {

if (!success) {

alert(JSON.stringify(res));

}

});

打印指令

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(success, res) {

if (!success) {

alert(JSON.stringify(res));

}

});

/*

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(success, res) {

if (!success) {

alert(JSON.stringify(res));

}

});

writeTSC 条码打印机系列 - XP-460B型号

运行

//多行文本、处理换行

const createTextsCmd = (texts) => {

const cmds = [];

let height = 50;

const newLine = (line) => {

//双引号 " 需转为 \["]

line = line.replace('"', '\\["]');

cmds.push({

cmd: "text",

arg: [50, height, "TSS24.BF2", 0, 3, 3, line]

});

height += 100;

}

texts.forEach(text => {

//3号字大小时一行只能打印20个字节,处理换行

let count = 0;

let line = "";

for (let i = 0; i < text.length; i++) {

count += (text.charCodeAt(i) > 255) ? 2 : 1;

line += text[i];

if (count >= 19) {

newLine(line);

count = 0;

line = "";

}

}

if (line.length) newLine(line);

})

return {

cmds: cmds,

height: height

};

};

let cmds = [

{

//清除缓冲

cmd: "cls",

arg: []

},

{

//设置标签纸大小

cmd: "sizeBymm",

arg: [100, 150]

},

{

//设置间隙

cmd: "gapBymm",

arg: [2, 0]

}

];

//头部多行文本

const head = createTextsCmd([

"订单:YR-53089",

"品名:25Q立体绒高筒袜三双组",

"规格:G深林王国 M码",

"数量:300双"

]);

cmds = cmds.concat(head.cmds);

cmds = cmds.concat([

{

//条码

cmd: "barCode",

arg: [80, head.height, "128", 100, 1, 0, 6, 18, "1504709"]

},

{

cmd: "text",

arg: [50, (head.height += 200), "TSS24.BF2", 0, 2, 2, "包装:________ 员工:________"]

},

{

cmd: "text",

arg: [50, (head.height += 100), "TSS24.BF2", 0, 2, 2, "________ 年 ___ 月 ___ 日"]

},

{

//条码

cmd: "barCode",

arg: [80, (head.height += 120), "128", 100, 1, 0, 6, 18, "2509290024"]

},

{

//打印1份

cmd: "print",

arg: [1]

}

]);

jsBridge.xprinter.writeTSC ({

//指令列表,参考设备厂商的指令手册

cmds: cmds

}, function (success, res) {

if (!success) {

alert(JSON.stringify(res));

}

});

writeTSC 条码打印机系列 - 连接打印机后立即打印

运行

address:

//某些型号的打印机可能会出现接口没响应的情况

//建议打印前都重连一下设备

jsBridge.xprinter.connectBtPort({

//蓝牙MAC地址

address: "{{connectBtPort.address}}"

}, function(success, res) {

if (success) {

jsBridge.xprinter.writeTSC({

//指令列表

cmds: [

{

//清除缓冲

cmd: "cls",

arg: []

},

{

//条码

cmd: "barCode",

arg: [ 10, 45, "128", 100, 1, 0, 2, 2, "abcdef12345" ]

},

{

//打印1份

cmd: "print",

arg: [ 1 ]

}

]

}, function(success, res) {

if (!success) {

alert("打印失败 " + JSON.stringify(res));

}

});

} else {

alert("连接打印机失败");

}

});

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(success, res) {

if (!success) {

alert(JSON.stringify(res));

}

});

/*

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(success, res) {

if (!success) {

alert(JSON.stringify(res));

}

});

/*

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(success, res) {

if (!success) {

alert(JSON.stringify(res));

}

});

/*

1.支持的指令集请参考打印设备的【官方文档】;

2.指令使用说明

{

//指令列表

cmds: [

//单个指令包括指令名称和参数

{

cmd: "", //指令名称,即文档里面的方法名称,注意区分大小写

arg: [] //指令参数,即对应的方法参数,注意参数顺序和类型需与文档一致

//Bitmap 图片类型请使用图片的 Base64 编码字符串

//BmpType,AlignType 枚举类型请使用枚举名称字符串

//byte[] 二进制数组请使用16进制字符串表示

},

...

]

}

*/

Posted in 世界杯小组赛分组
Copyright © 2088 2034年世界杯_足球中国世界杯预选赛 - qdhuaxue.com All Rights Reserved.
友情链接