lpapi-ble-dd
TypeScript icon, indicating that this package has built-in type declarations

1.0.20240520 • Public • Published

lpapi-ble-dd

lpapi-ble-dd 是一款基于钉钉小程序本身提供的BLE接口和canvas所封装的标签编辑及蓝牙打印接口,接口通过canvas来按照用户需要进行2D绘图,绘制完毕后将图片内容转换为打印机所支持的指令,然后通过BLE将数据发送到打印机,然后开始打印图片。

注意:本接口包仅针对德佟系列标签打印机

接口包的获取

  1. 通过 npm/yarn 直接下载安装;
npm install lpapi-ble-dd
// 或者
yarn add lpapi-ble-dd
  1. 打开德佟电子官方网站,点击软件下载, 选择SDK开发包下载,然后点击下载蓝牙打印钉钉小程序SDK(含API文档);

使用方法

  1. 引入接口实例

1.1 导入接口包

将下载后的接口包解压缩,然后将解压缩后的 lib 目录下的文件复制到路径合适的目录下,eg: "/js_sdk/lpapi-ble-dd/".

1.2 打开 index.axml 文件,创建一个隐藏的画布,用于进行标签的绘制,canvas 的宽高需要在创建打印任务后动态设置。

<canvas id="{{canvasId}}" width="{{labelWidth}}px" height="{{labelHeight}}px" style="position: fixed;left: -999999rpx;top: -999999rpx;" />

1.3 在目标js文件(eg: index.js)中引入接口包,然后创建接口实例。

import { LPAPIFactory } from "/js_sdk/lpapi-ble-dd/index.js";

export default {
    data() {
        return {
            canvasId: "dothan-lpapi-ble",
        };
    },
    onLoad() {
        this.lpapi = LPAPIFactory.getInstance({
            // 如果需要查看打印日志的话,可以在此配置日志显示状态,0表示不显示,4表示显示所有日志信息。
            // showLog: 4,	// 【可选】
            // 设置画布ID,第一步中创建的画布ID,全局唯一
            canvasId: this.canvasId, // 【必须】
        });
        // 搜索蓝牙设备
        this.lpapi.startBleDiscovery({
            // timeout = 0 表示搜索到匹配的打印机后自动停止搜索,不指定表示会一直搜索下去
            timeout: 0,
            deviceFound: (devices) => {
                // 更新打印机列表
            },
        });
    },
};
  1. 根据实际需要创建指定大小的打印任务,开始打印或者预览;
function printQrcode(data, callback) {
    // 标签宽度,单位毫米
    const labelWidth = 30;
    // 标签高度,单位毫米;
    const labelHeight = 30;
    // 标签转转方向,值为:0,90,180,270,默认为0,表示不做任何的旋转处理;
    const orientation = 0;
    // 二维码外边可以适当的留一点边距;
    const margin = 2;
    // 二维码大小

    const api = this.lpapi;
    // 创建指定大小的打印任务,单位毫米
    const jobInfo = api.startJob({
        width: labelWidth, // 【必填】标签宽度
        height: labelHeight, // 【必填】标签高度
        orientation: orientation, // 【可选】旋转方向
        jobName: "#!#preview#!#", // 【可选】 "#!#preview#!#" 和 "#!#transparent#!#" 是两个特殊的打印任务名称,主要供生成预览图片或者调试使用,不会打印,其他任何字符串都会直接打印;
    });
    // 更新画布大小,单位像素
    this.labelWidth = jobInfo.canvas.width;
    this.labelHeight = jobInfo.canvas.height;
    // 注意,在uni模式下更新canvas画布大小后,画布大小不会立即生效,需要等待画布尺寸更新之后在进行后续操作才可以;
    // 此处可以使用 nextTick或者直接启用定时器
    this.$nextTick(() => {
        // 绘制二维码
        api.draw2DQRCode({
            text: "测试测试测试测试测试测试",
            x: margin,
            y: margin,
            width: labelWidth - margin * 2,
            height: labelHeight - margin * 2,
        });
        //
        api.commitJob({
            complete: (resp) => {
                // 执行打印完毕回调函数
                if(resp.statusCode === 0) {
                    console.log("打印成功!");
                } else {
                    console.log("打印失败!");
                }
            },
        });
    });
}

