更新记录

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

使用方法

  1. 下载或clone本项目到本地
  2. 引入本项目的js-sdk文件,在需要进行蓝牙打印的页面引入js-sdk文件,并初始化打印机对象
  3. 开始调用打印
    // 指令打印
    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, heightdata属性

beginPrint

开始打印

  • 参数
    • number (number): 打印张数

getCommand

获取打印命令

  • 返回值
    • (string): 打印命令字符串,多个命令用逗号分隔

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<!--允许程序连接到已配对的蓝牙设备--!> <uses-permission android:name="android.permission.BLUETOOTH" /> <!--允许程序发现和配对蓝牙设备--!> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议