研科icod小票打印机SDK插件

举报
清雨小竹 发表于 2022/09/25 00:56:20 2022/09/25
【摘要】 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(建议014、打印并换行
函数: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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。