Advertisement
Guest User

Untitled

a guest
May 13th, 2018
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.07 KB | None | 0 0
  1. /**
  2. * JIUI P1 打印服务
  3. * AIDL Version: 2.1
  4. */
  5.  
  6. package woyou.aidlservice.jiuiv5;
  7.  
  8. import woyou.aidlservice.jiuiv5.ICallback;
  9. import woyou.aidlservice.jiuiv5.ITax;
  10. import android.graphics.Bitmap;
  11. import com.sunmi.trans.TransBean;
  12.  
  13. interface IWoyouService
  14. {
  15. /**
  16. * 打印机固件升级(只供系统组件调用,开发者调用无效)
  17. */
  18. void updateFirmware();
  19.  
  20. /**
  21. * 打印机固件状态(只供系统组件调用,开发者调用无效)
  22. */
  23. int getFirmwareStatus();
  24.  
  25. /**
  26. * 获取WoyouService服务版本
  27. */
  28. String getServiceVersion();
  29.  
  30. /**
  31. * 初始化打印机,重置打印机的逻辑程序,但不清空缓存区数据,因此
  32. * 未完成的打印作业将在重置后继续
  33. */
  34. void printerInit(in ICallback callback);
  35.  
  36. /**
  37. * 打印机自检,打印机会打印自检页
  38. * @param callback 回调
  39. */
  40. void printerSelfChecking(in ICallback callback);
  41.  
  42. /**
  43. * 获取打印机板序列号
  44. */
  45. String getPrinterSerialNo();
  46.  
  47. /**
  48. * 获取打印机固件版本号
  49. */
  50. String getPrinterVersion();
  51.  
  52. /**
  53. * 获取打印机型号
  54. */
  55. String getPrinterModal();
  56.  
  57. /**
  58. * 获取打印头打印长度
  59. */
  60. void getPrintedLength(in ICallback callback);
  61.  
  62. /**
  63. * 打印机走纸(强制换行,结束之前的打印内容后走纸n行)
  64. * @param n: 走纸行数
  65. * @param callback 结果回调
  66. * @return
  67. */
  68. void lineWrap(int n, in ICallback callback);
  69.  
  70. /**
  71. * 使用原始指令打印
  72. * @param data 指令
  73. * @param callback 结果回调
  74. */
  75. void sendRAWData(in byte[] data, in ICallback callback);
  76.  
  77. /**
  78. * 设置对齐模式,对之后打印有影响,除非初始化
  79. * @param alignment: 对齐方式 0--居左 , 1--居中, 2--居右
  80. * @param callback 结果回调
  81. */
  82. void setAlignment(int alignment, in ICallback callback);
  83.  
  84. /**
  85. * 设置打印字体, 对之后打印有影响,除非初始化(目前只支持一种字体"gh",gh是一种等宽中文字体,之后会提供更多字体选择)
  86. * @param typeface: 字体名称
  87. */
  88. void setFontName(String typeface, in ICallback callback);
  89.  
  90. /**
  91. * 设置字体大小, 对之后打印有影响,除非初始化
  92. * 注意:字体大小是超出标准国际指令的打印方式,
  93. * 调整字体大小会影响字符宽度,每行字符数量也会随之改变,
  94. * 因此按等宽字体形成的排版可能会错乱
  95. * @param fontsize: 字体大小
  96. */
  97. void setFontSize(float fontsize, in ICallback callback);
  98.  
  99. /**
  100. * 打印文字,文字宽度满一行自动换行排版,不满一整行不打印除非强制换行
  101. * @param text: 要打印的文字字符串
  102. */
  103. void printText(String text, in ICallback callback);
  104.  
  105. /**
  106. * 打印指定字体的文本,字体设置只对本次有效
  107. * @param text: 要打印文字
  108. * @param typeface: 字体名称(目前只支持"gh"字体)
  109. * @param fontsize: 字体大小
  110. */
  111. void printTextWithFont(String text, String typeface, float fontsize, in ICallback callback);
  112.  
  113. /**
  114. * 打印表格的一行,可以指定列宽、对齐方式
  115. * @param colsTextArr 各列文本字符串数组
  116. * @param colsWidthArr 各列宽度数组(以英文字符计算, 每个中文字符占两个英文字符, 每个宽度大于0)
  117. * @param colsAlign 各列对齐方式(0居左, 1居中, 2居右)
  118. * 备注: 三个参数的数组长度应该一致, 如果colsText[i]的宽度大于colsWidth[i], 则文本换行
  119. */
  120. void printColumnsText(in String[] colsTextArr, in int[] colsWidthArr, in int[] colsAlign, in ICallback callback);
  121.  
  122.  
  123. /**
  124. * 打印图片
  125. * @param bitmap: 图片bitmap对象(最大宽度384像素,超过无法打印并且回调callback异常函数)
  126. */
  127. void printBitmap(in Bitmap bitmap, in ICallback callback);
  128.  
  129. /**
  130. * 打印一维条码
  131. * @param data: 条码数据
  132. * @param symbology: 条码类型
  133. * 0 -- UPC-A, 要求12位数字(最后一位校验位必须正确),但受限于打印机的宽度及条码宽度
  134. * 1 -- UPC-E, 要求8位数字(最后一位校验位必须正确),但受限于打印机的宽度及条码宽度
  135. * 2 -- JAN13(EAN13), 要求13位数字(最后一位校验位必须正确),但受限于打印机的宽度及条码宽度
  136. * 3 -- JAN8(EAN8), 要求8位数字(最后一位校验位必须正确),但受限于打印机的宽度及条码宽度
  137. * 4 -- CODE39, 数字英文及8个特殊符号且首尾为*号,但受限于打印机的宽度及条码宽度
  138. * 5 -- ITF, 字符为数字且小于14位,但受限于打印机的宽度及条码宽度
  139. * 6 -- CODABAR, 起始和终止必须为A-D,数据为0-9及6个特殊字符,长度任意但受限于打印机的宽度及条码宽度
  140. * 7 -- CODE93, 字符任意,长度任意但受限于打印机的宽度及条码宽度
  141. * 8 -- CODE128 字符任意,长度任意但受限于打印机的宽度及条码宽度
  142. * @param height: 条码高度, 取值1到255, 默认162
  143. * @param width: 条码宽度, 取值2至6, 默认2
  144. * @param textposition: 文字位置 0--不打印文字, 1--文字在条码上方, 2--文字在条码下方, 3--条码上下方均打印
  145. */
  146. void printBarCode(String data, int symbology, int height, int width, int textposition, in ICallback callback);
  147.  
  148. /**
  149. * 打印二维条码
  150. * @param data: 二维码数据
  151. * @param modulesize: 二维码块大小(单位:点, 取值 1 至 16 )
  152. * @param errorlevel: 二维码纠错等级(0 至 3),
  153. * 0 -- 纠错级别L ( 7%),
  154. * 1 -- 纠错级别M (15%),
  155. * 2 -- 纠错级别Q (25%),
  156. * 3 -- 纠错级别H (30%)
  157. */
  158. void printQRCode(String data, int modulesize, int errorlevel, in ICallback callback);
  159.  
  160. /**
  161. * 打印文字,文字宽度满一行自动换行排版,不满一整行不打印除非强制换行
  162. * 文字按矢量文字宽度原样输出,即每个字符不等宽
  163. * @param text: 要打印的文字字符串
  164. *
  165. */
  166. void printOriginalText(String text, in ICallback callback);
  167.  
  168. /**
  169. * lib包事务打印专用接口
  170. * transbean 打印任务列表
  171. * Ver 1.8.0中增加
  172. */
  173. void commitPrint(in TransBean[] transbean, in ICallback callback);
  174.  
  175. /**
  176. * 打印缓冲区内容
  177. */
  178. void commitPrinterBuffer();
  179.  
  180. /**
  181. * 进入缓冲模式,所有打印调用将缓存,调用commitPrinterBuffe()后打印
  182. *
  183. * @param clean: 是否清除缓冲区内容
  184. *
  185. */
  186. void enterPrinterBuffer(in boolean clean);
  187.  
  188. /**
  189. * 退出缓冲模式
  190. *
  191. * @param commit: 是否打印出缓冲区内容
  192. *
  193. */
  194. void exitPrinterBuffer(in boolean commit);
  195.  
  196. void tax(in byte [] data,in ITax callback);
  197.  
  198. //获取打印机头型号
  199. void getPrinterFactory(in ICallback callback);
  200.  
  201. void clearBuffer();
  202.  
  203. /**
  204. * 带反馈打印缓冲区内容
  205. *
  206. * @param callback: 反馈
  207. *
  208. */
  209. void commitPrinterBufferWithCallback(in ICallback callback);
  210.  
  211. /**
  212. * 带反馈退出缓冲打印模式
  213. *
  214. * @param commit: 是否提交缓冲区内容
  215. * @param callback: 反馈
  216. *
  217. */
  218. void exitPrinterBufferWithCallback(in boolean commit, in ICallback callback);
  219.  
  220. /**
  221. * 打印表格的一行,可以指定列宽、对齐方式
  222. * @param colsTextArr 各列文本字符串数组
  223. * @param colsWidthArr 各列宽度权重即各列所占比例
  224. * @param colsAlign 各列对齐方式(0居左, 1居中, 2居右)
  225. * 备注: 三个参数的数组长度应该一致, 如果colsText[i]的宽度大于colsWidth[i], 则文本换行
  226. */
  227. void printColumnsString(in String[] colsTextArr, in int[] colsWidthArr, in int[] colsAlign, in ICallback callback);
  228.  
  229. /**
  230. * 获取打印机的状态
  231. * 返回值:1 打印机正常 3 通讯异常 4 缺纸 5 过热
  232. **/
  233. int updatePrinterState();
  234.  
  235. /**
  236. * 打印图片
  237. * @param bitmap: 图片bitmap对象(最大宽度384像素,图片超过1M无法打印)
  238. * @param type: 目前有两种打印方式:0、同printBitmap 1、阈值200的黑白化图片 2、灰度图片
  239. */
  240. void printBitmapCustom(in Bitmap bitmap, in int type, in ICallback callback);
  241. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement