关注

汉印Android CPCL SDK 文档

Android CPCL SDK 文档

文章目录

1 SDK加载及使用

1.1 在Android studio 中加载我们打印机的SDK jar包和SO库。

  • 将jar包和so库都拷贝到app/libs文件夹下

  • 在app中的build.gradle加入下面的代码

    android{
      sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
            }
        }
    }
    implementation  files('libs/CPCL_SDK_V1.01.jar')
    

1.2 我们所用的接口都在PrinterHelper这个类中所有的接口都是静态方法,可以直接调用。


2 SDK 连接方法

2.1 蓝牙连接接口
  • 描述

    int portOpenBT(Context context,String portSetting)
    
  • 参数

    参数描述
    context上下文对象
    portSetting蓝牙地址(大写)
  • 返回

    描述
    0连接成功
    -1连接超时
    -2蓝牙地址格式错误
    -3打印机与SDK不匹配(握手不通过)

2.2 WIFI连接接口
  • 描述

    int portOpenWIFI(Context context,String printIP)
    
  • 参数

    参数描述
    context上下文对象
    printIPIP地址
  • 返回

    描述
    0连接成功
    -1连接超时
    -2IP地址格式错误
    -3打印机与SDK不匹配(握手不通过)

2.3 USB连接接口
  • 描述

    int portOpenUSB(Context context, UsbDevice usbdevice)
    
  • 参数

    参数描述
    context上下文对象
    usbdevice需要连接的USB设备对象
  • 返回

    描述
    0连接成功
    -1连接超时
    -2参数错误
    -3打印机与SDK不匹配(握手不通过)

2.4 断开连接接口
  • 描述

    boolean portClose()
    
  • 参数

  • 返回

    描述
    true断开成功
    false连接超时

3 SDK 打印接口

3.1 设置标签高度
  • 描述

    int printAreaSize(String offset,String Horizontal, String Vertical,String height,String qty)
    
  • 参数

    参数描述
    offset上下文对象
    Horizontal打印机水平方向dpi(根据实际打印机dpi设置)
    Vertical打印机垂直方向dpi(根据实际打印机dpi设置)
    height标签高度 (单位:dot)200dpi 8 dot = 1mm,300dpi 12 dot = 1mm
    qty打印次数
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","1")
    	PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    	PrinterHelper.form()//打印标签起定位作用(连续纸不可用)
    	PrinterHelper.print()
    

3.2 打印
  • 描述

    int print()
    
  • 参数

  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","1")
    	PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    	PrinterHelper.form()//打印标签起定位作用(连续纸不可用)
    	PrinterHelper.print()
    

3.3 设置编码
  • 描述

    int encoding(String code)
    
  • 参数

    参数描述
    code字符编码,
    gb2312: 中文 ,
    ISO8859-1 :西欧语
    ISO8859-2 :拉丁语(2)
    ISO8859-3 :拉丁语(3)
    ISO8859-4 :波罗的语
    ISO8859-5 :西里尔语
    ISO8859-6 :阿拉伯语
    ISO8859-8 :希伯来语
    ISO8859-9 :土耳其语
    ISO8859-15 :拉丁语(9)
    iso8859-11 :希腊语(windows)
    iso8859-7:希腊语(ISO)
    windows-874: 泰语
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","1")
    	PrinterHelper.encoding(gb2312)
    	PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","中文")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.4 标签定位
  • 描述
    在print()之前调用,只在标签模式下起作用

    int form()
    
  • 参数

  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","1")
    	PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    	PrinterHelper.form()//打印标签定位作用(连续纸不可用)
    	PrinterHelper.print()
    

3.5 注释
  • 描述

    int note(String note)
    
  • 参数

    参数描述
    note注释内容
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","1")
    	PrinterHelper.note("注释:")
    	PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.6 终止指令
  • 描述

    int abort()
    
  • 参数

  • 返回

    描述
    大于0发送成功
    -1发送失败

3.7 文本打印
  • 描述

    printTextCPCL用于中文固件。

    printCodepageTextCPCL用于英文固件。

    text两种固件都能用。

    printTextPro选择字库打印文本。

    int text(String command,String font,String size ,String x,String y,String data)
    
  • 参数

    参数描述
    command文字的方向
    PrinterHelper.TEXT:水平。
    PrinterHelper.TEXT90:逆时针旋转90度。
    PrinterHelper.TEXT180:逆时针旋转180度。
    PrinterHelper.TEXT270:逆时针旋转270度。
    font字体点阵大小:(单位:dot)
    注意:英文固件只支持(0和1)。
    0:12x24。
    1:12x24(中文模式下打印繁体),英文模式下字体变成(9x17)大小
    2:8x16。
    3:20x20。
    4:32x32或者16x32,由ID3字体宽高各放大两倍。
    7:24x24或者12x24,视中英文而定。
    8:24x24或者12x24,视中英文而定。
    20:16x16或者8x16,视中英文而定。
    24:24x24或者12x24,视中英文而定。
    55:16x16或者8x16,视中英文而定。
    其它默认24x24或者12x24,视中英文而定。
    size字体大小。(该功能被屏蔽统一参数传0)
    x横坐标(单位 dot)
    y纵坐标(单位 dot)
    data文本数据
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","500","1")
    	PrinterHelper.setBold("1")//对下面的字体进行加粗(如不需要加粗不用添加)
    	PrinterHelper.setMag("2","2")//对下面的字体进行放大(如不需要不用添加)
    	PrinterHelper.text(PrinterHelper.TEXT,"7","0","10","10","TEXT")
    	PrinterHelper.setMag("1","1")//关闭放大
    	PrinterHelper.setBold("0")//关闭加粗
    	PrinterHelper.form()
    	PrinterHelper.print()
    

