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. 然后根据需要进行二维码打印方法调用即可。

posted @ 2024-02-28 12:02  _成飞  阅读(326)  评论(0编辑  收藏  举报