更新记录
1.0.2(2026-10-14) 下载此版本
- 承接项目侧下沉:
BLEPrinterBase(TSPL + BLE 打印机基类) uni_modules.dependencies补齐pro-device-adp-ble(BLEPrinterBase 实际依赖)
1.0.1(2026-10-14) 下载此版本
- 承接 PrintError(自 pro-device-core 下沉)
1.0.0(2026-10-14) 下载此版本
- 首次发布
- 提供打印能力接口、PrintCanvas / PrintDocument / TSPLCanvas 与 SDKPrinterBase
- 依赖 pro-device-core
平台兼容性
uni-app(5.06)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | - | √ | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | - | - | - | - | - | - | - | - | - | - | - |
pro-device-print — 打印设备模型
设备框架的打印能力层。提供 IPrintable / IPrintJobSupport、画布文档模型、TSPLCanvas、以及 SDKPrinterBase。
依赖 pro-device-core。
架构定位
pro-device-print
├── IPrintable<TDoc> ← 传输层:print / printTest
├── IPrintJobSupport ← 能力层:声明可执行的业务 PrintJobId
├── resolveDeviceForPrintJob ← 通用选机(prefer + candidates)
├── 画布模型
│ ├── PrintCanvas / PrintDocument ← 坐标系标签(TSPL)
│ └── LineCanvas / LineDocument ← 行模式热敏
├── TSPLCanvas
└── SDKPrinterBase<TDoc> ← SDK 打印机基类(含 Job 声明)
正交关系(务必分清):
| 概念 | 回答的问题 |
|---|---|
| PrintJobId + IPrintJobSupport | 这台机能不能干这个业务活? |
| PrintDocument / LineDocument | 用哪种画布协议排版? |
| IPrintable.print | 如何把文档发出去? |
框架不内置任何业务 Job 名;应用层定义常量(如 'hazardous-waste-label'),在具体打印机构造时挂到 supportedPrintJobs。
两种打印模型
模型一:坐标系标签打印(PrintDocument + PrintCanvas)
适用于 BLE 标签打印机(Gprinter GP-M421、Xprinter XP-P441B 等 TSPL 协议设备)。
模型二:行模式热敏打印(LineDocument + LineCanvas)
适用于 商米内置打印机等按行输出的热敏机。
按任务选机
import {
resolveDeviceForPrintJob,
type PrintJobId,
} from '@/uni_modules/pro-device-print'
const JOB: PrintJobId = 'hazardous-waste-label'
const printer = resolveDeviceForPrintJob(connectedPrinters, JOB, { prefer: activePrinter })
if (!printer) throw new Error('无支持该任务的打印机')
await printer.print(doc)
机型在基类构造时声明:
super(config, { supportedPrintJobs: ['hazardous-waste-label'] })
printTest() 属于连接自检,不是业务 Job。
核心 API
IPrintable<TDoc>
| 方法 | 说明 |
|---|---|
print(document) |
打印一份文档 |
printTest() |
内置测试页 |
IPrintJobSupport
| 成员 | 说明 |
|---|---|
supportedPrintJobs |
本机支持的业务任务 ID 列表 |
supportsPrintJob(id) |
是否支持指定任务 |
画布 / 文档 / TSPLCanvas / SDKPrinterBase
业务实现 PrintDocument 或 LineDocument,由对应打印机 print() 渲染发送。SDK 基类第二参数可传 supportedPrintJobs。
平台支持
本包为纯 TypeScript,无平台 API 依赖。具体打印机平台能力取决于传输层适配器。

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 109
赞赏 0
下载 12681473
赞赏 1956
赞赏
京公网安备:11010802035340号