int printTextCPCL(String command,int font ,String x,String y,String data,int n,boolean 	isCenter,int width)
  • 参数

    参数描述
    command文字的方向
    PrinterHelper.TEXT:水平。
    PrinterHelper.TEXT270:垂直。
    font字体点阵大小:(单位:dot)
    1:打印繁体字(24x24或者12x24,视中英文而定。)
    16:16x16或8x16,视中英文而定。
    24:24x24或12x24,视中英文而定。
    32:32x32或16x32,由ID3字体宽高各放大2倍。
    x横坐标(单位 dot)
    y纵坐标(单位 dot)
    data文本数据
    n字体的特效:
    N&11:加粗
    N&2
    2:反白
    N&44:倍宽
    N&8
    8:倍高
    isCenter居中
    true: 是
    false:否
    Width要居中的范围。(Iscenter=true时才生效)单位:dot
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","500","1")
    	//15 表示所有的特效都有
    	PrinterHelper.printTextCPCL(PrinterHelper.TEXT,24,"10","10","TEXT",15,false,0)
    	PrinterHelper.form()
    	PrinterHelper.print()
    

int printCodepageTextCPCL(String command,int font ,String x,String y,String data,int n)
  • 参数

    参数描述
    command文字的方向
    PrinterHelper.TEXT:水平。
    PrinterHelper.TEXT270:垂直。
    font字体点阵大小:(单位:dot)
    0:12x24。
    1:9x17。
    x横坐标(单位 dot)
    y纵坐标(单位 dot)
    data文本数据
    n字体的特效:
    N&11:加粗
    N&2
    2:反白
    N&44:倍宽
    N&8
    8:倍高
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","500","1")
    	PrinterHelper.country("ISO8859-1");//设置打印机编码
    	PrinterHelper.LanguageEncode="iso8859-1";//设置SDK编码
    	//15表示所有的特效都有
    	PrinterHelper.printCodepageTextCPCL(PrinterHelper.TEXT,0,"10","10","TEXT",15)
    	PrinterHelper.form()
    	PrinterHelper.print()
    

  • 选择字库打印文本

  • 描述:

    该接口通过传输字库的名字,选择对应的字库打印机,字库需要通过工具先下载给打印机。

    int printTextPro(String command, String fontName, int xScale, int yScale, int x, int y, String data)
    
  • 参数

    参数描述
    command文字的方向
    PrinterHelper.TEXT:水平。
    PrinterHelper.TEXT90:逆时针旋转90度。
    PrinterHelper.TEXT180:逆时针旋转180度。
    PrinterHelper.TEXT270:逆时针旋转270度。
    fontName字库名称:
    SIMSUN.TTF
    TT0003M_.TTF
    xScalex轴方向字体放大倍数
    yScaley轴方向字体放大倍数
    x横坐标(单位 dot)
    y纵坐标(单位 dot)
    data文本数据
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","500","1")
    	PrinterHelper.country("ISO8859-1");//设置打印机编码
    	PrinterHelper.LanguageEncode="iso8859-1";//设置SDK编码
    	PrinterHelper.printTextPro(PrinterHelper.TEXT,"SIMSUN.TTF",1,1,0,0,"Test")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.8 计数
  • 描述

    int count(String ml)
    
  • 参数

    参数描述
    note下次加减的数值
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","2")
    	PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","10086")
    	PrinterHelper.count("10")
    	PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","10000")
    	PrinterHelper.count("-10")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.9 设置字符宽高放大倍数
  • 描述

    int setMag(String width,String height)
    
  • 参数

    参数描述
    width字体宽度的放大倍数
    height字体高度的放大倍数
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","500","1")
    	PrinterHelper.setBold("1")//对下面的字体进行加粗(如不需要加粗不用添加)
    	PrinterHelper.setMag("2","2")//对下面的字体进行放大(如不需要不用添加)
    	PrinterHelper.text(PrinterHelper.TEXT,"7","0","10","10","TEXT")
    	PrinterHelper.setMag("1","1")//关闭放大
    	PrinterHelper.setBold("0")//关闭加粗
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.10 对齐方式
  • 描述

    int align(String align)
    
  • 参数

    参数描述
    alignPrinterHelper.CENTER:居中。
    PrinterHelper.LEFT:左对齐。
    PrinterHelper.RIGHT:右对齐。
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","1")
    	PrinterHelper.align(PrinterHelper.CENTER)
    	PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.11 打印条码
  • 描述

    int barcode(String command,String type,String width, String ratio,String height,String 			x,String y,boolean undertext,String number,String size,String offset, String data )
    
  • 参数

    参数描述
    commandPrinterHelper.BARCODE:水平方向
    PrinterHelper.VBARCODE:垂直方向
    type条码类型:
    PrinterHelper.UPCA,PrinterHelper.UPCA2,PrinterHelper.UPCA5,
    PrinterHelper.UPCE, PrinterHelper.UPCE2,PrinterHelper.UPCE5 ,
    PrinterHelper.EAN13,PrinterHelper.EAN132,PrinterHelper.EAN135,
    PrinterHelper.EAN8, PrinterHelper.EAN82,PrinterHelper.EAN85,
    PrinterHelper.code39, PrinterHelper.code39C,PrinterHelper.F39,
    PrinterHelper.F39C,PrinterHelper.code93,PrinterHelper.I2OF5,
    PrinterHelper.I2OF5C,PrinterHelper.I2OF5G,PrinterHelper.code128,
    PrinterHelper.UCCEAN128,PrinterHelper.CODABAR,PrinterHelper.CODABAR16,
    PrinterHelper.MSI,PrinterHelper.MSI10,PrinterHelper.MSI1010,
    PrinterHelper.MSI1110,PrinterHelper.POSTNET,PrinterHelper.FIM
    width窄条的单位宽度
    ratio宽条窄条的比例
    0=1.5:1 , 1=2.0:1 , 2=2.5:1 , 3=3.0:1 , 4=3.5:1 ,
    20=2.0:1 , 21=2.1:1 , 22=2.2:1 , 23=2.3:1 , 24=2.4:1 , 25=2.5:1
    26=2.6:1 , 27=2.7:1 , 28=2.8:1 , 29=2.9:1 , 30=3.0:1 ,
    height条码高度
    x条码的起始横坐标。(单位:dot)
    y条码的起始纵坐标。(单位:dot)
    undertext条码下方的数据是否可见。
    ture:可见,false:不可见。
    number字体的类型 (undertext=true才生效)
    size字体的大小(undertext=true才生效)
    offset条码与文字间的距离(undertext=true才生效)
    data条码数据
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","1")
    	PrinterHelper.barcode(PrinterHelper.BARCODE,PrinterHelper.128,"1","1","50","0","0",
    	true,"7","0","5","123456789")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.12 打印二维码
  • 描述

    int printQR(String command, String x, String y, String M , String U, String data )
    
  • 参数

    参数描述
    commandPrinterHelper.BARCODE:水平方向
    PrinterHelper.VBARCODE:垂直方向
    x二维码的起始横坐标。(单位:dot)
    y二维码的起始纵坐标。(单位:dot)
    MQR的类型:
    1:普通类型
    2:在类型1的基础上增加了个别的符号
    U单位宽度/模块的单元高度,范围是1到32默认为6
    data二维码的数据
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","1")
    	PrinterHelper.printQR(PrinterHelper.BARCODE, "0", "0", "2" , "6", "123ABC" )
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.13 打印PFD417码
  • 描述

    int printPDF417(String command, String x, String y, String XD , String YD, String C, 											String S , String data)
    
  • 参数

    参数描述
    commandPrinterHelper.BARCODE:水平方向
    PrinterHelper.VBARCODE:垂直方向
    xPDF417的起始横坐标。(单位:dot)
    yPDF417的起始纵坐标。(单位:dot)
    XD最窄元素的单位宽度。范围是1到32,默认为2
    YD最宽元素的单位高度。范围是1到32,默认值是6
    C使用的列数,数据列不包括启动/停止字符和左/右指标,范围为1到30;默认值是3
    S安全级别表示要检测到的错误的最大金额和/或校正,范围为0到8;默认值是1
    dataPDF417码的数据
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","100","1")
    	PrinterHelper.printPDF417(PrinterHelper.BARCODE,"0","0","2","6","3","1","123ABC")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.14 打印矩形框
  • 描述

    int box(String X0,String Y0,String X1,String Y1,String width)
    
  • 参数

    参数描述
    X0左上角的X坐标。(单位:dot)
    Y0左上角的Y坐标。(单位:dot)
    X1右下角的X坐标。(单位:dot)
    Y1右下角的Y坐标。(单位:dot)
    width线条的单位宽度。 (默认:1)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","200","1")
    	PrinterHelper.box("0","0","150","150","1")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.15 打印直线
  • 描述

    int line(String X0,String Y0,String X1,String Y1,String width )
    
  • 参数

    参数描述
    X0起始的X坐标。(单位:dot)
    Y0起始的Y坐标。(单位:dot)
    X1结尾的X坐标。(单位:dot)
    Y1结尾的Y坐标。(单位:dot)
    width线条的单位宽度。 (默认:1)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","200","1")
    	PrinterHelper.line("10","10","150","10","1")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.16 反白框
  • 描述

    int inverseLine(String X0,String Y0,String X1,String Y1,String width )
    
  • 参数

    参数描述
    X0起始的X坐标。(单位:dot)
    Y0起始的Y坐标。(单位:dot)
    X1结尾的X坐标。(单位:dot)
    Y1结尾的Y坐标。(单位:dot)
    width反白框的宽度。 (默认:1)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","200","1")
    	PrinterHelper.inverseLine("10","10","150","10","1")
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.17 打印图片
  • 描述(1)

    int printBitmapCPCL(Bitmap bitmap,int x,int y,int type,int compressType,int light)
    
  • 参数

    参数描述
    bitmap需打印图片的Bitmap的对象(需自己调节好图片尺寸,200dpi 8px=1mm)
    x图片起始的x坐标。(单位:dot)
    y图片起始的y坐标。(单位:dot)
    type图片算法。
    0:二值算法;
    1:半色调算法
    2:聚合算法
    compressType0:不压缩,
    1:整体压缩,(适合较小的图片)
    2:分包压缩,(适合较大的图片)
    light亮度(范围 -100 到 100)
  • 返回

    描述
    大于0发送成功
    -1发送失败
    -2bitmap为空
    -3图片数据超过打印机缓冲区
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","500","1")
    	PrinterHelper.printBitmapCPCL(bitmap,0,0,0,0,0)
    	PrinterHelper.form()
    	PrinterHelper.print()
    
  • 描述(2)
    该接口只可以由于行模式(里面已包含开头接口和Print接口)。

    int printBitmap(int x,int y,int type,Bitmap bitmap,int compressType,boolean isform,int segments)
    
  • 参数

    参数描述
    bitmap需打印图片的Bitmap的对象(需自己调节好图片尺寸,200dpi 8px=1mm)
    x图片起始的x坐标。(单位:dot)
    y图片起始的y坐标(与上面一行的间距)。(单位:dot)
    type图片算法。
    0:二值算法;
    1:半色调算法
    2:聚合算法
    compressType0:不压缩,
    1:整体压缩,(适合较小的图片)
    2:分包压缩,(适合较大的图片)
    Isform是否定位,(连续纸模式下只能使用false)
    segments分包次数(不小于1)默认1
  • 返回

    描述
    大于0发送成功
    -1发送失败
    -2bitmap为空
    -3图片数据超过打印机缓冲区
  • 例子

    	PrinterHelper.printBitmap(0,0,0,bitmap,0,false,1)
    
  • 描述(3)

    int printBitmapBase64(String base64, int x, int y, int type, int compressType, int light)
    
  • 参数

    参数描述
    base64图片文件的base64字符串
    x图片起始的x坐标。(单位:dot)
    y图片起始的y坐标。(单位:dot)
    type图片算法。
    0:二值算法;
    1:半色调算法
    2:聚合算法
    compressType0:不压缩,
    1:整体压缩,(适合较小的图片)
    2:分包压缩,(适合较大的图片)
    light亮度(范围 -100 到 100)
  • 返回

    描述
    大于0发送成功
    -1发送失败
    -2base64为空
    -3图片数据超过打印机缓冲区
  • 例子

    	PrinterHelper.printAreaSize("0","200","200","500","1")
    	PrinterHelper.printBitmapBase64(base64,0,0,0,0,0)
    	PrinterHelper.form()
    	PrinterHelper.print()
    

