/**
|
* JIUI V1 打印服务
|
* AIDL Version: 2.1
|
*/
|
|
package woyou.aidlservice.jiuiv5;
|
|
import woyou.aidlservice.jiuiv5.ICallback;
|
import android.graphics.Bitmap;
|
import com.dayu.rechargeqh.bean.TransBean;
|
|
interface IWoyouService
|
{
|
/**
|
* 打印机固件升级(只供系统组件调用,开发者调用无效)
|
* @param buffer
|
* @param size
|
* @param filename
|
* @param iapInterface
|
*/
|
void updateFirmware();
|
|
/**
|
* 打印机固件状态
|
* return: 0--未知, A5--bootloader, C3--print
|
*/
|
int getFirmwareStatus();
|
|
/**
|
* 取WoyouService服务版本
|
*/
|
String getServiceVersion();
|
|
/**
|
* 初始化打印机,重置打印机的逻辑程序,但不清空缓存区数据,因此
|
* 未完成的打印作业将在重置后继续
|
* @param callback 回调
|
* @return
|
*/
|
void printerInit(in ICallback callback);
|
|
/**
|
* 打印机自检,打印机会打印自检页
|
* @param callback 回调
|
*/
|
void printerSelfChecking(in ICallback callback);
|
|
/**
|
* 获取打印机板序列号
|
*/
|
String getPrinterSerialNo();
|
|
/**
|
* 获取打印机固件版本号
|
*/
|
String getPrinterVersion();
|
|
/**
|
* 获取打印机型号
|
*/
|
String getPrinterModal();
|
|
/**
|
* 获取打印头打印长度
|
*/
|
void getPrintedLength(in ICallback callback);
|
|
/**
|
* 打印机走纸(强制换行,结束之前的打印内容后走纸n行)
|
* @param n: 走纸行数
|
* @param callback 结果回调
|
* @return
|
*/
|
void lineWrap(int n, in ICallback callback);
|
|
/**
|
* 使用原始指令打印
|
* @param data 指令
|
* @param callback 结果回调
|
*/
|
void sendRAWData(in byte[] data, in ICallback callback);
|
|
/**
|
* 设置对齐模式,对之后打印有影响,除非初始化
|
* @param alignment: 对齐方式 0--居左 , 1--居中, 2--居右
|
* @param callback 结果回调
|
*/
|
void setAlignment(int alignment, in ICallback callback);
|
|
/**
|
* 设置打印字体, 对之后打印有影响,除非初始化
|
* (目前只支持一种字体"gh",gh是一种等宽中文字体,之后会提供更多字体选择)
|
* @param typeface: 字体名称
|
*/
|
void setFontName(String typeface, in ICallback callback);
|
|
/**
|
* 设置字体大小, 对之后打印有影响,除非初始化
|
* 注意:字体大小是超出标准国际指令的打印方式,
|
* 调整字体大小会影响字符宽度,每行字符数量也会随之改变,
|
* 因此按等宽字体形成的排版可能会错乱
|
* @param fontsize: 字体大小
|
*/
|
void setFontSize(float fontsize, in ICallback callback);
|
|
/**
|
* 打印文字,文字宽度满一行自动换行排版,不满一整行不打印除非强制换行
|
* @param text: 要打印的文字字符串
|
*/
|
void printText(String text, in ICallback callback);
|
|
/**
|
* 打印指定字体的文本,字体设置只对本次有效
|
* @param text: 要打印文字
|
* @param typeface: 字体名称(目前只支持"gh"字体)
|
* @param fontsize: 字体大小
|
*/
|
void printTextWithFont(String text, String typeface, float fontsize, in ICallback callback);
|
|
/**
|
* 打印表格的一行,可以指定列宽、对齐方式
|
* @param colsTextArr 各列文本字符串数组
|
* @param colsWidthArr 各列宽度数组(以英文字符计算, 每个中文字符占两个英文字符, 每个宽度大于0)
|
* @param colsAlign 各列对齐方式(0居左, 1居中, 2居右)
|
* 备注: 三个参数的数组长度应该一致, 如果colsText[i]的宽度大于colsWidth[i], 则文本换行
|
*/
|
void printColumnsText(in String[] colsTextArr, in int[] colsWidthArr, in int[] colsAlign, in ICallback callback);
|
|
|
/**
|
* 打印图片
|
* @param bitmap: 图片bitmap对象(最大宽度384像素,超过无法打印并且回调callback异常函数)
|
*/
|
void printBitmap(in Bitmap bitmap, in ICallback callback);
|
|
/**
|
* 打印一维条码
|
* @param data: 条码数据
|
* @param symbology: 条码类型
|
* 0 -- UPC-A,
|
* 1 -- UPC-E,
|
* 2 -- JAN13(EAN13),
|
* 3 -- JAN8(EAN8),
|
* 4 -- CODE39,
|
* 5 -- ITF,
|
* 6 -- CODABAR,
|
* 7 -- CODE93,
|
* 8 -- CODE128
|
* @param height: 条码高度, 取值1到255, 默认162
|
* @param width: 条码宽度, 取值2至6, 默认2
|
* @param textposition: 文字位置 0--不打印文字, 1--文字在条码上方, 2--文字在条码下方, 3--条码上下方均打印
|
*/
|
void printBarCode(String data, int symbology, int height, int width, int textposition, in ICallback callback);
|
|
/**
|
* 打印二维条码
|
* @param data: 二维码数据
|
* @param modulesize: 二维码块大小(单位:点, 取值 1 至 16 )
|
* @param errorlevel: 二维码纠错等级(0 至 3),
|
* 0 -- 纠错级别L ( 7%),
|
* 1 -- 纠错级别M (15%),
|
* 2 -- 纠错级别Q (25%),
|
* 3 -- 纠错级别H (30%)
|
*/
|
void printQRCode(String data, int modulesize, int errorlevel, in ICallback callback);
|
|
/**
|
* 打印文字,文字宽度满一行自动换行排版,不满一整行不打印除非强制换行
|
* 文字按矢量文字宽度原样输出,即每个字符不等宽
|
* @param text: 要打印的文字字符串
|
*
|
*/
|
void printOriginalText(String text, in ICallback callback);
|
|
/**
|
* lib包事务打印专用接口
|
* transbean 打印任务列表
|
* Ver 1.8.0中增加
|
*/
|
void commitPrint(in TransBean[] transbean, in ICallback callback);
|
|
/**
|
* 打印缓冲区内容
|
*/
|
void commitPrinterBuffer();
|
|
/**
|
* 进入缓冲模式,所有打印调用将缓存,调用commitPrinterBuffe()后打印
|
*
|
* @param clean: 是否清除缓冲区内容
|
*
|
*/
|
void enterPrinterBuffer(in boolean clean);
|
|
/**
|
* 退出缓冲模式
|
*
|
* @param commit: 是否打印出缓冲区内容
|
*
|
*/
|
void exitPrinterBuffer(in boolean commit);
|
|
/**
|
* 打印表格的一行,可以指定列宽、对齐方式
|
* @param colsTextArr 各列文本字符串数组
|
* @param colsWidthArr 各列宽度权重即各列所占比例
|
* @param colsAlign 各列对齐方式(0居左, 1居中, 2居右)
|
* 备注: 三个参数的数组长度应该一致, 如果colsText[i]的宽度大于colsWidth[i], 则文本换行
|
*/
|
void printColumnsString(in String[] colsTextArr, in int[] colsWidthArr, in int[] colsAlign, in ICallback callback);
|
|
/**
|
* 打印图片
|
* @param bitmap: 图片bitmap对象(最大宽度384像素,图片超过1M无法打印)
|
* @param type: 目前有两种打印方式:0、同printBitmap 1、阈值200的黑白化图片 2、灰度图片
|
*/
|
void printBitmapCustom(in Bitmap bitmap, in int type, in ICallback callback);
|
}
|