uni-app uts 插件开发 调取android原生 jar 包

323 阅读2分钟

简单的一个打印机有android 端 sdk 现在需要支持uni-app 所以写了一个插件的demo ,你们可以借鉴写自己的uts 语言插件,看完实例,可以直接下载源码,当个例子,让大家快速学习用 uni-app demo 插件demo

在这里插入图片描述

PRT Android CPCL SDK 说明文档

一、SDK 指令函数

1.1 标签打印模式指令

1. 页标签开始指令

代码里面直接引入

import {
		ConnectMac,
		printShow,
		PrintForm,
		IsOpened,
		getStatus,
		printAreaSize,
		Align,
		Text,
		Barcode,
		PrintQR,
		Line,
		Box,
		Form,
		Print,
		PortClose,
		papertype_CPCL   //**--具体以打印机为准,Page:纸张类型。 0:连续纸。 1:标签纸。 2:后黑标。 3:前黑标。 4:三寸黑标。 5:两寸黑标。
	} from '@/uni_modules/yao-hm3';
int printAreaSize(String offset, String Horizontal, String Vertical, String height, String qty)

参数

offset:水平偏移单位数。

Horizontal:水平方向 dpi。

Vertical:垂直方向 dpi。

height:标签高度。

qty:打印次数。

返回值

大于 0:正常;否则异常。

示例

printAreaSize("0", "200", "200", "100", "1");
Text(HPRTPrinterHelper.TEXT, "4", "0", "0", "0", "TEXT");
Form(); // 打印标签定位(连续纸不可用)
Print();
  1. 页标签结束指令 java 复制 int Print() 注意:行模式不可用。

返回值

大于 0:正常;否则异常。

示例

printAreaSize("0", "200", "200", "100", "1");
Text(HPRTPrinterHelper.TEXT, "4", "0", "0", "0", "TEXT");
Form();
Print();

4 走纸到下一张标签 注意:(必须跟 PRINT 在一起才有效,指令只对标签有效) intForm() 返回: 大于 0:正常,否则异常。 例子:

printAreaSize(“0”,”200”,”200”,”100”,”1”); 
Text(HPRTPrinterHelper.TEXT,”4”,”0”,”0”,”0”,”TEXT”);
Form()//打印标签定位作用(连续纸不可用) 
Print()

文本打印 注意:文本打印有两个接口 PrintTextCPCL 和 Text。

printAreaSize(“0”,”200”,”200”,”500”,”1”) //15 表示所有的特效都有 
PrintTextCPCL(HPRTPrinterHelper.TEXT,24,”10”,”10”,”TEXT”,15,false,0) 
Form() HPRTPrinterHelper.Print()

printAreaSize(“0”,”200”,”200”,”500”,”1”) 
SetBold(“1”)//对下面的字体进行加粗(如不需要加粗不用添加) 
SetMag(“2”,”2”)//对下面的字体进行放大(如不需要不用添加) 
Text(HPRTPrinterHelper.TEXT,”7”,”0”,”10”,”10”,”TEXT”) HPRTPrinterHelper.SetMag(“1”,”1”)//关闭放大 
SetBold(“0”)//关闭加粗 
Form() HPRTPrinterHelper.Print()

条码 例子:

printAreaSize(“0”,”200”,”200”,”100”,”1”) 
Barcode(HPRTPrinterHelper.BARCODE,
HPRTPrinterHelper.128,”1”,”1”,”50”,”0”,”0”, true,”7”,”0”,”5”,”123456789”)
Form()
Print()

打印二维码 例子:

printAreaSize(“0”,”200”,”200”,”100”,”1”) 
PrintQR(HPRTPrinterHelper.BARCODE,“0”,“0”,“2”,“6”,“123ABC”) 
Form() 
Print()

打印图片 例子:

printAreaSize(“0”,”200”,”200”,”500”,”1”) 
Expanded(“0”,”0”,url) 
Form() 
Print()

获取打印机状态

getStatus(status => {
			console.log(status);
});
参数: 无 返回: 0:打印机准备就绪。 1:打印机打印中。 2:打印机缺纸。 6:打印机开盖。 其他:出错。

蓝牙断开函数

PortClose(res => {
					console.log("PortClose", res);
				})

蓝牙是否连接

IsOpened(isOpen => {
					console.log(isOpen);
				});

其他许多方法,你直查汉印sdk 文档就可以了,所有的方法都已实现