3.18 打印浓度
  • 描述

    int contrast(String contrast)
    
  • 参数

    参数描述
    contrast浓度类型,总的有四种:
    默认 = 0
    中 = 1
    黑暗 = 2
    非常深 = 3
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.contrast("1")
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.form()
    PrinterHelper.print()
    

3.19 打印速度
  • 描述

    int speed(String speed )
    
  • 参数

    参数描述
    speed速度类型,总的有5种:从0到5越来越快;5是理想状态的最快速度。
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.speed("4")
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.form()
    PrinterHelper.print()
    

3.20 设置行间距
  • 描述

    int setSp( String setsp)
    
  • 参数

    参数描述
    Setsp间距(单位:行)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.setSp(1)
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","50","TEXT")
    PrinterHelper.setSp(5)
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","90","TEXT")
    PrinterHelper.form()
    PrinterHelper.print()
    

3.21 走纸
  • 描述

    int preFeed( String prefeed)
    
  • 参数

    参数描述
    prefeed走纸的距离。(单位:dot)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.preFeed("40")
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.form()
    PrinterHelper.print()
    

3.22 打印完走纸
  • 描述

    int postFeed( String posfeed)
    
  • 参数

    参数描述
    posfeed走纸的距离。(单位:dot)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.form()
    //注意:要在Form()之后
    PrinterHelper.postFeed("40")
    PrinterHelper.print()
    

