敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,云顶集团3118-云顶集团3118acm登录入口。
♦ 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)); });