APP端连接打印机打印小票和标签

uniapp 手机端打印标签的方式有两种,一种就是连接蓝牙打印机打印,缺点是不可以同时打印,另一种就是手机端连接socket进行打印,推荐电脑端使用hiprint软件

现在就介绍手机端连接socket的方式,下一篇介绍手机连蓝牙打印

  • 首先电脑端安装一个hiprint,安装之后就是这样的,电脑端要连接打印机

  •  uniapp连接打印服务

npm i socket.io-client --save

import io from '@hyoga/uni-socket.io';


let socket = io('http://192.168.66.101:17521', {
  transports: ['websocket'],
  auth: {
    token: 'Bearer ' + this.vuex_token, // 在此处填入你 client 设置的 token,缺省可留空
  },
});

socket.on('connect', () => {
  console.log('连接成功444');
  // TODO: Do something for your project
});
socket.on('clients', (clients) => {
  console.log(clients, 'clients');
});
socket.on('printerList', (printerList) => {
  // console.log(printerList, 'printerList');
});
socket.on('success', (res) => {
  console.log(res, '打印成功');
});

socket.on('error', (res) => {
  console.log(res, '打印失败');
});
socket.on('disconnect', () => {
  console.log('打印机断开');
  this.createSocket() // 重新连接的函数
});
getApp().globalData.socket = socket
  • 如果连接成功,电脑端的打印服务会有提醒。
  • 然后就开始我们的打印, 由于后端接口是返回pdf的url,所以我用了type: 'url_pdf',有其他文件形式可以参考

electron-hiprint: vue-plugin-hiprint 直接打印客户端;web无预览打印;支持 Mac、Win、Linux 系统;支持 IPP 打印、获取 MAC、IP 地址等

getApp().globalData.socket.emit('news', {
  client: null,
  printer: 'CT-428D', // 打印机名字
  type: 'url_pdf',
  orientation: 'portrait',
  pdf_path: 'http://192.168.9.42:8082/static/123.pdf',
});

要注意的是,打印的方向和纸张大小,偏移量要在自己本机设置

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值