3.23 蜂鸣器
  • 描述

    int beep( String beep)
    
  • 参数

    参数描述
    beep蜂鸣声的持续时间,(1/8)秒为单位
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.beep("16")
    PrinterHelper.form()
    PrinterHelper.print()
    

3.24 下划线
  • 描述

    int underLine(boolean ul)
    
  • 参数

    参数描述
    ultrue:添加下划线,
    false:取消下划线。
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.underLine(true)
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.underLine(false)
    PrinterHelper.form()
    PrinterHelper.print()
    

3.25 延时打印
  • 描述

    int wait( String wait)
    
  • 参数

    参数描述
    wait延时。单位是:1/8秒
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.wait("80")
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.form()
    PrinterHelper.print()
    

3.26 打印宽度
  • 描述

    int pageWidth(String pw)
    
  • 参数

    参数描述
    pw指定页面宽度。(单位:dot)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.pageWidth("100")
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.form()
    PrinterHelper.print()
    

3.27 行模式下设置行间距
  • 描述

    int setLF(String sf)
    
  • 参数

    参数描述
    sf间距(单位:行)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printData("text1 to print\r\n");
    PrinterHelper.setLF("5");
    PrinterHelper.printData("text2 to print\r\n");
    

3.28 设置行模式字体大小与行高
  • 描述

    int setLP(String font,String size,String spacing )
    
  • 参数

    参数描述
    font字体点阵大小:(单位:dot)
    注意:英文固件只支持(0和1)。
    0:12x24。
    1:12x24(中文模式下打印繁体),英文模式下字体变成(9x17)大小
    2:8x16。
    3:20x20。
    4:32x32或者16x32,由ID3字体宽高各放大两倍。
    7:24x24或者12x24,视中英文而定。
    8:24x24或者12x24,视中英文而定。
    20:16x16或者8x16,视中英文而定。
    24:24x24或者12x24,视中英文而定。
    55:16x16或者8x16,视中英文而定。
    其它默认24x24或者12x24,视中英文而定。
    size字体大小。(该功能被屏蔽统一参数传0)
    spacing行高(单位:dot)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.setLP("5","2","32");
    PrinterHelper.printData("text to print\r\n");
    

