| /** | 
| * JIUI V1 打印服务 | 
| * AIDL Version: 2.1 | 
| */ | 
|   | 
| package woyou.aidlservice.jiuiv5; | 
|   | 
| import woyou.aidlservice.jiuiv5.ICallback; | 
| import android.graphics.Bitmap; | 
| import com.dayu.baselibrary.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); | 
| } |