更新记录
1.0.1(2025-09-11) 下载此版本
更新说明文档
1.0.0(2025-09-11) 下载此版本
初始化
平台兼容性
uni-app(4.07)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | × | × | √ | √ | √ | √ | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ | - | - |
uni-app x(4.07)
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | - | - | - | - |
其他
多语言 | 暗黑模式 | 宽屏模式 |
---|---|---|
√ | √ | √ |
FXX-BLUETOOTH-PRINT
支持指令进行蓝牙打印,理论上可以支持所有移动设备和支持指令的打印机,有附带demo进行测试,源码都是使用uni-app的api+ts实现,属于兼容app和小程序的一个js-sdk
使用方法
- 下载或clone本项目到本地
- 引入本项目的js-sdk文件,在需要进行蓝牙打印的页面引入js-sdk文件,并初始化打印机对象
- 开始调用打印
// 指令打印 import {BluetoothPrint} from "@/uni_modules/FXX-BLUETOOTH-PRINT/js_sdk"; // 测试指令数据-demo项目中有 在引入的这个路径里面 import {cpclData} from "@/pages/index/demoData"; // 组成指令的字符串方法 import {printerTspl} from "@/uni_modules/FXX-BLUETOOTH-PRINT/js_sdk/tspl"; const bluetooth = new BluetoothPrint() const deviceList = ref([]) onMounted(() => { bluetooth.searchDevices((list) => { deviceList.value = list }) }) // 传入搜索的列表中设备的id bluetooth.connectDevice(deviceId) // 连接成功后调用打印 我这里是写了一个cpcl指令demo this.bluetooth.print(cpclData)
// 传参打印 const instance = new printerTspl() instance.initCanvas(72, 48); instance.setDirection("1") instance.clearCanvas(); instance.printText(20, 30, "0", 0, 1.0, 1.0, "供应商:xx测试"); instance.printText(20, 70, "0", 0, 1.0, 1.0, "件号:25251212062310525600010"); instance.printText(20, 120, "0", 0, 1.0, 1.0, "名称:大一级"); instance.beginPrint(1); bluetooth.print(instance.getCommand())
printerTspl 使用说明
printerTspl 类文档
方法
initCanvas
设置标签纸大小(画板大小)
- 参数
width
(number): 标签宽度height
(number): 标签高度
clearCanvas
清除缓存
setDirection
设置打印方向
- 参数
direction
(number): 打印方向 取值0和1 一正一反
printText
打印文字
- 参数
x
(number): x坐标y
(number): y坐标font
(string): 字体类型reg
(string): 字体方向和位置fontWidth
(number): 字体宽度(1-10)fontHeight
(number): 字体高度(1-10)content
(string): 打印内容
printMultilineText
打印多行文字,自动换行
- 参数
labelWidth
(number): 标签宽度x
(number): x坐标y
(number): y坐标fontWidth
(number): 字体宽度(1-10)fontHeight
(number): 字体高度(1-10)space
(number): 换行后,每行之间的间距content
(string): 打印内容
printBar
打印线条(直线或者竖线)
- 参数
x
(number): x坐标y
(number): y坐标width
(number): 线条宽度height
(number): 线条高度
printBarCode
打印条码
- 参数
x
(number): x坐标y
(number): y坐标codeType
(string): 条码类型height
(number): 条码高度barcodeTextAlign
(string): 条码文字位置rotation
(number): 旋转narrow
(number): 窄比例因子(可调条码宽度)other
(string): 其他设置content
(string): 条码内容
printQrCode
打印二维码
- 参数
x
(number): x坐标y
(number): y坐标level
(number): 二维码的纠错级别width
(number): 二维码大小rotation
(string): 旋转角度(如 "0", "90", "180", "270")content
(string): 内容
printBitmap
打印图片
- 参数
x
(number): x坐标y
(number): y坐标res
(Object): 图片数据对象,包含width
,height
和data
属性
beginPrint
开始打印
- 参数
number
(number): 打印张数
getCommand
获取打印命令
- 返回值
- (string): 打印命令字符串,多个命令用逗号分隔