3.29 发送数据接口
  • 描述

    int writeData(byte[] bData)
    
  • 参数

    参数描述
    bData向打印机发送的数据
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.writeData(new byte[]{0x0d,0x0a});
    

3.30 读取数据接口
  • 描述

    byte[] readData(int second)
    
  • 参数

    参数描述
    second超时时间(秒)
  • 返回

    描述
    数据长度0或者为空读取失败
    大于0读取成功
  • 例子

    PrinterHelper.readData(2);
    

3.31 字体加粗
  • 描述

    int setBold(String bold)
    
  • 参数

    参数描述
    bold加粗系数(范围:1-5)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","500","1")
    PrinterHelper.setBold("1")//对下面的字体进行加粗(如不需要加粗不用添加)
    PrinterHelper.setMag("2","2")//对下面的字体进行放大(如不需要不用添加)
    PrinterHelper.text(PrinterHelper.TEXT,"7","0","10","10","TEXT")
    PrinterHelper.setMag("1","1")//关闭放大
    PrinterHelper.setBold("0")//关闭加粗
    PrinterHelper.form()
    PrinterHelper.print()
    

3.32 获取打印机状态
  • 描述

    int getPrinterStatus()
    
  • 参数

  • 返回

    描述
    status == 0打印机正常
    status == -1发送失败
    (status & 2) == 2缺纸
    (status & 4) == 4开盖
  • 例子

    int status = PrinterHelper.getPrinterStatus()//该接口不是实时指令,打印机正在打印时,查询无效
      if (status == 0){
      //打印机正常
      }
      if((status & 2) == 2){
        //缺纸
      }
      if ((status & 4) == 4){
     		//开盖
      }
    

3.33 文本打印自动换行
  • 描述

    该功能有两个接口分别是autLine和autLinePlus。前者不能使用泰语。后者打印机固件必须在A300 V1.01.40.01以上且文本字节数不得超过1024,超过部分自动忽略。

    int autLine(String x,String y,int width,int size,boolean isBole,
                  boolean isDouble,String str)
    
  • 参数

    参数描述
    x文字的起始的x坐标。(单位:dot)
    y文字的起始的y坐标。(单位:dot)
    width一行打印的宽度。(单位:dot)
    size字体大小
    3:20x20或10x20,视中英文而定。
    4:32x32或16x32,由ID3字体宽高各放大2倍。
    8:24x24或12x24,视中英文而定。
    55:16x16或8x16,视中英文而定。
    isBoletrue:加粗。
    false:不加粗。
    isDouble字体大小翻倍
    true:放大。
    false:不放大。
    str打印文本
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.autLine("0","0",100,4,true,true"Text")
    PrinterHelper.form()
    PrinterHelper.print()
    
int autLinePlus(String x,String y,String width,int size,boolean isBole,boolean isDouble,
               String str)
  • 参数

    参数描述
    x文字的起始的x坐标。(单位:dot)
    y文字的起始的y坐标。(单位:dot)
    width一行打印的宽度。(单位:dot)
    size字体大小
    0:24x24或12x24,视中英文而定。(泰语:24x48)
    1:7x19(英文),24x24(繁体)。
    3:20x20或10x20,视中英文而定。
    4:32x32或16x32,由ID3字体宽高各放大2倍。
    8:24x24或12x24,视中英文而定。
    55:16x16或8x16,视中英文而定。
    isBoletrue:加粗。
    false:不加粗。
    isDouble字体大小翻倍
    true:放大。
    false:不放大。
    str打印文本
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.autLinePlus("0","0",100,4,true,true"Text")
    PrinterHelper.form()
    PrinterHelper.print()
    