接口介绍

interface InitOptions {
	/** 用于标签绘制的 canvas ID */
    canvasId: string;
	/** 是否显示相关日志信息 */
    showLog?: number|boolean;
}

export interface LPAPIFactory {
	/**
	 * 通过配置信息获取接口实例对象。
	 */
    static getInstance(context: InitOptions): LPAPI;
}

2.1 setSupportPrefixes(models: string|string[])

功能描述

设置搜索、连接的打印机的型号限定。

参数

models: 待搜索的打印机型号列表。 多个打印机型号可以通过字符串数组来指定,也可以通过";"将多个型号拼接成一个字符串来指定。 在 startBleDiscovery 或者 openPrinter 之前执行此方法,可以限定指定的打印机型号。

2.2 startBleDiscovery(opts: object)

功能描述

获取搜索到的打印机列表。

参数

属性 类型 默认值 必填 说明
models string 链接的目标打印机,不指定会自动搜索打印机
timeout number 单位毫秒。打印机搜索超时时间,0:表示搜索到目标设备后立即停止搜索,大于零表示指定超时时间到了之后自动停止搜索,不指定表示不会自动停止搜索,需要通过 stopBleDiscovery来停止搜索。
interval number 单位毫秒,搜索到设备后,设备上报(回调)间隔
deviceFound function 搜索到蓝牙设备时的回调函数
adapterStateChange function 蓝牙搜索状态变化时的回调函数
success function 蓝牙搜索功能启动成功时的回调函数
fail function 蓝牙搜索功能启动失败,或者扫描停止时的回调函数
complete function 蓝牙设备启动成功、失败、停止、检测到设备等时候的回调函数
  • deviceFound: (devices: LPA_BleDevice[]) => void 回调参数

LPA_BleDevice

属性 类型 说明
name string 设备名称
deviceId string 设备ID
RSSI string 设备信号强度
  • adapterStateChange: (res: Object) => void 回调参数

object res

属性 类型 说明
discovering boolean 设备搜索状态
  • 回调参数 LPA_Response
属性 类型 说明
statusCode number 搜索结果状态码,0表示成功
resultInfo BluetoothDevice[] 蓝牙设备列表
resultInfo[i].name string 设备名称
resultInfo[i].deviceId string 设备ID
resultInfo[i].RSSI string 设备信号强度
  • 回调结果状态码
状态码 说明
0 蓝牙扫描启动成功
-1 检测到蓝牙设备
1 蓝牙搜索已停止(超时时间到或者通过stopBleDiscovery停止)
2 蓝牙适配器打开失败
3 蓝牙扫描打开失败

2.3 openPrinter(opts: object)

功能描述

打开指定名称或型号的打印机。

参数

属性 类型 默认值 必填 说明
name string 打印机名称,如果未指定打印机名称,链接缓存的打印机或者自动搜索打印机
deviceId string 打印机设备ID
success function 接口调用成功回调函数
fail function 接口调用失败回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

  • LPA_Result 状态码:
属性 枚举值 说明
-1 ASYNC_WAIT 异步等待中
0x00 OK 打印成功
0x01 ERROR_PARAM 参数错误
0x02 ERROR_NO_PRINTER 未检测到打印机或者未指定打印机
0x03 ERROR_DISCONNECTED 打印机未连接
0x04 ERROR_CONNECT_FAILED 打印机链接失败
0x05 ERROR_START_NOTIFICATION 数据Notify特征值启动失败
0x06 ERROR_DATA_SEND_ERROR 数据发送失败
0x07 ERROR_DATA_RECEIVE_ERROR 数据接收异常,打印机无响应
0x08 ERROR_IS_PRINTING 打印机正在打印过程中不能打印其他标签
0x09 ERROR_RESPONSE_TIMEOUT 指令发送响应超时
0x10 ERROR_JOB_CREATE 打印任务创建失败
0x11 ERROR_JOB_CANCELED 打印任务被取消
0x12 ERROR_GET_IMAGE_DATA 打印数据获取失败
0x20 ERROR_OTHER 其他未知异常
  • complete 回调函数: (result: Object) => void
