首页 > 其他分享 >js调用斑马打印机打印二维码

js调用斑马打印机打印二维码

时间:2024-02-28 12:11:17浏览次数:25  
标签:function 打印机 打印 js 二维码 device 斑马

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

标签:function,打印机,打印,js,二维码,device,斑马
From: https://www.cnblogs.com/sttchengfei/p/18039897

相关文章

  • Java中使用Jsoup实现网页内容爬取与Html内容解析并使用EasyExcel实现导出为Excel文件
    场景Pythont通过request以及BeautifulSoup爬取几千条情话:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/87348030Node-RED中使用html节点爬取HTML网页资料之爬取Node-RED的最新版本:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/124182289Jsoup......
  • 在spark sql中解析json格式数据
    一、实际的sql语句:selectapp_id,event_time, event, spm_b_code, spm_c_code, spm_d_code, spm_biz_type, user_id, user_id_type, seat_code, spm_content_type, sourcefromxxx_yyy_zzztlateralview_json_tuplet(t.ext_props,......
  • 二维码的背后故事:为用户带来的便捷与安全
    一、二维码的起源二维码是一种将信息编码成二维图案的技术。它的起源可以追溯到上世纪90年代初,当时条形码已经被广泛应用于商业领域。然而,条形码的局限性和不足促使人们寻找一种更高效、更灵活的信息编码方式,于是二维码应运而生。二维码生成器|一个覆盖广泛主题工具的高效......
  • uni-app的renderjs示例 | app端使用window
    原文:https://juejin.cn/post/6974552469917401125<template><viewstyle="padding-top:200rpx;"><!--这里的:change:msg旨在于监听逻辑层的msg变化,有变化就调用renderjs内容--><!--这里要注意,render。receiveMsg中的render是下面renderjs定义的module名称-->......
  • Yaml与Json的对比
    YAML格式:server:#服务器配置port:8043#端口号为8043spring:#Spring配置datasource:#数据源配置url:jdbc:mysql://localhost:3306/hbs?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&failOv......
  • python3的json数据库-TinyDB效率篇
    安装了这个TinyDB库后,我突然想到一般来说python执行的速度并不算高,那这个库写文件速度如何呢?测试代码如下:fromtinydbimportTinyDBimporttime#创建数据库对象db=TinyDB('db.json')milliseconds1=int(time.time()*1000)db.insert({'type':'apple','count':......
  • three.js使用 CSS2DRenderer
    导入 import{CSS2DRenderer,CSS2DObject}from'three/examples/jsm/renderers/CSS2DRenderer';functioncreateLableObj(text,vector){letlaberDiv=document.createElement('div');//创建div容器laberDiv.className='laber_name......
  • AngularJs 数据渲染完成之后,执行回调方法
     请求远程数据--》数据模型变化--》angularjs监控到模型变化--》重新渲染页面。 注册一个自定义的指令.directive('OnReanderFinsh',[function(){return{restrict:'A',link:function($scope,element,attrs,controller){......
  • python3的json数据库-TinyDB
    无意间看到TinyDB这个词汇,就去查了一下,就发现了它的官方网站这里然后就是按照他说的步骤去做。第1步安装  pip3installtinydb 安装成功后,创建一个文件名字叫做 test.py,输入下面的代码:fromtinydbimportTinyDB,Query#创建数据库对象db=TinyDB('db.json')#......
  • 【18.0】JavaScript之JS事件案例
    【一】开关灯示例<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>.c1{height:400px;width:40......