3.34 文字在文本框内居中显示
  • 描述

    int autCenter(String command, String x,String y,int width,int size,String str)
    
  • 参数

    参数描述
    command文字的方向,总的有两种:
    PrinterHelper.TEXT:水平。
    PrinterHelper.TEXT270:垂直。
    x文本框起始的x坐标。(单位:dot)
    y文本框起始的y坐标。(单位:dot)
    width文本框的宽度(单位:dot)。
    size字体大小。
    3:16x16或8x16,视中英文而定。
    4:32x32或16x32,由ID3字体宽高各放大2倍。
    8:24x24或12x24,视中英文而定。
    55:16x16或8x16,视中英文而定。
    str要打印的文本。
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.autCenter(PrinterHelper.TEXT,"0","0",100,4,"Text")
    PrinterHelper.form()
    PrinterHelper.print()
    

3.35 设置打印机纸张类型
  • 描述

    void paperTypeCPCL(int page)
    
  • 参数

    参数描述
    page纸张类型
    0:连续纸
    1:标签纸
    2:后黑标
    3:前黑标
    4:三寸黑标
    5:2寸黑标
  • 返回

  • 例子

    //只支持 A300.
    PrinterHelper.paperTypeCPCL(0)//设置成连续纸
    

3.36 自检页
  • 描述

    void setSelf()
    
  • 参数

  • 返回

  • 例子

    PrinterHelper.setSelf()//调用后打印机会打印一些打印机参数。
    

3.37 旋转180度打印
  • 描述

    int poPrint()
    
  • 参数

  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1")
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT")
    PrinterHelper.form()//打印标签定位作用(连续纸不可用)
    PrinterHelper.poPrint()
    

3.38 打印完成的开关
  • 描述

    需要跟接口getEndStatus()配合使用,该功能只适用于A300 V1.27.01以上版本

    void openEndStatic(boolean isopen)
    
  • 参数

    参数描述
    isopentrue:开启
    false:关闭
  • 返回

  • 例子

    PrinterHelper.openEndStatic(true);//开启
    PrinterHelper.printData(data);//打印数据
    int endStatus = PrinterHelper.getEndStatus(16);//获取状态
    PrinterHelper.openEndStatic(false);//关闭
    

3.39 获取打印完成时状态
  • 描述

    int getEndStatus(int time)
    
  • 参数

    参数描述
    time设置超时时间(单位:秒)
  • 返回

    描述
    0发送成功
    1打印失败(缺纸)
    2打印失败(开盖)
    3电压低
    4温度高
    5定位失败
    -1超时(在设置的时间内打印机没有回馈)
  • 例子

    PrinterHelper.openEndStatic(true);//开启
    PrinterHelper.printData(data);//打印数据
    int endStatus = PrinterHelper.getEndStatus(16);//获取状态
    PrinterHelper.openEndStatic(false);//关闭
    

3.40 打印机回退
  • 描述

    int reverseFeed(int feed)
    
  • 参数

    参数描述
    feed回退距离。(单位:行,范围:1-255)。
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.reverseFeed(50);
    

3.41 水印
  • 描述

    int printBackground(int x,int y,int size,int background,String data)
    
  • 参数

    参数描述
    x横坐标(单位:dot)
    y纵坐标(单位:dot)
    size字体大小
    55:16X16(dot)。
    24:24X24(dot)。
    56:32X32(dot)。
    其他:24X24(dot)。
    background背景黑度(0-255)。
    data数据
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","500","1");																 PrinterHelper.setMag("8","8");//字体放大8倍
    PrinterHelper.printBackground(0,0,56,150,"A508");
    PrinterHelper.setMag("1","1");//还原字体大小
    PrinterHelper.print();
    

3.42 获取打印机SN
  • 描述

    String getPrintSN()
    
  • 参数

  • 返回

    描述
    sn打印机SN
  • 例子

    PrinterHelper.getPrintSN();
    

3.43 设置打印机Codepage
  • 描述

    int country(String codepage, String languageEncode)
    
  • 参数

    参数描述
    codepage代码页
    ISO8859-1 :西欧语
    ISO8859-2 :拉丁语(2)
    ISO8859-3 :拉丁语(3)
    ISO8859-4 :波罗的语
    ISO8859-5 :西里尔语
    ISO8859-6 :阿拉伯语
    ISO8859-8 :希伯来语
    ISO8859-9 :土耳其语
    ISO8859-15 :拉丁语(9)
    WPC1253 :希腊语(windows)
    KU42:希腊语(ISO)
    TIS18: 泰语
    Khemr:高棉语
    WPC1258: 越南语
    languageEncodeiso8859-1 :西欧语
    iso8859-2 :拉丁语(2)
    iso8859-3 :拉丁语(3)
    iso8859-4 :波罗的语
    ISO8859-5 :西里尔语
    iso8859-6 :阿拉伯语
    iso8859-8 :希伯来语
    iso8859-9 :土耳其语
    iso8859-15 :拉丁语(9)
    iso8859-11 :希腊语(windows)
    iso8859-7:希腊语(ISO)
    windows-874: 泰语
    UnicodeBigUnmarked:高棉语
    utf-8: 越南语
  • 返回

    描述
    大于0打印机正常
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","500","1");
    PrinterHelper.country("ISO8859-1","iso8859-1");
    PrinterHelper.printCodepageTextCPCL(PrinterHelper.TEXT,0,"10","10","TEXT",15)
    PrinterHelper.print()
    