属性 类型 说明
statusCode LPA_Result 链接结果状态码,0:表示成功,其他可参考 LPA_Result 枚举详情
resultInfo string 当链接失败的时候会显示错误信息
resultInfo.name string 链接成功时的打印机名称
resultInfo.deviceId string 链接成功时的打印机设备ID
resultInfo.serviceId string 目标打印机服务ID
resultInfo.printerDPI number 打印机打印头分辨率
resultInfo.printerWidth number 打印机打印头宽度
resultINfo.hardwareFlags number 打印机硬件标志位
resultInfo.softwareFlags number 打印机软件标志位
  • success 回调函数:(result: Object) => void 回调参数参考 complete 回调,当打印机链接成功的时候,属性 statusCode 为0;

  • fail 回调函数:(result: Object) => void 回调参数参考 complete 回调,当打印机链接失败的时候,属性 statusCode 不为0,具体可参考 LPA_Result

返回值

Promise<LPA_Response<string|Object>> 返回值类型可参考 complete 回调参数。

2.4 closePrinter()

功能描述

关闭已连接打印机。

2.5 startJob(opts: LPA_JobStartOptions): JobStartResult|undefined

功能描述

创建指定大小的打印任务。

参数[LPA_JobStartOptions]

属性 类型 默认值 必填 说明
width number 标签宽度(单位:毫米)。
height number 标签高度(单位:毫米)。
orientation number 0 标签旋转角度,默认为0,表示不旋转,具体可参考下面的 orientation参数描述
jobName string 打印任务名称,值可参考下面的 jobName 参数描述。
dpi number 打印任务的分辨率,如果打印机已连接,则使用打印机的分辨率,如果打印机未连接则使用上次连接过的打印机的分辨率,否则使用默认分辨率203
backgroundColor string 预览任务的背景色,只有当打印任务为预览任务的时候有效
backgroundImage Image 预览任务的背景色,只有当打印任务为预览任务的时候有效
  • jobName参数描述
描述
#!#prev 当打印任务名称以该字符串开头的时候,当前打印任务不参与打印,最终会生成白色底色的预览图片
#!#trans 当打印任务名称以该字符串开头的时候,当前打印任务不参与打印,最终会生成透明底色的预览图片
其他 在打印机链接成功的情况下直接打印当前打印任务,否则返回错误
  • orientation参数描述
旋转方向 描述
0 不旋转
90 右转90度
180 旋转180度
270 左转90度

返回值

  • 如果返回值为空: 表示任务创建失败;
  • 如果返回值非空:表示任务创建成功,成功时返回值内容的具体信息如下:
属性 类型 说明
canvas Canvas 用于绘制标签内容的Canvas对象
context RendingContext 目标Canvas的绘制上下文环境
isPreview boolean 当前任务是不是预览任务
width number 标签的宽度,单位毫米
height number 标签的高度,单位毫米
jobName string 当前任务名称

2.6 startPrintJob(opts: LPA_JobStartOptions)

功能描述

创建用于打印的打印任务,返回值为 Promise,值为0表示打印任务创建成功,同时打印机也链接成功,在绘制完毕后可直接进行打印。

参数[LPA_JobStartOptions]

属性 类型 默认值 必填 说明
width number 标签宽度(单位:毫米)。
height number 标签高度(单位:毫米)。
orientation number 0 标签旋转角度,默认为0,表示不旋转,具体可参考startJob中的 orientation参数描述
jobName string 打印任务名称,值可参考startJob中的 jobName 参数描述。
printerName string 打印机设备名称,与deviceId二选一,否则无法关联目标打印机
deviceId string 打印机设备ID,与printerName二选一,否则无法关联目标打印机
callback function 打印任务创建完毕回调函数

返回值 Promise<LPA_Result>

0 :表示成功; 其他:表示对应的错误代码,具体可参考 LPA_Result 枚举值详情;

