更新记录
1.0.6(2024-06-20)
- 增加重置数据接口
1.0.5(2024-06-19)
- 增加tspl指令
1.0.4(2024-06-19)
- 增加zpl和cpcl指令接口
查看更多
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.6.8,Android:5.0,iOS:不支持,HarmonyNext:不确定 |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
得实集团打印机
开发文档
- 集成插件步骤请参考https://www.cnblogs.com/wenrisheng/p/18323027
- 拷贝demo示例里的AndroidManifest.xml到项目根目录
接口
import {
WRSDascomPrinter
} from "@/uni_modules/wrs-dascomprinter"
let printer = new WRSDascomPrinter()
printer.getConnectUsbDevice((resp) => {
this.showMsg(JSON.stringify(resp))
})
- 连接USB打印机,一定要先调用获取usb打印机接口getConnectUsbDevice再连接
printer.disconnect()
let resp = printer.connectUsbDevice()
this.showMsg(JSON.stringify(resp))
printer.connectWifiDevice({
ip: "192.168.0.1",
port: 9100
})
printer.connectBluetoothDevice({
mac: "xxx" // 打印机的mac地址
})
printer.disconnect()
printer.resetData
ZPL打印
printer.zplSetLabelStart()
printer.zplSetLabelWidth({
labelWidth: 100
})
printer.zplSetLabelLength({
len: 100
})
- 打印位图 图像的宽(高) / 打印机的分辨率 = 实际长度(inch)
var bmp = plus.io.convertLocalFileSystemURL("_www/static/logo.png")
let params = {
x: 0,
y: 0,
bmp: bmp
}
// 修改图片宽高后再打印
// params.newWidth = 100
// params.newHeight = 100
printer.zplPrintBitmap(params)
printer.zplCut()
printer.zplSetMediumDarkness({
darkness: 0 // 接受的值:-30 至 30,具体取决于当前值 开机时的初始值:0
})
printer.zplSetDarkness({
darkness: 0 // 0 至 30
})
let params = {}
// 第一种参数
params.horizontal = 0
params.vertical = 0
params.height = 0
params.heightHumanRead = 0 // 注释高/dot 0-10
params.widthHumanRead = 0 // 注释宽/dot 0-10
params.humanRead = true // 显示注释
params.posHumanRead = true // 注释在条码下方
params.content = "123456"
// 第二种参数
//params.horizontal = 0
//params.vertical = 0
//params.height = 0
//params.humanRead = true // 显示注释
//params.posHumanRead = true // 注释在条码下方
//params.content = "123456"
printer.zplPrintCode128(params)
printer.zplSetGray({
gray: 1
})
// dir:
// 0 = 正常
// 1 = 顺时针旋转 90 度
// 2 = 反转 180 度
// 3 = 逆时针旋转 270 度,逆时针读取
printer.zplSetDirection({
dir: 0
})
printer.zplSetDirection({
total: 1,// 标签的总数,1 至 99,999,999
group: 0,// 每组标签的数量,1 至 99,999,999
pause: false // true: 每打印一组标签后会暂停,需手动按进纸继续和切纸(切刀需开启) false: 每打印一组标签后切纸(切刀需开启),不暂停
})
printer.zplPrintHLine({
horizontal: 1,// 水平位置 /dot
vertical: 0,// 垂直位置 /dot
length: 1, // 用于绘制作为标签格式组成部分的方框和线条长度,1 至 32000
thick: 1 // 厚度,1 至 32000
})
printer.zplPrintVLine({
horizontal: 1,// 水平位置 /dot
vertical: 0,// 垂直位置 /dot
length: 1, // 用于绘制作为标签格式组成部分的方框和线条长度,1 至 32000
thick: 1 // 厚度,1 至 32000
})
let params = {}
params.horizontal = 0
params.vertical = 0
params.QRsize = 1 // 大小 1-10
// 方向
// 接受的值:
// 0 = 正常
// 1 = 顺时针旋转 90 度
// 2 = 反转 180 度
// 3 = 逆时针旋转 270 度,逆时针读取
params.direction = 0
params.correct = "H" // 纠错级别 'H' 'Q' 'M' 'L'
params.content = "12121"
printer.zplPrintQRCode(params)
let params = {}
params.horizontal = 0
params.vertical = 0
params.height = 1 // 高 1-10
params.width = 0 // 宽 1-10
params.text = "12121"
printer.zplPrintText(params)
let params = {}
params.horizontal = 0
params.vertical = 0
params.height = 1 // 高 1-10
params.width = 0 // 宽 1-10
params.text = "12121"
printer.zplPrintTextTTF(params)
printer.zplSetLabelEnd()
let stateObj = printer.zplGetPrinterStatus()
CPCL打印
printer.cpclSetLabelStart({
len: 80, // 设置标签高度
quantity: 1 // 设置打印数量
})
printer.cpclSetLabelEnd()
printer.cpclSetUnderline({
flag: true
})
printer.cpclFormFeed()
printer.cpclSetUnderline({
x: 0,
y: 0,
direction: 0, // 0 - 不旋转 90 - 逆时针旋转90° 180 - 逆时针旋转180° 279 - 逆时针旋转270°
font: 0, // 字体: 0~7
size: 0, // 字体对应的大小 ,(font 4,size 0~7)、(font 5,size 0~3)
text: "1111"
})
printer.cpclPrintCode128({
x: 0,
y: 0,
width: 100,
height: 100,
data: "1111"
})
printer.cpclPrintQRCode({
x: 0,
y: 0,
size: 6, // 二维码宽度和高度 有效范围:1-32.,默认值是6。
error: "H", // 纠错级别, H、Q、M、L
data: "1111"
})
printer.cpclSetAlignment({
align: "center" // align参数官方文档没有说明
})
printer.cpclSetLabelWidth({
width: 100
})
var bmp = plus.io.convertLocalFileSystemURL("_www/static/logo.png")
let params = {
x: 0,
y: 0,
bmp: bmp
}
// 修改图片宽高后再打印
// params.newWidth = 100
// params.newHeight = 100
printer.cpclPrintBitmap(params)
TSPL打印
printer.tsplSetLabelStart()
printer.tsplSetSize({
width: 100,
height: 100
})
printer.tsplSetGAP({
m: 100, // 一般垂直间距设定 /dot
n: 100 // 特殊垂直间距设定 /dot
})
printer.tsplSetDirection({
n: 0 // 0 或 1 设置打印方向, 0 -> qqq 1 -> bbb
})
printer.tsplSetLabelEnd({
m: 1, // 指定打印的份数(set)
n: 1 // 指定每份打印的张数(copy)
})
printer.tsplSetCut()
let params = {}
params.x = 0
params.y = 0
params.rotation = 0 // 0,90,180,270
params.x_multiplication = 1 // X方向放大倍率1~8
params.y_multiplication = 1 // Y方向放大倍率1~8
params.text = "xxx"
printer.tsplPrintText(params)
var bmp = plus.io.convertLocalFileSystemURL("_www/static/logo.png")
let params = {
x: 0,
y: 0,
bmp: bmp
}
// 修改图片宽高后再打印
// params.newWidth = 100
// params.newHeight = 100
printer.tsplPrintBitmap(params)
let params = {}
params.x = 0
params.y = 0
params.code_type = "128" // 128、128M
params.height = 100 // 条形码高度,以点(dot)表示
params.humanReadable = true // false: 人眼不可识别 true: 人眼可识别
params.rotation = 0 // 条形码旋转角度,顺时钟方向 0,90,180,270
params.narrow = 50 // 窄bar宽度,以点(dot)表示
params.wide = 50 // 宽bar宽度,以点(dot)表示
params.code = "xxxx" // 内容
printer.tsplPrintCode128(params)
let params = {}
params.x = 0
params.y = 0
params.ECC_level = "H" // 纠错级别, L、M、Q、H
params.cell_width = 5 // 二维码大小 1~10
params.mode = “A” // A : Auto abc M : Manual ABC
params.rotation = 0 // 旋转角度,
params.content = "xxxx" // 内容
printer.tsplPrintQRCode(params)
printer.tsplFeed({
dot: 10
})
printer.tsplFormFeed()
printer.tsplAutoDetect()
printer.tsplBackFeed({
dot: 10
})
printer.tsplPrintBar({
x: 0,
y: 0,
width: 5,
height: 10
})
printer.tsplPrintBox({
xStart: 0,
yStart: 0,
xEnd: 50,
yEnd: 50,
lineThickness: 1 // 矩形框线厚度,以点(dot)表示
})