/** 
 | 
* 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); 
 | 
} 
 |