2.7 commitJob(options: object): Promise<LPA_JobPrintResult>

功能描述

结束绘制,开始打印绘制内容,如果打印任务是预览任务,则返回预览图片。

参数

options: object

属性 类型 默认值 必填 说明
printDarkness number 255 打印浓度
printSpeed number 255 打印速度
gapType number 255 纸张类型
gapLength number auto 纸张间隔长度
threshold boolean 192 灰度阈值
success function 接口调用成功回调函数
fail function 接口调用失败回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
  • 打印浓度:darkness
说明
255 随打印机设置
6 正常
10 较浓
15 最浓
  • 打印速度:speed
说明
255 随打印机设置
1 最慢
2 较慢
3 正常
4 较快
5 最快
  • 纸张类型:gapType
说明
255 随打印机设置
0 连续纸
1 定位孔
2 间隙纸
3 黑标纸

  • LPA_PagePrintResult 属性
属性 类型 说明
dataUrl string 链接结果状态码,0:表示成功,其他参考 LPA_Result 详情
imageData ImageData 通过canvas获取到的图片二进制数据对象,预览模式下该属性为空
canvas Canvas 用于进行标签绘制的canvas对象
context RendingContext2D canvas绘制上下文环境
printPages number 当前打印任务的打印页数,通常为1
pageIndex number 在整个打印任务中,当前页的索引,从0开始

  • complete 回调函数:(result: LPA_JobPrintResult) => void 回调参数 statusCode 为 0 表示打印成功,否则表示打印失败,具体参数描述如下:
属性 类型 说明
statusCode LPA_Result 链接结果状态码,0:表示成功,其他参考 LPA_Result 详情
pages LPA_PagePrintResult[] 打印任务中每一张标签的打印结果详情,具体可参考LPA_PagePrintResult
previewData string[] 生成的 base64 图片列表,供预览。在进行多页打印的时候会返回所有页的预览信息
printData string[] 供打印的十六进制指令集和,该功能暂未实现
dataUrls string[] 等同于参数 previewData

  • success 回调函数:(result: LPA_JobPrintResult) => void 打印成功,具体参数描述参考 complete回调。

  • fail 失败回调函数:(result: LPA_JobPrintResult) => void 打印失败,statusCode 表示对应的错误代码,具体可参考 LPA_Result.

返回值

Promise<LPA_JobPrintResult>

返回值内容可参考回调函数 complete

2.8 setItemOrientation(orientation: number)

功能描述

设置后续绘制对象的默认旋转方向。

参数

orientation: number

说明
0 不旋转
90 右转90度
180 旋转180度
270 左转90度

2.9 setItemHorizontalAlignment(alignment: number)

功能描述

设置后续绘制对象的水平对齐方向。

参数

alignment: number

说明
0 水平居左对齐
1 水平居中对齐
2 水平居右对齐
3 拉伸对齐

2.10 setItemVerticalAlignment(alignment: number)

功能描述

设置后续绘制对象的垂直对齐方向。

参数

alignment: number

说明
0 垂直居上对齐
1 垂直居中对齐
2 垂直居下对齐
3 拉伸对齐

2.11 drawText(opts: object)

功能描述

绘制字符串对象。

参数

属性 类型 默认值 必填 说明
text string 要绘制的目标字符串
fontHeight number 字体高度,单位:毫米
x number 0 水平坐标位置,默认为0,单位:毫米
y number 0 垂直坐标位置,默认为0,单位:毫米
width number 0 显示区域的宽度,默认为0,表示当行显示,单位:毫米
height number 0 显示区域的高度,默认为0,表示自适应高度,单位:毫米
fontStyle number 字体样式,默认为0,表示常规字体,具体可参考下面的字体样式说明
fontName string 字体名称
autoReturn number 1 默认为1,表示按字符换行,0表示不换行
lineSpace number 行间距
charSpace number 字符间距
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式
  • 字体样式:fontStyle
说明
0 常规字体
1 粗体
2 斜体
3 粗斜体

2.12 drawBarcode(opts: object)

功能描述

绘制一维码。

参数