3.44 设置QRcode版本
  • 描述
    该接口用于设置二维码的版本号,设置后不会因为二维码的内容而改变大小,只有部分机型和版本支持(可以询问客服)

    int setQRCodeVersion(int version)
    
  • 参数

    参数描述
    version版本号(范围0-40)
    QR版本默认为00,QR版本为00时,QR码效果同旧版,宽高会随数据量而改变。设置了版本号对二维码的数据量有范围要求,超出范围二维码不打印。
    具体查看结尾的表1-1.
  • 返回

    描述
    大于0发送成功
    -1发送失败
    -2超出参数范围
  • 例子

    PrinterHelper.setQRCodeVersion(20);
    

3.45 读取QRcode版本
  • 描述

    String getQRCodeVersion()
    
  • 参数

  • 返回

    描述
    大于0QRcode版本(失败返回空)
  • 例子

    String version = PrinterHelper.getQRCodeVersion();
    

3.46 行打印模式打印文本
  • 描述

    int printData(String str)
    
  • 参数

    参数描述
    str文本内容(以\r\n结尾)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printData("要打印的文本\r\n")
    

3.47 行打印模式字体加粗
  • 描述

    int rowSetBold(String bold)
    
  • 参数

    参数描述
    bold加粗倍数,
    1:关闭加粗
    其他:加粗倍数
  • 返回

    描述
    大于0打印机正常
    -1发送失败
  • 例子

    PrinterHelper.setLP("5","2","46")
    PrinterHelper.rowSetBold("2")
    PrinterHelper.printData("要打印的文本\r\n")
    PrinterHelper.rowSetBold("1")//注意关闭加粗以免影响下面的打印内容
    

3.48 设置行模式的X坐标
  • 描述
    必须放在Setlp函数之前

    int rowSetX(String X)
    
  • 参数

    参数描述
    bold横坐标(单位:dot)
  • 返回

    描述
    大于0发送成功
    -1发送失败
  • 例子

    PrinterHelper.rowSetX("200");
    PrinterHelper.setLP("5","2","32");
    PrinterHelper.rowSetBold("2");
    PrinterHelper.printData("text to print\r\n");
    PrinterHelper.rowSetBold("1");
    

3.49 RFID 写入
  • 描述

    printRFIDCPCL(List<RFIDBeen> rfidBeens,Bitmap bitmap,int x,int y,int type,
                  int compressType,int density)
    
  • 参数

    参数描述
    rfidBeensRFID对象集合
    memory储存区, 0:保留区 1:EPC区、 3:user区
    address起始地址,memory=0–>address(0-3)、
    memory=1–>address(2-7)、
    memory=3–>address(0-255)
    data需写入的数据,memory=0–>(address+data的字节长度<=4)、
    memory=1–>(address+data的字节长度<=26)、
    memory=3–>(address+data的字节长度<=256)
    bitmap图片对象
    x横坐标
    y纵坐标
    type图片算法,0:二值算法 、1:半色调算法
    compressType压缩类型,0:不压缩、1:整体压缩、2:分包压缩
    density浓度(-1不设置浓度)
  • 返回

    描述
    0发送成功
    -1发送失败
    -2参数错误
    -3图片数据太大超出打印机压缩空间
    -4RFID写入失败(打印机回传)
  • 例子

    List<RFIDBeen> rfidBeenList = new ArrayList<>();
            RFIDBeen rfidBeen = new RFIDBeen();
            rfidBeen.setMemory(1);
            rfidBeen.setAddress(2);
            rfidBeen.setData("123456");
            rfidBeenList.add(rfidBeen);
            Log.d("Print", "testRFID: "+PrinterHelper.printRFIDCPCL(rfidBeenList,null,0,0,0,0,0));
    

3.50 RFID 读取
  • 描述

    readRFIDCPCL(List<RFIDBeen> rfidBeens)
    
  • 参数

    参数描述
    rfidBeensRFID对象集合
    memory储存区, 0:保留区、1:EPC区、2:TID区、 3:user区
    address起始地址,memory=0–>address(0-3)、
    memory=1–>address(2-7)、
    memory=2–>address(2-7)、
    memory=3–>address(0-255)
    length读取长度,memory=0–>length(1-8)、
    memory=1–>length(1-24)、
    memory=2–>length(1-24)、
    memory=3–>length(1-256)
  • 返回

    描述
    ListRFID对象集合(空表示失败)
    data读取的数据
  • 例子

     List<RFIDBeen> rfidBeenList = new ArrayList<>();
            RFIDBeen rfidBeen = new RFIDBeen();
            rfidBeen.setMemory(1);
            rfidBeen.setAddress(2);
            rfidBeen.setLength(24);
            rfidBeenList.add(rfidBeen);
            List<RFIDBeen> rfidBeenListResult = PrinterHelper.readRFIDCPCL(rfidBeenList);
            if (rfidBeenListResult==null){
                Log.d("Print", "testRFIDRead: null");
                return;
            }
            for (int i = 0; i < rfidBeenListResult.size(); i++) {
                Log.d("Print", "testRFIDRead: "+rfidBeenListResult.get(i).toString());
                ToastUtility.show(mContext,rfidBeenListResult.get(i).toString());
            }
    

