更新记录
1.0.1(2022-04-12)
2022-4-11
修复当align=center时,文字不居中的bug
1.0.0(2022-04-11)
20220408
初始版本
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:9.0 - 9.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
简介
基于UC PDA(适用于Android 9.0版本)创建的uni打印插件,该插件现已支持文本、一维码、二维码、bmp图片打印
标签
基于UC PDA扫描 PDA热敏纸打印 物联网热敏打印手持终端
版本
需定制开发请联系:QQ: 1025825641
v1.0.0 --20220408
已支持文本、一维码、二维码打印、bmp图片 支持标签模式和小票模式
插件集成方法
方法列表
方法 | 参数 | 说明 |
---|---|---|
printOpen | (JSON, callback) | 初始化打印机,第一个参数为后续版本预留,可为{},第二个回调函数可以在初始化结束后调用打印功能 |
printClose | (JSON, callback) | 关闭打印机,两个参数为后期预留,暂时无用,可不提供 |
(JSON, callback) | 打印,第一个是JSON格式的参数列表,具体看下面的打印参数列表说明,回调返回的参数是一个JSON格式的字符串 |
状态通知
使用时,需要监听广播来接收打印状态通知,参考代码如下:
let filter = new IntentFilter();
filter.addAction("com.violin.ucpda")
广播数据包含两个字段,一个是文本字段type,可选值connect或print, 一个是文本字段data,用于描述状态信息
打印参数说明
参数 | 类型 | 说明 |
---|---|---|
maxFontSize | int | 字体最大大小 |
pageHeight | int | 标签纸的高度 |
density | int | 打印浓度,范围1~20 |
feed | int | 小票纸走纸距离,范围0~31,单位是mm |
isLabel | int | 为1则是标签模式,为0则是小票模式 |
content | array | 数组内的元素都是JSON |
content参数说明
打印类型 | 参数 | 类型 | 说明 |
---|---|---|---|
文本 | type | string | 固定值"string",打印文本 |
文本 | text | string | 打印文本的内容 |
文本 | x | int | 文本打印位置的X坐标 |
文本 | y | int | 文本打印位置的y坐标 |
文本 | align | string | 可选值["normal","left","right","center"],默认用"normal"即可 |
文本 | fontSize | int | 文本字体大小 |
文本 | bold | string | 可选值["true","false"] |
一维码 | type | string | 固定值"barcode",打印一维码 |
一维码 | text | string | 打印一维码的内容 |
一维码 | x | int | 打印位置的X坐标 |
一维码 | y | int | 打印位置的y坐标 |
一维码 | width | itn | 一维码的宽度 |
一维码 | height | int | 一维码的高度 |
一维码 | format | string | 一维码格式,可选值["code_39","code_93","code_128","ean_8","ean_13"] |
二维码 | type | string | 固定值"QR",打印二维码,参数为大写字母 |
二维码 | text | string | 打印二维码的内容 |
二维码 | x | int | 打印位置的X坐标 |
二维码 | y | int | 打印位置的y坐标 |
二维码 | width | itn | 二维码的宽度 |
二维码 | height | int | 二维码的高度 |
二维码 | format | string | 二维码格式,可选值["qr_code","pdf_417"] |
图片 | type | string | 固定值"image",打印bmp位图 |
图片 | path | string | 图片路径,图片格式为黑白bmp位图,如"/sdcard/logo.bmp",仅支持已存放在手机上的图片 |
图片 | x | int | 打印位置的X坐标 |
图片 | y | int | 打印位置的y坐标 |
图片 | width | itn | 图片的宽度 |
图片 | height | int | 图片的高度 |
使用方法
1.引入模块
const vioUcpdaPrinter = uni.requireNativePlugin('violin-ucpda');
2.初始化打印
vioUcpdaPrinter.printOpen({},result => {
const msg = JSON.stringify(result)
console.log(msg)
//TODO
})
3.构造打印数据包并打印
vioUcpdaPrinter.printOpen({},result => {
const msg = JSON.stringify(result)
console.log(msg)
vioUcpdaPrinter.print({
"maxFontSize":50,
"pageHeight":320,
"content":[
{
"type":"image",
"path":"/sdcard/logo.bmp",
"x":50,"y":200,
"width":80,"height":80
},
{
"type":"string",
"text":"文本内容",
"x":0,"y":20,
"align":"left",
"fontSize":20,"bold":"false"
},
{
"type":"barcode",
"text":"168",
"x":140,"y":68,
"width":120,"height":56,
"format":"code_128"
},
{
"type":"QR",
"text":"二维码内容",
"x":288,"y":132,
"width":96,"height":96,
"format":"qr_code"
},
]
},result => {})
})
4.关闭打印机
vioUcpdaPrinter.printClose()