属性 类型 默认值 必填 说明
text string 一维码内容
x number 水平坐标位置(单位:毫米)
y number 垂直坐标位置(单位:毫米)
width number 一维码宽度(单位:毫米),默认为0,表示宽度自适应
height number 一维码高度(单位:毫米),默认为0,表示高度自适应
textHeight number 一维码中字符串的高度(单位:毫米),默认自适应
barcodeType number
textAlign number 1 一维码中字符串的对齐方式,默认居中对齐
textFlag number 2 一维码中字符串的位置, 0:表示不显示字符串,1:表示字符串在上面,2:表示字符串在下面。
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式
  • 一维码类型:barcodeType
类型 说明
20 UPCA
21 UPCE
22 EAN13
23 EAN8
24 CODE39
25 ITF25
26 CODABAR
27 CODE93
28 CODE128
29 ISBN
30 ECODE39
31 ITF14
32 ChinaPost
33 Matrix25
34 Industrial25
60 AUTO = 60

2.13 drawQRCode(opts: object)

功能描述

绘制二维码。

参数

opts: object

属性 类型 默认值 必填 说明
text string 二维码内容
x number 0 水平坐标位置(单位:毫米)
y number 0 垂直坐标位置(单位:毫米)
width number 0 显示宽度(单位:毫米)
height number 0 显示高度(单位:毫米)
eccLevel number 0 二维码纠错级别
version number 二维码版本号,默认根据内容自动选择
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式
  • QRCode二维码纠错级别:eccLevel
纠错级别 描述
0 Low
1 Middle
2 Quality
3 High

2.14 drawPDF417(options: object)

功能描述

绘制PDF417二维码。

参数

options: object

属性 类型 默认值 必填 说明
text string 二维码内容
x number 0 水平坐标位置(单位:毫米)
y number 0 垂直坐标位置(单位:毫米)
width number 0 显示宽度(单位:毫米)
height number 0 显示高度(单位:毫米)
eccLevel number 0 二维码纠错级别
cols number 横向多少个模块(不包括左右起止符和层指示符,所以最小为1,加上起止符和层指示符,最小为5)
aspectratio number 二维码宽高比,当未指定二维码宽度个数的时候,通过宽高比来自定计算二维码的宽和高,不指定的话,默认为3
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式

2.15 drawDataMatrix(options: object)

功能描述

绘制 DataMatrix 二维码。

参数

options: object

属性 类型 默认值 必填 说明
text string 二维码内容
x number 0 水平坐标位置(单位:毫米)
y number 0 垂直坐标位置(单位:毫米)
width number 0 显示宽度(单位:毫米)
height number 0 显示高度(单位:毫米)
codeShape number 0 DM码形状,0:根据内容与宽高,自动选择形状,1:使用方形码,2:使用矩形码
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式

2.16 drawLine(opts: object)

功能描述

绘制直线。

参数

属性 类型 默认值 必填 说明
x1 number 0 起点的水平坐标位置(单位:毫米)
y1 number 0 起点的垂直坐标位置(单位:毫米)
x2 number x1 终点的水平坐标位置(单位:毫米)
y2 number y1 终点的垂直坐标位置(单位:毫米)
lineWidth number 0.4 起点+终点模式下的线条宽度(单位:毫米)
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式

2.17 drawRectangle(opts: object)

功能描述

绘制矩形。

参数

opts: object

属性 类型 默认值 必填 说明
x number 0 绘制对象的水平左边位置(单位:毫米),值默认为0
y number 0 绘制对象的水平左边位置(单位:毫米),值默认为0
width number 绘制对象的水宽度(单位:毫米)
height number 绘制对象的水高度(单位:毫米)
lineWidth number auto 线条宽度
cornerWidth number 绘制圆角矩形时的圆角半径
cornerHeight number 绘制圆角矩形时的圆角半径
fill boolean false 是否绘制填充矩形
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式

2.18 drawEllipse(options: object)

功能描述

绘制矩形。

参数

options: object