3.51 设置蓝牙名字
  • 描述

    修改蓝牙名字,主要需要配合保存接口一起使用

    int setBluetoothName(String name)
    
  • 参数

    参数描述
    name需要修改的蓝牙名称(不能是中文,且长度不能超过32)
  • 返回

    描述
    大于 0发送成功
    -1发送失败
    -2参数错误
  • 例子

    PrinterHelper.setBluetoothName(data);
    PrinterHelper.saveParameter();
    

3.52 设置保存
  • 描述

    int saveParameter()
    
  • 参数

  • 返回

    描述
    大于 0发送成功
    -1发送失败
  • 例子

    PrinterHelper.setBluetoothName(data);
    PrinterHelper.saveParameter();
    

3.53 设置双色打印
  • 描述

    int setLayer(int layer)
    
  • 参数

    参数描述
    layer需要打印的颜色, 0:红色,1:黑色。
  • 返回

    描述
    0发送成功
    -1发送失败
  • 例子

    PrinterHelper.printAreaSize("0","200","200","100","1");
    PrinterHelper.setLayer(0);  
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","0","TEXT");
    PrinterHelper.setLayer(1);  
    PrinterHelper.text(PrinterHelper.TEXT,"4","0","0","50","TEXT");
    PrinterHelper.form();//打印标签定位作用(连续纸不可用)
    PrinterHelper.PoPrint();
    

3.54 获取电量
  • 描述

    int getElectricity()
    
  • 参数

  • 返回

    描述
    大于 0电量百分比
    -1发送失败
  • 例子

    PrinterHelper.getElectricity();
    

3.55 获取电压
  • 描述

    String getVoltage()
    
  • 参数

  • 返回

    描述
    不为空电压(格式:x.xxV)
    空字符串发送失败
  • 例子

    PrinterHelper.getVoltage();
    

3.56 监听打印机蓝牙主动断开
  • 描述

    void setDisConnectBTListener(DisConnectBTListener disConnectBTListener)
    
  • 参数

    参数描述
    disConnectBTListener断开回调接口
  • 返回

  • 例子

    PrinterHelper.setDisConnectBTListener(disConnectBTListener);
    private DisConnectBTListener disConnectBTListener = () -> runOnUiThread(() -> {
    		txtTips.setText("BT Disconnect");
    		Toast.makeText(thisCon, "BT Disconnect", Toast.LENGTH_SHORT).show();
    });		
    

3.57 获取打印机版本号
  • 描述

    String getPrinterVersion()
    
  • 参数

  • 返回

    描述
    sn打印机版本号
  • 例子

    String version = PrinterHelper.getPrinterVersion()
    

3.58 切刀
  • 描述

    int cut(int model)
    
  • 参数

    参数描述
    model(0:全切,1:半切)
  • 返回

    描述
    大于0打印机版本号
    -1发送失败
  • 例子

    PrinterHelper.cut(1);
    

Tab 1-1
VersionError LevelNumber of data
1L M Q H19 16 13 9
2L M Q H34 28 22 16
3L M Q H55 44 34 26
4L M Q H80 64 48 36
5L M Q H108 86 62 46
6L M Q H136 108 76 60
7L M Q H156 124 88 66
8L M Q H194 154 110 86
9L M Q H232 182 132 100
10L M Q H274 216 154 122
11L M Q H324 254 180 140
12L M Q H370 290 206 158
13L M Q H428 334 244 180
14L M Q H461 365 261 197
15L M Q H523 415 295 223
16L M Q H589 453 325 253
17L M Q H647 507 367 283
18L M Q H721 563 397 313
19L M Q H795 627 445 341
20L M Q H861 669 485 385
21L M Q H932 714 512 406
22L M Q H1006 782 568 442
23L M Q H1094 860 614 464
24L M Q H1174 914 664 514
25L M Q H1276 1000 718 538
26L M Q H1370 1062 754 596
27L M Q H1468 1128 808 628
28L M Q H1531 1193 871 661
29L M Q H1631 1267 911 701
30L M Q H1735 1373 985 745
31L M Q H1843 1455 1033 793
32L M Q H1955 1541 1115 845
33L M Q H2071 1631 1171 901
34L M Q H2191 1725 1231 961
35L M Q H2306 1812 1286 986
36L M Q H2434 1914 1354 1054
37L M Q H2566 1992 1426 1096
38L M Q H2702 2102 1502 1142
39L M Q H2812 2216 1582 1222
40L M Q H2956 2334 1666 1276

转载自CSDN-专业IT技术社区

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_42765163/article/details/148872508

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--