uniapp调用zebra斑马打印机打印标签

1,764 阅读1分钟

现在项目上有个需求是要在手持pda上,通过点击按钮打印二维码及文字标签,打印机设备是斑马标签打印机,pda是安卓机

经查阅资料后,目前可实现的方案有以下几种:

1.通过蓝牙连接打印机打印

2.通过打印机IP和端口,使用soket连接打印机打印

方案1:通过蓝牙

uniapp前端检测当前pda已连接的蓝牙设备,调用蓝牙打印机的打印事件;

但是由于斑马打印机系统蓝牙的设定(安卓设备蓝牙连接打印机时,打印机的蓝牙会自动断开),必须在pda上下载斑马提供的app,由斑马app进行蓝牙连接,这样才能保持蓝牙长连;

另外,当生产环境中,pda数量较多时,打印机同时进行蓝牙连接的数量有限 相关资料:(原生蓝牙打印插件通用机型 - DCloud 插件市场

方案2:通过IP和端口

通过打印机的IP和端口使用soket连接打印机,然后导入斑马打印机的SDK,使用斑马的ZPL语言(GitHub - btmood/zbreazpldemo: 斑马打印机ZPL编程Demo)进行标签打印 相关资料:前端连接打印机((43条消息) uniapp实现打印功能_uniapp 打印功能_嗬呜阿花的博客-CSDN博客

如果打印中文出现乱码,可以用以下方案:

// 将
var outputStreamWriter = new OutputStreamWriter(socket.getOutputStream());
// 替换为
var outputStreamWriter = new OutputStreamWriter(socket.getOutputStream(),'gbk');