属性 类型 默认值 必填 说明
x number 0 绘制对象的水平左边位置(单位:毫米),值默认为0
y number 0 绘制对象的水平左边位置(单位:毫米),值默认为0
width number 绘制对象的水宽度(单位:毫米)
height number 绘制对象的水高度(单位:毫米)
lineWidth number auto 线条宽度
fill boolean false 是否绘制填充矩形
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式

2.19 drawCircle(options: object)

功能描述

绘制正圆形。

参数

options: object

属性 类型 默认值 必填 说明
x number 0 绘制对象的水平左边位置(单位:毫米),值默认为0
y number 0 绘制对象的水平左边位置(单位:毫米),值默认为0
radius number 圆半径(单位:毫米)
lineWidth number auto 线条宽度
fill boolean false 是否绘制填充矩形

2.20 drawImage(opts: object): Promise

功能描述

绘制图片资源。

参数

属性 类型 默认值 必填 说明
image Image/string 图片对象
x number 0 水平坐标位置(单位:毫米)
y number 0 垂直坐标位置(单位:毫米)
width number 0 图片显示宽度(单位:毫米)
height number 0 图片显示高度(单位:毫米)
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式

返回值 Promise<boolean>

如果指定的图片内容为图片的 url 字符串,则需要等待图片异步加载完毕之后才可以进行绘制,否则在结束打印任务的时候,如果图片还未加载完毕,则无法正常显示图片内容。

2.21 drawTable(opts: object)

功能描述

绘制图片资源。

参数

属性 类型 默认值 必填 说明
rows TableCell[][] 表格中的单元格内容,内容是一个二维数组,默认数组的长度表示表格的行数,数组中所有子数组的最大长度表示单元格的列数,单元格内容可参考下列的 TableCell参数详情
x number 0 水平坐标位置(单位:毫米)
y number 0 垂直坐标位置(单位:毫米)
width number auto 表格显示宽度(单位:毫米)
height number 0 表格显示高度(单位:毫米)
cells TableCell[] 表格中的单元格内容,内容是一个一维数组,作用等同与tableRows。由于cells是个一维数组,所以需要通过rowCountcolumnCount来指定表格的行数和列数。单元格内容可参考下列的 TableCell参数详情。
rowCount number auto 表格行数,在通过tableRows指定单元格内容的时候,可以根据行数自动计算表格的行数,值默认为单元格的行数
columnCount number auto 表格的列数,在通过tableRows来指定单元格内容的时候,可以自动计算单元格的列数,值默认为所有行单元格的最大值
rowHeights number[] auto 表格单元格的行高列表,当对应值大于等于1的时候,单位为毫米,显示的时候会按照给定的大小显示单元格的高度,当值小于1的时候,值表示空间分配系数,单元格的显示高度会根据所有系数的比例来分配表格的剩余空间
columnWidths number[] auto 表格单元格的列宽列表,当对应值大于等于1的时候,单位为毫米,显示的时候会按照给定的大小显示单元格的宽度,当值小于1的时候,值表示空间分配系数,单元格的显示宽度会根据所有系数的比例来分配表格的剩余空间
groups MergeGroup[] auto 单元格合并列表。具体可参考下面的 MergeGroup 参数详情。备注:单元格的合并信息也可以通过单元格内容的rowSpancolumnSpan来替代
orientation number auto 绘制选项的旋转方向,如果未设置,则使用默认旋转方向
horizontalAlignment number auto 绘制选项的水平对齐方式,如果未设置,则使用默认对齐方式
verticalAlignment number auto 绘制选项的垂直对齐方式,如果未设置,则使用默认对齐方式

  • TableCell参数详情:

备注:TableCell可为字符串,如果为字符串,则表示当前单元格内容为字符串。

属性 类型 默认值 必填 说明
rowSpan number null 合并单元格的行数,不指定表示不进行单元格合并处理
columnSpan number null 合并单元格的列数,不指定表示不进行单元格合并处理
type DrawType 单元格类型,具体可参考 print()接口中的 DrawType 参数详情
其他 any 其他参数可参考具体的绘制接口

  • MergeGroup 参数详情:

备注:在实际使用中单元格的合并信息也可以通过具体某个单元格的 rowSpan和columnSpan来指定单元格的合并信息,效果等同于通过 group 来指定单元格合并信息。

