敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,威尼斯人888-5845vip威尼斯电子游戏。
♦ js-sdk 引用方式:
♦ 普通网页 script 方式加载:下载最新版 ,请在页面上调用 jsbridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge
♦ 部分接口的 js api 映射,详细用法请参考 sdk 文档的同名函数;
连接与设置
jsbridge.prt.getusbprinters(function(succ, data) {
//获取成功时 data 为字符串数组类型(即所有联机的 usb 打印机路径)
alert((succ ? "成功\n" : "失败\n") json.stringify(data));
});
jsbridge.prt.open({
//字符串类型,usb 打印机路径(请调用 getusbprinters 接口获取)
usb: "/dev/bus/usb/001/008"
}, function(succ, data) {
alert(succ ? "成功" : "失败\n" json.stringify(data));
});
jsbridge.prt.close(function(succ, data) {
alert("已关闭");
});
jsbridge.prt.initprinter(function(succ, data) {
alert(succ ? "成功" : "失败\n" json.stringify(data));
});
jsbridge.prt.setfont({
//数字类型,字符类型
charactertype: 0,
//数字类型,倍宽
width : 1,
//数字类型,倍高
height : 1,
//数字类型,加粗
bold : 0,
//数字类型,下划线
underline: 0
}, function(succ, data) {
alert(succ ? "成功" : "失败\n" json.stringify(data));
});
jsbridge.prt.setprinter({
//数字类型,命令(如 13 为 align 对其)
command: 13,
//数字类型,值(如 1 为 align_center 居中)
value : 1
}, function(succ, data) {
alert(succ ? "成功" : "失败\n" json.stringify(data));
});
/*
命令及值参考:
init_printer = 0;
wake_printer = 1;
print_and_return_standard = 2;
print_and_newline = 3;
print_and_enter = 4;
move_next_tab_position = 5;
def_line_spacing = 6;
print_and_wake_paper_by_lnch =
print_and_wake_paper_by_line =
clockwise_rotate_90 = 4;
align = 13;
align_left = 0;
align_center = 1;
align_right = 2;
line_height = 10;
character_right_margin = 11;
underline = 15;
underline_off = 16;
underline_one_dote = 17;
underline_two_dote = 18;
font_mode = 16;
font_size = 17;
*/
jsbridge.prt.setleftmargin({
//数字类型
leftmargin: 2
}, function(succ, data) {
alert(succ ? "成功" : "失败\n" json.stringify(data));
});
jsbridge.prt.cutpaper({
//数字类型
cuttertype: 48,
//数字类型
length : 0
}, function(succ, data) {
alert(succ ? "成功" : "失败\n" json.stringify(data));
});
jsbridge.prt.ringbuzzer({
//数字类型,鸣响秒数
time: 1
}, function(succ, data) {
alert(succ ? "成功" : "失败\n" json.stringify(data));
});
jsbridge.prt.blacklablefind(function(succ, data) {
alert(succ ? "成功" : "失败\n" json.stringify(data));
});
jsbridge.prt.resetfeeddistance(function(succ, data) {
alert(succ ? "成功" : "失败\n" json.stringify(data));
});
打印
jsbridge.prt.sendbytesdata({
//字符串类型,16进制
hexbytes: "eb129f00"
}, function(succ, data) {
alert(succ "\n" json.stringify(data));
});
jsbridge.prt.printtext({
//字符串类型
text: "hello world"
}, function(succ, data) {
alert(succ "\n" json.stringify(data));
});
jsbridge.prt.printimage({
//字符串类型,图片的 base64 编码
imageasbase64: "ivborw0kggoaaaansuheugaaabaaaaaqcayaaaaf8/9haaaaaxnsr0iars4c6qaaatjjrefuoe t0z8ormeyx/hpm9fenvcguwxgmuii42w2bgygtazszmcqnzpnmtcyljrreyuymjqynoemx ssjrrqvuvu4c3byv3p8pye6/rev f6u/p2dgik02jcbp6hn4velcm1sv4prgaidymxdpmfzyxnsqs8yb7777gqpuieq1 igxciyxx9kjw/l2ilzqhowkmbi6cvwmcobgvobn4nl h4ewbocixtsmaaspffcj60uxyjwgqgso14labjwmin4ty4rdjfexas9pib1w40waqfb6j qimo2vc3xheziaq5mv460i/t9l6g4xptziabxkf5meqp7nmb0d3iimvudoisdsdyazaomf8z5rjjvtx49zypfuqgulefs/izntx3lilrytl2y6tsisuwjd l/gq5nudlpw/eoqaaaabjru5erkjggg==",
//数字类型,对其方式 0 none, 1 start, 2 center, 3 end
align : 0,
//数字类型,当 align 为 0 时左边的距离
left : 0,
//是否压缩
iscompressed : false
}, function(succ, data) {
alert(succ "\n" json.stringify(data));
});
jsbridge.prt.printtable({
//列
column: {
//列名(用 splitter 参数指定的分割符分割)
name : "品名;数量;单价;金额",
//列名分隔符
splitter: ";",
//列宽
width: [14, 6, 6, 6]
},
//行 - 字符串数组(用 splitter 参数指定的分隔符分割)
rows: [
"保鲜袋;1;10.00;10.00",
"铁丝挂钩;2;5.00;10.00",
"雨伞;3;15.00;45.00"
]
}, function(succ, data) {
alert(succ "\n" json.stringify(data));
});