研科icod小票打印机SDK插件
【摘要】
Uniapp示例代码
<template>
<view>
<view>
<button @click="getversion()">getve...
Uniapp示例代码
<template>
<view>
<view>
<button @click="getversion()">getversion</button>
<button @click="printText()">printText</button>
</view>
<text v-for="(item,index) in msglist">{{item}}\n</text>
</view>
</template>
<script>
const icodzz = uni.requireNativePlugin('zzzili-icodzz');
export default {
data() {
return {
msglist: []
}
},
onLoad() {
this.msglist.push('start test print')
},
methods: {
getversion: function() {
this.msglist.push(icodzz.getVersion());
},
printText: function() {
this.msglist.push(icodzz.initSDK());
this.msglist.push('connectUSB'+icodzz.connectUSB());
this.msglist.push('init'+icodzz.init());
this.msglist.push('setEmphasizedMode'+icodzz.setEmphasizedMode(1));
this.msglist.push('printString'+icodzz.printString("深圳研科\n深圳研科\n深圳研科\n深圳研科\n", 'gbk', true));
this.msglist.push('printQRCode'+icodzz.printQRCode("testqrcode", 200,false));
this.msglist.push('printFeed'+icodzz.printAndFeedLine(5));
},
}
}
</script>
<style>
</style>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
icod SDK 使用指南(来自于官方icod sdk文档)
一、添加权限:
<uses-feature android:name="android.hardware.usb.host" />
<!-- Allows applications to access information about networks -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Allows applications to change network connectivity state -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<!-- Allows applications to enter Wi-Fi Multicast mode -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Internet permission -->
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<!-- SDCard permission -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- Bluetooth permission -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
二、引用插件
const icodzz = uni.requireNativePlugin('zzzili-icodzz');
- 1
三、简单的初始化
icodzz.getVersion()//获取sdk版本
icodzz.initSDK()//初始化SDK
- 1
- 2
四、返回值声明
0: 为成功
-1: 为失败
-2: 参数错误
-3: 为字符长度不支持
-4: 字符不支持(后面两个是用于条码打印的)
- 1
- 2
- 3
- 4
- 5
五、函数调用
1、连接打印机
链接USB打印机:connectUSB();
链接Bluetooth打印机:connectBluetooth();
链接串口打印机:connectSerial(String filePathname, int baudRate, int flowControl);//device:串 baudRate:波特率 flowControl:是否开流控
连接wifi打印机:connectWifi(String site, int port);//Site:ip地址 Port:端口号
连接USBNative打印机:connectUSBNative();
2、关闭连接和释放资源
函数:disconnect()
参数: 无
3、写入指令 发送自定义指令
函数:sendOrder(byte[] cmd)
参数: cmd - 指令数组
函数:sendOrder(byte[] cmd,int timeOut)
参数: cmd - 指令数组
timeOut - 超时时间 单位ms
4、写入指令
函数:writeIO(byte[] writeBuffer,int offsetSize,int writeSize,int waitTime)
参数: writeBuffer - 指令字节数组
offsetSize - 偏移量,一般为0
writeSize - 数组大小
waitTime - 等待时间
5、读取指令
函数:readIO(byte[] readBuffer,int offsetSize,int readSize,int waitTime)
参数: readBuffer - 指令字节数组
offsetSize - 偏移量
readSize - 读取大小
waitTime - 等待时间
6、初始化
函数:init()
参数: 无
说明:这个指令 用于清空缓冲区和恢复默认值 一般在打印图片前或者后调用,避免打不全对后面数据的影响 可以跟 initAllPrinter方法一起用
7、完全初始化
函数:initAllPrinter(int n)
参数: n - 1.错误恢复从错误行开始打印 2.错误恢复和清除缓冲内容
8、设置日志输出文件标志
函数:setOutput(boolean output)
参数: output - true.开启日志输出
9、实时状态传送
函数:getStatus()
参数: 无
10、打印字符串
函数:printString(String text)
参数: text?- 打印的字符串
函数:printString(String text,String charsetName,boolean isFeed)
参数: text?- 打印的字符串
charsetName - 字符集
isFeed - 是否 换行
11、打印光栅位图
函数:printRasterBitmap(Bitmap bitmap)
参数: bitmap- 位图
函数:printRasterBitmap(Bitmap bitmap, boolean toGray)
参数: bitmap- 位图
toGray - true 变灰
函数:printRasterBitmap(Bitmap bitmap,boolean toGray,int timeOut)
参数: bitmap- 位图
toGray - true 变灰
timeOut - 超时时间
函数:printRasterBitmap(Bitmap bitmap,boolean toGray,int timeOut, boolean check)
参数: bitmap- 位图
toGray - true 变灰
timeOut - 超时时间
check - 是否需要检测 数据是否已经全部下发到打印机.解决第一张打印正常第二张乱码的问题.
函数:printRasterBitmap(Bitmap bitmap,boolean toGray,int timeOut,boolean isJini,boolean check)
参数: bitmap- 位图
toGray - true 变灰
timeOut - 超时时间
isJini - 是否使用本地方法
check - 是否需要检测 数据是否已经全部下发到打印机.解决第一张打印正常第二张乱码的问题.
12、打印二维码
函数:printQRCode(String text,int modeSize,boolean isCut)
参数: text - 为二维码内容
modeSize - 设置条码大小(1FAIL6) 默认为6
isCut - 打印二维码后是否切纸
13、PDF条码打印
函数:printPDFCode(String text,int errorSize,int hSize,int vSize)
参数: text - 为PDF条码内容
errorSize - 纠错等级,可控制条码大小建议4-8
hSize - 宽度 0-30(建议0)
vSize - 高度 3-90(建议0)
14、打印并换行
函数:printFeed()
参数: 无
15、打印并退纸
函数:printBackFlow(int n)
参数: n - 退纸 n/144英寸
16、页模式下回标准模式
函数:printAndBackToStd()
参数: 无
17、实时打印机请求
函数:printerRequestsRealTime(int type)
参数: type - 1.从错误恢复并从错误出现的行开始重新开始打印
2.在清除接收和打印缓冲区后从错误恢复
18、选择打印模式
函数:setFontStyle(int type)
参数: type - 取值如下[0-255]
|位 |关/开|十六进制码|十进制码|功能|
|----|-----|---------|--------|----|
|0 |关 |00 |0 |字符字型A (12 × 24)。|
|0 |开 |01 |1 |字符字型B (9 × 17)。|
|1 |- | - |- |未定义|
|2 |- | - |- |未定义|
|3 |关 |00 |0 |解除加重模式|
|3 |开 |08 |8 |设置加重模式|
|4 |关 |00 |0 |解除倍高模式|
|4 |开 |10 |16 |设置倍高模式|
|5 |关 |00 |0 |解除倍宽模式|
|5 |开 |20 |32 |设置倍宽模式|
|6 |- |- |- |未定义|
|7 |关 |00 |0 |解除下划线模式|
|7 |开 |80 |128 |设置下划线模式|
19、设置字符右间距
函数:setCharRightSpace (int n)
参数: n - n*0.125毫米
20、设定 / 解除下划线
函数:setEnableUnderLine (int enable)
参数: enable -最低位有效:1为设定 0位解除
21、设置行间距
函数:setLineSpace (int n)
参数: n - n*0.125毫米 缺省值为30
22、设定/解除粗体打印
函数:setEmphasizedMode (int n)
参数: n -最低位有效:1为设定 0位解除
23、设置浓度
函数:setPrintColorSize (int n)
参数: n -仅支持1-4浓度 一般字体加重的浓度
24、设定/解除重叠打印
函数:setOverlapMode (int n)
参数: n -最低位有效:1为设定 0位解除
25、打印并进纸
函数:printAndFeedPaper (int n)
参数: n - n*0.125毫米
26、选择国际字符集
函数:setInterCharSet (int n)
参数: n –[0-13],默认为0
n 字符集
0 美国
1 法国
2 德国
3 英国
4 丹麦Ⅰ
5 瑞典
6 意大利
7 西班牙Ⅰ
8 日本
9 挪威
10 丹麦Ⅱ
11 西班牙Ⅱ
12 拉丁美洲
13 韩国
27、设置相对当前打印位置(nl+nh*256)*0.125
函数:setRelativePosition(int?nl, int?nh)
参数: nl - 0-255
nh - 0-255
28、在页模式,设置相对当前打印位置(nl+nh*256)*0.125
函数:setPageRelativePosition (int?nl, int?nh)
参数: nl - 0-255
nh - 0-255
29、全切
函数:fullCut ()
参数: 无
30、半切
函数:halfCut ()
参数: 无
31、选择对齐方式
函数:setAlignMode (int?type)
参数: type - 0为左对齐 ,1 为居中对齐,2 为右对齐
32、激活/禁止面板按键
函数:setEnablePanelButton (int?n)
参数: n -最低位有效:1禁止 0位激活
33、打印并进纸 n 行
函数:printAndFeedLine (int?n)
参数: n - n *设定的行间距
34、选择字符代码表
函数:setCharCodeTable (int?n)
参数: n – [0-5]、[16-19]、255
n 页
0 PC437[美国欧洲标准]
1 片假名
2 PC850[多语言]
3 PC860[葡萄牙语]
4 PC863[加拿大-法语]
5 PC865[北欧]
16 WPC1252
17 PC866[斯拉夫语 2]
18 PC852[拉丁语 2]
19 PC858[欧洲]
255 Space Page
35、将标记打印纸进纸到打印起始位置
函数:feedToStartPos ()
参数: 无
36、执行测试打印
函数:doTestPrint (int n, int m)
参数: n - 0 为 basic sheet; 1 2 为卷纸
m - 1 让打印机进入十六进制;2 打印机状态打印;3 卷纸模式打印
37、设定左侧空白量(nl +nh*256)*0.125毫米
函数:setLeftMargin (int nL, int nH)
参数: nL - 0-255
nH - 0-255
38、选择裁纸模式并裁纸
函数:cutPaper (int m, int n)
参数: m – 66 (保留一点不切)
n - 0
39、设置打印区域宽度
函数:setPrnAreaWidth (int nL, int nH)
参数: 宽度为 (nl +nh*256)*0.125毫米
82.5毫米纸宽型号 缺省值 nl=128,nh=2
79.5毫米纸宽型号 缺省值 nl=64,nh=2
60毫米纸宽型号缺省值 nl=192,nh=1
58毫米纸宽型号 缺省值 nl=176,nh=1
40、设置/解除平滑模式
函数:setEnableSmoothPrn ( int n)
参数: n – 最低位有效:1为设定 0位解除
41、设置条形码高度
函数:setBarCodeHeight ( int n)
参数: n – [0-255],默认为162
42、设置条形码宽度
函数:setBarCodeWidth ( int n)
参数: n – [2-16] 我方打印机范围为2-6 通用的打印机 2-16 所以有些值不管用
43、打印条形码
函数:printBarCode (int m, int n, String barcode)
参数: m –使用条码系统类型
n –使用条码系统类型
barcode–字符串
44、设置颠倒
函数:setReverse(boolean reverse)
参数: reverse - true 设置颠倒 false 取消颠倒
45、设置 / 解除顺时针 90 ° 旋转
函数:setRotate(int n)
参数: n - 0,48 解除 1,49设置
46、发送十六进制的字符串
函数:hexMsg (String msg, boolean isHex)
参数: msg - 格式是##0a 23 0d##
isHex - true 数据是十六进制 false 是十进制
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。
原文链接:zzzili.blog.csdn.net/article/details/117732916
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)