属性 类型 说明
x number 待合并单元格的列索引
y number 待合并单元格的行索引
width number 需要合并的单元格列数
height number 需要合并的单元格行数

2.22 printImage(options: Object): Promise<LPA_JobPrintResult>

功能描述

直接打印图片

参数

属性 类型 默认值 必填 说明
image Image/string Image图片实例对象或者BASE64字符串,再或者图片URL路径
width number auto 图片的打印宽度,单位毫米。(不指定的情况下默认为图片的实际宽度,单位是像素)
height number 0 图片的打印高度,单位毫米。(不指定的情况下默认为图片的实际高度,单位是像素)
orientation number 0 打印任务旋转角度
jobName string 0 打印任务名称
sx number auto 图片的剪切位置(单位:像素)
sy number auto 图片的剪切位置(单位:像素)
swidth number auto 原始图片中需要打印的宽度(单位:像素)
sheight number auto 原始图片中需要打印的高度(单位:像素)
threshold number auto 图片灰度转换阈值
copies number auto 打印份数
success function 接口调用成功回调函数
fail function 接口调用失败回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
  • success 回调参数: 参考 commitJob 的回调参数。
  • fail 回调参数: 参考 commitJob 的回调参数。
  • complete 回调参数: 参考 commitJob 的回调参数。

返回值: Promise<LPA_JobPrintResult>

返回值参考 commitJob 的返回值。

2.23 printImageData(options: Object): Promise<LPA_Result>

功能描述

直接打印图片的二进制数据

参数

属性 类型 默认值 必填 说明
imageData ImageData ImageData格式的二进制打印数据
data ArrayBuffer/string null ArrayBuffer格式的图片二进制数据,或者图片二进制数据对应的十六进制字符串
width number null 如果需要通过 data 来指定图片信息,则该参数表示图片的像素宽度
height number null 如果需要通过 data 来指定图片信息,则该参数表示图片的像素高度
orientation number 0 打印任务旋转角度
gapType number 0 打印纸张类型
printDarkness number auto 打印浓度
printSpeed number auto 打印速度
threshold number auto 图片灰度转换阈值
printAlignment number auto 打印对齐方式,值参考下列的printAlignment参数详情
success function null 接口调用成功回调函数
fail function null 接口调用失败回调函数
complete function null 接口调用结束的回调函数(调用成功、失败都会执行)
  • printAlignment 参数详情:
printAlignment 说明
0x0000 当打印任务宽度超过打印机打印头宽度的时候靠右打印
0x0200 当打印任务宽度超过打印机打印头宽度的时候居中打印
0x0400 当打印任务宽度超过打印机打印头宽度的时候靠左打印
  • success 回调:() => void; 打印成功回调函数。

  • fail回调: (result: LPA_Result) => void; 打印失败回调函数,参数result表示错误代码,具体可参考 LPA_Result

  • complete回调:(result: LPA_Result) => void; 打印完毕回调函数,参数result表示打印结果状态吗,0表示成功,其他表示失败,具体可参考 LPA_Result 详情。

  • 返回值:Promise<LPA_Result> 0: 表示成功, 其他:参考LPA_Result详情。

2.24 print(options: Object): Promise<LPA_JobPrintResult>

功能描述

通过JSON方式配置所有打印任务相关信息

参数

属性 类型 默认值 必填 说明
jobInfo IJobInfo 打印任务相关参数
printerInfo IPrinterInfo null 打印机相关参数
jobPages DrawItemOptions[][] null 打印页面数组,绘制信息的二维码数组
jobPage DrawItemOptions[] null 单张标签中的绘制选项数组,用于处理只有一张标签的情况,该参数与jobPages二选一,其中一个必须有值,否则为无效打印任务
jobArguments Record<string,any>[] null 打印参数列表,在批量打印的情况下,该参数可以配置批量打印的数据列表,可以通过 jobPage中绘制内容的 columnName 属性来关联 Record中的key来实现批量打印的功能
onJobCreated (res: Object) => void null 打印任务创建完毕时的回调函数,该参数常用于 Uni 开发环境中,用于实时更新画布大小
onPageComplete (res: Object) => void null 打印页面处理完毕时的回调函数
onJobComplete (res: Object) => void null 所有打印页面处理完毕时的回调函数
  • IJobInfo:打印任务参数详情
