js调用斑马打印机打印二维码
斑马打印机打印二维码
项目(Web项目)功能中存在生成并打印二维码的功能,需要借助打印机打印出二维码。由于业务需求二维码需要打印在不干胶的材料上并可以进行粘贴,所以借助斑马打印机通过热敏不干胶纸进行打印。
需要结合所使用的的斑马打印机的型号,去官网下载相关的浏览器打印插件。(使用的是GT800型号,可以下载Browser Print)
zebra官网地址
下载适用于Windows PC的Browser Print,同时还可以下载javaScript库或者查看Browser Print产品支持。
下载完成后解压,得到安装包并进行安装。
2. 然后通过javaScript库的参考示例编写打印二维码的功能。
//斑马打印机用 var selected_device; var errorCallback = function(errorMessage){ alert("Error: " + errorMessage); } //斑马打印机用 function setup() { //首先从应用程序中获取默认设备。 BrowserPrint.getDefaultDevice("printer", function(device) { //添加设备 selected_device = device; }, function(error){ alert(error); }) } setup(); //发送打印机ZPL Label var writeToSelectedPrinter = function(dataToWrite){ var printString = '^XA^JMA^LL450^PW700^MD0^PR3^PON^LRN^LH0,0^CI26^FO200,30^BQN,2,5^FDHM,B0200'+ dataToWrite + '^FS^XZ'; selected_device.send(printString, undefined, errorCallback); }
其中^BQN,2,10是指定二维码,指令格式如下:
^BQa,b,c
a代表二维码方向,默认是N
b代表二维码的版本,可选值有(1,2),1是原始版本,2是增强版本,推荐用2。
c代表二维码的放大程度,可选值(1-10)
(注意二维码的打印还需要与 ^FD 配合,当我们使用 ^BQ 这个函数时,^FD 必须设置相关的参数 ^FDab , cd^FS)
a:错误纠正率,(H,Q,M,L)H是超高可靠度,L是高密度,建议使用H
b:数据输入模式,(A,M)A是自动模式(参数c可省略),M是手动模式(需要指定参数c的字符类型)
c:字符模式,N — 数字,A — 字符,B — 字节,K — Kanji(日文汉字)
d:二维码的内容
(具体的ZPL语言内容没有深度了解,仅供参考)
其中的dataToWrite变量为生成的二维码信息并经过压缩和加密后的字符串。
3. 然后根据需要进行二维码打印方法调用即可。