Uniapp 蓝牙打印

353 阅读4分钟

BluetoothPrintingPlugin

简介

一个可定制打印的蓝牙打印插件

预览

引用

// 引用插件
const bluetoothPrinting = uni.requireNativePlugin("Chen-BluetoothPrinting")

getPrinters(CACLLBACK)

获取连接打印机列表

CACLLBACK参数说明

参数类型说明
successBoolean是否成功
codeInt状态码
messageString返回信息
dataArray打印机列表

data参数说明

参数类型说明
nameString打印机名称
macString打印机mac地址

示例

bluetoothPrinting.getPrinters((res) => {
  if (res.success){
    // ...
  }
})

printImage(OPTIONS,CACLLBACK)

打印图像

属性说明

参数类型必填说明
printerString打印机名称
urlString打印图像路径

CACLLBACK参数说明

参数类型说明
successBoolean是否成功
codeInt状态码
messageString返回信息

示例

var image = "https://camo.githubusercontent.com/e8655ffec747c97deca7fc72fc8e174f2bbcff0ca99024616569d63d58c02b2c/68747470733a2f2f64616e7473752e636f6d2f66696c65732f726563656970742d746865726d616c2d7072696e7465722e706e673f31"

bluetoothPrinting.printImage({
  "printer": "xxxx",
  "url": image
},(res) => {
  if (res.success){
    // ...
  }
})

printText(OPTIONS,CACLLBACK)

打印内容(文本、条形码、二维码等)

属性说明

参数类型必填说明
printerString打印机名称
textString打印内容

CACLLBACK参数说明

参数类型说明
successBoolean是否成功
codeInt状态码
messageString返回信息

示例

var content = "[L]\n" +
        "[C]<u><font size='big'>ORDER N°045</font></u>\n" +
        "[L]\n" +
        "[C]================================\n" +
        "[L]\n" +
        "[L]<b>BEAUTIFUL SHIRT</b>[R]9.99e\n" +
        "[L]  + Size : S\n" +
        "[L]\n" +
        "[L]<b>AWESOME HAT</b>[R]24.99e\n" +
        "[L]  + Size : 57/58\n" +
        "[L]\n" +
        "[C]--------------------------------\n" +
        "[R]TOTAL PRICE :[R]34.98e\n" +
        "[R]TAX :[R]4.23e\n" +
        "[L]\n" +
        "[C]================================\n" +
        "[L]\n" +
        "[L]<font size='tall'>Customer :</font>\n" +
        "[L]Raymond DUPONT\n" +
        "[L]5 rue des girafes\n" +
        "[L]31547 PERPETES\n" +
        "[L]Tel : +33801201456\n" +
        "[L]\n" +
        "[C]<barcode type='ean13' height='10'>831254784551</barcode>\n" +
        "[C]<qrcode size='20'>https://dantsu.com/</qrcode>"

bluetoothPrinting.printText({
  "printer": "xxxx",
  "text": content
},(res) => {
  if (res.success){
    // ...
  }
})

打印内容格式

换行
使用 \n 创建新的文本行。

对齐
[L]:左侧对齐
[C]:居中对齐
[R]:右侧对齐

示例:
[L]一些文本:左侧对齐的一列
[C]一些文本:中心对齐的一列
[R]一些文本:右侧对齐的一列
[L]一些文本[L]另一些文本:两列左侧对齐。另一些文本从纸张的中心开始。
[L]一些文本[R]另一些文本:两列,第一列左侧对齐,第二列右侧对齐。其他文本打印在右侧的纸张上。
[L]一些[R]文本[R]这里:三列。
[L][R]文本[R]这里:三列。第一个是空的,但它占用了可用空间的三分之一。

字体
<font></font>标记允许您更改字体大小和颜色。默认大小为正常 / 黑色。
<font size='normal'>一些文本</font>:正常大小
<font size='wide'>一些文本</font>:中等尺寸的两倍宽度
<font size='tall'>一些文本</font>:中等尺寸的两倍高度
<font size='big'>一些文本</font>:中等尺寸的两倍宽度和高度
<font size='big-2'>一些文本</font>:3倍宽度和高度
<font size='big-3'>一些文本</font>:4倍宽度和高度
<font size='big-4'>一些文本</font>:5倍宽度和高度
<font size='big-5'>一些文本</font>:6倍宽度和高度
<font size='big-6'>一些文本</font>:7倍宽度和高度
<font color='black'>一些文本</font>:黑色文本 - 白色背景
<font color='bg-black'>一些文本</font>:白色文本 - 黑色背景
<font color='red'>一些文本</font>:红色文本 - 白色背景(不适用于所有打印机)
<font color='bg-red'>一些文本</font>:白色文本 - 红色背景(不适用于所有打印机)

粗体
<b></b>标记允许您更改字体粗细。
<b>一些文本</b>

下划线
<u></u>标记允许您给文本加下划线。
<u>一些文本</u> 带下划线的文本
<u type='double'>一些文本</u> 文本加粗(不适用于所有打印机)

条形码
<barcode></barcode> 标记允许您打印条形码。在标记内部,您需要编写要打印的代码编号。
<barcode> 451278452159 </barcode>:(12 位数字)
打印 EAN13 条形码 (高度:10mm,宽度:~70% 打印机宽度,文本:显示在下方)。
<barcode type='ean8'> 4512784 </barcode>:(7 位数字)
打印 EAN8 条形码 (高度:10mm,宽度:~70% 打印机宽度,文本:显示在下方)。
<barcode type='upca' height='20'> 4512784521 </barcode>:(11 位数字)
打印 UPC-A 条形码 (高度:20mm,宽度:~70% 打印机宽度,文本:显示在下方)。
<barcode type='upce' height='25' width='50' text='none'> 512789 </barcode>:(6 位数字)
打印 UPC-E 条形码 (高度:25mm,宽度:~50mm,文本:隐藏)。
<barcode type='128' width='40' text='above'> DantSu </barcode>:(字符串)
打印条形码 128 (高度:10mm,宽度:~40mm,文本:显示在上方)。

⚠ 警告 ⚠:此标记有几个约束条件:
包含 <barcode></barcode> 的行只能有一个对齐标记,并且它必须位于行的开头。
<barcode> 必须直接由空白或对齐标记 ( [L][C][R] ) 直接前置。
</barcode> 必须直接后跟一个换行符 \n。
您不能在包含 <barcode></barcode> 的行上写文字。

二维码
<qrcode></qrcode>标记允许您打印QR码。
<qrcode>https://dantsu.com/</qrcode>:打印一个宽度和高度为20毫米的二维码。
<qrcode size='25'>123456789</qrcode>:打印一个宽度和高度为25毫米的二维码。
⚠ 警告 ⚠:此标记有几个限制:
包含 <qrcode></qrcode> 的行只能有一个对齐标记,并且必须位于行的开头。
<qrcode> 必须直接前面是空白或对齐标记([L][C][R])。
</qrcode> 必须直接后跟一个换行符 \n。
您不能在包含 <qrcode></qrcode> 的行上写文字。

插件地址