属性 类型 默认值 必填 说明
jobWidth number 打印任务宽度,单位毫米
jobHeight number 打印任务高度,单位毫米
orientation number 0 打印任务旋转角度,值可参考startJob接口中的 orientation参数详情
jobName string null 打印任务名称,值可参考startJob中的jobName参数详情
gapType number 255 打印纸张类型,默认随打印机设置
printDarkness number 255 打印浓度,默认随打印机设置
printSpeed number 255 打印速度,默认随打印机设置
threshold number 192 图片灰度转换阈值
  • IPrinterInfo:打印机参数详情
属性 类型 默认值 必填 说明
printerName string null 打印机名称
deviceId string null 打印机设备ID
printerDPI number null 打印机分辨率
  • DrawItemOptions:页面绘制内容参数详情
属性 类型 默认值 必填 说明
type DrawType null 打印机名称
其他 any null 具体绘制参数参考对应的draw函数

  • DrawType: 绘制类型参数详情
type 说明
text 绘制文本内容
barcode 绘制一维码内容
qrcode 绘制二维码内容
pdf417 绘制PDF417二维码内容
dataMatrix 绘制DataMatrix二维码内容
image 绘制图片内容
rect 绘制矩形对象
ellipse 绘制椭圆对象
line 绘制直线对象
table 绘制表格对象
arcText 绘制弧形字符串
  • onJobCreated回调函数:(result: Object) => Promise 打印任务创建成功时的回调函数。

  • onPageComplete回调函数: (result: LPA_PagePrintResult) => void 在进行多页打印的时候,每打印完一张标签,就会触发该回调函数的调用,用户可以在该回调函数中展示打印进度,或者提前进行标签的预览处理。
属性 类型 说明
statusCode LPA_Result 页面打印/预览结果状态码,0表示成功,其他表示失败,具体错误代码参考 LPA_Result 详情
dataUrl string 生成的预览图片url链接或者BASE64字符串
imageData ImageData 生成的用于打印的ImageData格式的图片二进制数据
canvas Canvas 用于绘制标签的Canvas对象
context RenderingContext 用于绘制标签的Canvas上下文环境

返回值:

返回值可参考 commitJob 的返回值。

2.25 printWdfx(options: Object): Promise<LPA_JobPrintResult>

功能描述

解析并打印wdfx格式的字符串

参数

属性 类型 默认值 必填 说明
content string wdfx文件内容字符串
jobInfo IJobInfo 参考 print()接口描述
printerInfo IPrinterInfo null 参考 print()接口描述
jobPages DrawItemOptions[][] null 参考 print()接口描述
jobPage DrawItemOptions[] null 参考 print()接口描述
jobArguments Record<string, any>[] null 参考 print()接口描述
onJobCreated (res: Object) => void null 参考 print()接口描述
onPageComplete (res: Object) => void null 参考 print()接口描述
onJobComplete (res: Object) => void null 参考 print()接口描述
doc Document 在一些特殊的环境下,譬如Uni环境下,DOMParser无法直接使用,此时可以将wdfx字符串解析后传给底层,让底层去解析处理
domParser DOMParser 在一些特殊的环境下,譬如Uni环境下,默认的DOMParser无法使用,此时就需要用户引入第三方的DOMParser来解析wdfx内容
  • onPageComplete回调函数: (result: LPA_PagePrintResult) => void 参考 print接口的 onPageComplete 回调函数的描述。

返回值:Promise<LPA_JobPrintResult>

返回值可参考 commitJob 的返回值描述。

Readme

Keywords

none

Package Sidebar

Install

npm i lpapi-ble-dd

Weekly Downloads

2

Version

1.0.20240520

License

ISC

Unpacked Size

2.54 MB

Total Files

22

Last publish

Collaborators

  • dothantech