public class PrinterAPI
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
static interface |
PrinterAPI.FirmwareListener |
限定符和类型 | 字段和说明 |
---|---|
static int |
BOXOPEN |
static int |
CORRECTINGERROR |
static int |
ERR_PARAM |
static int |
FAIL |
static int |
FEEDING |
static int |
FEEDING_10 |
static int |
HAPPENERROR |
static int |
IMPACT_PRINTER |
static int |
MACHINEERROR |
static int |
NOSUPPROT |
static int |
NOTCORRECTERROR |
static int |
OFF_LINE |
static int |
OUTOFPAPER |
static int |
OUTOFPAPER_8 |
static int |
PAPERFEW |
static java.lang.String |
PRINTERNAME |
static int |
STRINGLONG |
static int |
SUCCESS |
static int |
THERMAL_PRINTER |
限定符和类型 | 方法和说明 |
---|---|
int |
changeBd(int bd)
通过指令去修改波特率,有dip 的不管用
|
int |
chineseFontSet(int n)
汉字模式
1C 21 N |
void |
clear()
清除串口废弃的数据;
|
int |
closeMark() |
int |
comeInHex()
进入十六进制
|
int |
connect(com.szsicod.print.io.InterfaceAPI io)
连接设备io
|
int |
cutMark() |
int |
cutPaper(int m,
int n)
选择裁纸模式并裁纸
1D 56 29 86 |
int |
disconnect()
关闭连接和释放资源
|
int |
doTestPrint(int n,
int m)
执行测试打印
1D 28 41 29 40 65 |
int |
downLoadNvBitmap(android.graphics.Bitmap[] bitmaps)
下载nv 位图
|
int |
feedToStartPos()
将标记打印纸进纸到打印起始位置
1D 0C 29 12 |
int |
fontSizeSet(int n)
设置汉字打印方式
1C 21 N |
int |
fullCut()
全切
|
static PrinterAPI |
getInstance() |
com.szsicod.print.io.InterfaceAPI |
getIO() |
int |
getPrinterCutStatus()
是否卡纸
|
int |
getPrinterStatus(int n)
传送状态(串口)
1D 72 29 114 |
java.lang.String |
getPrinterVersion()
获取当前版本号(需要固件支持)
|
int |
getStatus()
实时状态传送
16 4 10 4 |
int |
getStatusForPrinting(int timeOut)
判断是否是打印过程中还是打印完成
1 是打印完成 0 打印中 -1 数据传送失败
|
int |
getStatusWithASC()
自动上报 ASC 命令
|
int |
getStatusWithASC(boolean clear)
自动上报 ASC 命令
|
int |
getSwitch1Value()
关用1,0为开;
|
int |
getSwitch2Value()
关用1,0为开;
|
int |
halfCut()
半切
|
int |
hexMsg(java.lang.String msg,
boolean isHex)
可以会抛出类型转换异常
|
int |
init()
初始化
27 64 这个指令 用于清空缓冲区和恢复默认值 一般在打印图片前或者后调用,避免打不全对后面数据的影响 可以跟 initAllPrinter方法一起用 |
int |
initAllPrinter(int n)
完全初始化
27 64 16 5 n
|
boolean |
isBlackMark() |
boolean |
isConnect() |
boolean |
isOpenCash() |
boolean |
isYKPrinter()
是否是研科的机器 暂时只支持u口
|
int |
lx()
跟是否能接到数据来判定 波特率
|
int |
markDefalut()
初始化
1D 0C |
int |
markLengthSet(int printerType,
int ticketType,
int Q0,
int L0,
int mPrintLen,
int mTicketLen,
int mCutLen)
设定黑标偏移量
0x1d 0x28 0x46 pl ph a m nl nh 功能:设置黑标偏移 参数:P - 发票长度 |
int |
openCashDrawer(int n,
int t1,
int t2) |
int |
openMark() |
int |
pageMode()
选择页模式
1B 4C 27 76 |
int |
pageModeArea(int x,
int y,
int width,
int height)
设置页模式打印区域 单位:mm
|
int |
pagePrint()
页模式下打印缓冲数据
1B 0C 27 12 |
int |
pagePrintAndBack2Standard()
页模式打印并返回标准模式
18 12 |
int |
pageRemoveAllData()
页模式下取消打印数据
18 24 |
int |
pageSelectDirection(int n)
在页模式下选择打印方向
1B 54 27 84 |
int |
parseStatus(byte[] mCmd)
解析打印机状态.
|
int |
pointTest()
送黑标纸至打印起始位置
1D 0C |
int |
printAndBackToStd()
页模式下回标准模式
0C 12 |
int |
printAndFeedLine(int n)
打印并进纸 n 行
1B 64 27 100 |
int |
printAndFeedPaper(int n)
打印并进纸
1B 4A 27 74 |
int |
printBackFlow(int n)
打印并退纸 n/144英寸
1B 4B n |
int |
printBarCode(int m,
int n,
java.lang.String barcode)
打印条形码?
|
int |
printCode128(java.lang.String a) |
int |
printerRequestsRealTime(int type)
实时打印机请求
10 5 16 5 |
int |
printFeed()
打印并换行
0A 10 |
int |
printImageForPin(android.graphics.Bitmap bitmap)
针式打印
|
int |
printKanjiQRCode(java.lang.String text,
boolean isCut) |
int |
printPDFCode(java.lang.String text,
int errorSize,
int hSize,
int vSize)
PDF条码打印
|
int |
printQRCode(java.lang.String text,
int modeSize,
boolean isCut)
打印二维码
1D 28 6B 29 40 107 |
int |
printQRCode2(java.lang.String text)
打印二维码
1D 28 6B 29 40 107 |
int |
printRasterBitmap(android.graphics.Bitmap bitmap)
打印光栅位图
1D 76 30 29 118 48 |
int |
printRasterBitmap(android.graphics.Bitmap bitmap,
boolean toGray)
打印光栅位图
1D 76 30 29 118 48 |
int |
printRasterBitmap(android.graphics.Bitmap bitmap,
boolean toGray,
int timeOut)
打印光栅位图
1D 76 30 29 118 48 |
int |
printRasterBitmap(android.graphics.Bitmap bitmap,
boolean toGray,
int timeOut,
boolean check)
打印光栅位图
1D 76 30 29 118 48 |
int |
printRasterBitmap(android.graphics.Bitmap bitmap,
boolean toGray,
int timeOut,
boolean isJini,
boolean check)
打印光栅位图
1D 76 30 29 118 48 |
int |
printString(java.lang.String text) |
int |
printString(java.lang.String text,
java.lang.String charsetName,
boolean isFeed) |
int |
printTab()
水平制表
0x09 |
int |
readIO(byte[] readBuffer,
int offsetSize,
int readSize,
int waitTime)
读取指令
|
int |
readPrinterFlash() |
int |
resetPrinter()
恢复默认设置 建议少用
|
int |
selfTestPage()
打印自检
|
int |
sendOrder(byte[] cmd)
写入指令
发送自定义指令
|
int |
sendOrder(byte[] cmd,
int timeOut)
写入指令
发送自定义指令
|
int |
set2400()
设置波特率
|
int |
set58mm() |
int |
set80mm() |
int |
setAbsolutePosition(int nl,
int nh)
设置绝对(当前行打印的第一个位置)打印位置(nl+nh*256)*0.125;
|
int |
setAlignMode(int type)
选择对齐方式
1B 61 27 97 |
int |
setBarCodeHeight(int n)
设置条形码高度
1D 68 29 104 |
int |
setBarCodeWidth(int n)
设置条形码宽度
1D 77 29 119 |
int |
setCharCodeTable(int n)
选择字符代码表
1B 74 27 116 |
int |
setCharRightSpace(int n)
设置字符右间距
1B 20 27 32 |
int |
setCharSize(int hsize,
int vsize)
这个是用来设置字体倍宽倍高的
设定字符大小
1D 21 n 29 33 n 参数0-7就行 |
int |
setDefaultLineSpace()
选择缺省行间距
1B 32 27 50 |
int |
setEmphasizedMode(int n)
设定/解除粗体打印
1B 45 27 69 |
int |
setEnablePanelButton(int n)
激活/禁止面板按键
1B 63 35 27 99 53 |
int |
setEnableSmoothPrn(int n)
设置 解除平滑模式
1D 62 29 98 |
int |
setEnableUnderLine(int enable)
设定 / 解除下划线
1B 2D 27 45 |
int |
setFontStyle(int type)
选择打印模式
1B 21 27 33 |
int |
setHorizontalTab(int[] k,
boolean isSetDefault)
水平制表点设置
1B 44 |
int |
setInterCharSet(int n)
选择国际字符集
1B 52 27 82 |
int |
setLeftMargin(int nL,
int nH)
设定左侧空白量
1D 4C 29 76 空白量了(nl +nh*256)*0.125毫米 |
int |
setLineSpace(int n)
设置行间距
1B 33 27 51 |
void |
setmFirmwareListener(PrinterAPI.FirmwareListener mFirmwareListener) |
int |
setNullPointer()
空命令
|
void |
setOutput(boolean output)
设置日志输出文件标志
|
int |
setOverlapMode(int n)
设定/解除重叠打印
1B 47 27 71 |
int |
setPageAbsolutePosition(int nl,
int nh)
在页模式设置绝对打印位置(nl+nh*256)*0.125;
|
int |
setPageRelativePosition(int nl,
int nh)
在页模式 设置相对当前打印位置(nl+nh*256)*0.125;
|
int |
setPaperSensor(int n)
选择打印纸传感器以输出缺纸信号
1B 63 33 27 99 51 |
int |
setPrintColorSize(int n)
设置浓度
仅支持1-4浓度 一般字体加重的浓度 |
int |
setPrintColorSize2(int n) |
int |
setPrintQRCodeErrCL(int level)
QR Code: Selects the error correction level
1D 28 6B 29 40 107 |
int |
setPrintQRCodeSize(int size)
QR Code: Sets the size of module
1D 28 6B 29 40 107 |
int |
setPrintQRCodeType(int type)
QR Code: Selects the model
1D 28 6B 29 40 107 |
int |
setPrnAreaWidth(int nL,
int nH)
设置打印区域宽度
1D 57 29 87 宽度为 (nl +nh*256)*0.125毫米 82.5毫米纸宽型号 缺省值 nl=128,nh=2 79.5毫米纸宽型号 缺省值 nl=64,nh=2 60毫米纸宽型号缺省值 nl=192,nh=1 58毫米纸宽型号 缺省值 nl=176,nh=1 |
int |
setRelativePosition(int nl,
int nh)
设置相对当前打印位置(nl+nh*256)*0.125;
|
int |
setReverse(boolean reverse)
设置颠倒
|
int |
setRotate(int n)
设置 / 解除顺时针 90 ° 旋转
1B 56 27 86 |
int |
setSensorToStopPrint(int n)
选择打印纸传感器以停止打印
1B 63 34 27 99 52 |
int |
smallFontSizeSet()
小字体
1c 2e 1b 74 00 1c 26 1b 21 01 0a |
int |
standardMode()
选择标准模式
1B 53 27 83 |
int |
updateFirmware(java.io.File file)
用于固件升级
|
int |
writeIO(byte[] writeBuffer,
int offsetSize,
int writeSize,
int waitTime)
写入指令
|
public static final int OFF_LINE
public static final int FEEDING
public static final int FEEDING_10
public static final int HAPPENERROR
public static final int OUTOFPAPER_8
public static final int BOXOPEN
public static final int CORRECTINGERROR
public static final int NOTCORRECTERROR
public static final int MACHINEERROR
public static final int PAPERFEW
public static final int OUTOFPAPER
public static final int SUCCESS
public static final int FAIL
public static final int ERR_PARAM
public static final int IMPACT_PRINTER
public static final int STRINGLONG
public static final int NOSUPPROT
public static final int THERMAL_PRINTER
public static final java.lang.String PRINTERNAME
public com.szsicod.print.io.InterfaceAPI getIO()
public static PrinterAPI getInstance()
public void setOutput(boolean output)
output
- public int updateFirmware(java.io.File file)
file
- 固件的路径public int connect(com.szsicod.print.io.InterfaceAPI io)
io
- InterfaceAPI 连接的类型public int disconnect()
public int sendOrder(byte[] cmd)
cmd
- 指令数组public int sendOrder(byte[] cmd, int timeOut)
cmd
- 指令数组timeOut
- 超时时间 单位mspublic int printImageForPin(android.graphics.Bitmap bitmap)
bitmap
- public int writeIO(byte[] writeBuffer, int offsetSize, int writeSize, int waitTime)
writeBuffer
- 指令字节数组offsetSize
- 偏移量,一般为0writeSize
- 数组大小waitTime
- 等待时间public int readIO(byte[] readBuffer, int offsetSize, int readSize, int waitTime)
readBuffer
- 指令字节数组offsetSize
- 偏移量readSize
- 读取大小waitTime
- 等待时间public int getPrinterCutStatus()
public java.lang.String getPrinterVersion()
public int init()
public int initAllPrinter(int n)
n
- 1 错误恢复从错误行开始打印 2 错误恢复和清除缓冲内容public int getStatus()
public int printString(java.lang.String text, java.lang.String charsetName, boolean isFeed) throws java.io.UnsupportedEncodingException
text
- 打印的字符串charsetName
- 字符集isFeed
- 是否 换行java.io.UnsupportedEncodingException
public int printString(java.lang.String text) throws java.io.UnsupportedEncodingException
text
- 打印的字符串java.io.UnsupportedEncodingException
public int printRasterBitmap(android.graphics.Bitmap bitmap) throws java.io.IOException
bitmap
- 位图java.io.IOException
public int printRasterBitmap(android.graphics.Bitmap bitmap, boolean toGray) throws java.io.IOException
bitmap
- 位图toGray
- true 变灰java.io.IOException
public int printRasterBitmap(android.graphics.Bitmap bitmap, boolean toGray, int timeOut) throws java.io.IOException
bitmap
- 位图toGray
- true 变灰timeOut
- 超时时间java.io.IOException
public int printRasterBitmap(android.graphics.Bitmap bitmap, boolean toGray, int timeOut, boolean isJini, boolean check) throws java.io.IOException
bitmap
- 位图toGray
- true 变灰timeOut
- 超时时间 单位毫秒isJini
- 是否使用本地方法check
- 是否需要检测 数据是否已经全部下发到打印机.解决第一张打印正常第二张乱码的问题.java.io.IOException
public int printRasterBitmap(android.graphics.Bitmap bitmap, boolean toGray, int timeOut, boolean check) throws java.io.IOException
bitmap
- 位图toGray
- true 变灰timeOut
- 超时时间check
- 是否需要检测 数据是否已经全部下发到打印机.解决第一张打印正常第二张乱码的问题.java.io.IOException
public int printQRCode2(java.lang.String text)
text
- String 为二维码内容,Boolean为打印二维码后是否切纸public int printQRCode(java.lang.String text, int modeSize, boolean isCut)
text
- String 为二维码内容,Boolean为打印二维码后是否切纸modeSize
- 设置条码大小(1FAIL6)
默认为6public int printKanjiQRCode(java.lang.String text, boolean isCut)
public int printPDFCode(java.lang.String text, int errorSize, int hSize, int vSize)
errorSize
- :纠错等级,可控制条码大小hSize
- :宽度 0-30(建议0)vSize
- : 高度3-90(建议0)public int setPrintQRCodeType(int type)
type
- public int setPrintQRCodeSize(int size)
size
- 1-16public int setPrintQRCodeErrCL(int level)
level
- 纠错级别 48-51public int printFeed()
public int printBackFlow(int n)
public int printAndBackToStd()
public int printerRequestsRealTime(int type)
type
- public int setFontStyle(int type)
type
- public int setCharRightSpace(int n)
n
- n*0.125毫米public int setEnableUnderLine(int enable)
enable
- 最低位有效:1为设定 0位解除public int setNullPointer()
public int setDefaultLineSpace()
public int setLineSpace(int n)
n
- n*0.125毫米 缺省值为30public int setEmphasizedMode(int n)
n
- 最低位有效:1为设定 0位解除public int setPrintColorSize(int n)
n
- public int setPrintColorSize2(int n)
public int setOverlapMode(int n)
n
- 最低位有效:1为设定 0位解除public int printAndFeedPaper(int n)
n
- n*0.125毫米public int setInterCharSet(int n)
n
- public int setRelativePosition(int nl, int nh)
nl
- 0-255nh
- 0-255public int setPageRelativePosition(int nl, int nh)
nl
- 0-255nh
- 0-255public int setAbsolutePosition(int nl, int nh)
nl
- 0-255nh
- 0-255public int setPageAbsolutePosition(int nl, int nh)
nl
- 0-255nh
- 0-255public int fullCut()
public int halfCut()
public int setAlignMode(int type)
type
- 0为左对齐 ,1 为居中对齐,2 为右对齐public int setPaperSensor(int n)
n
- 8传输缺纸状态,2传输纸将尽状态public int setSensorToStopPrint(int n)
n
- 2传送纸将尽public int setEnablePanelButton(int n)
n
- 最低位有效:1禁止 0位激活public int printAndFeedLine(int n)
n
- n *设定的行间距public int setCharCodeTable(int n)
n
- public int feedToStartPos()
public int setCharSize(int hsize, int vsize)
参数0-7就行
hsize
- vsize
- public int doTestPrint(int n, int m)
n
- 0 为 basic sheet; 1 2 为卷纸m
- 1 让打印机进入十六进制;2 打印机状态打印;3 卷纸模式打印public int setLeftMargin(int nL, int nH)
nL
- nH
- public int cutPaper(int m, int n)
m
- 66 保留一点不切n
- 0public int setPrnAreaWidth(int nL, int nH)
nL
- nH
- public int setEnableSmoothPrn(int n)
n
- 最低位有效:1为设定 0位解除public int setBarCodeHeight(int n)
n
- 0public int printBarCode(int m, int n, java.lang.String barcode) throws java.io.UnsupportedEncodingException
m
- 使用条码系统类型n
- 字符个数barcode
- 字符串java.io.UnsupportedEncodingException
public int getPrinterStatus(int n)
n
- n = 1, 49public int setBarCodeWidth(int n)
n
- 2-16 我方打印机范围为2-6 通用的打印机 2-16 所以有些值不管用public int pagePrintAndBack2Standard()
public int pageRemoveAllData()
public int pagePrint()
public int pageMode()
public int setReverse(boolean reverse)
reverse
- true 设置颠倒 false 取消颠倒public int standardMode()
public int pageModeArea(int x, int y, int width, int height)
x
- 打印水平起始位置y
- 打印垂直起始位置width
- 打印区域宽度height
- 打印区域高度public int pageSelectDirection(int n)
n
- 0 从左到右 1从底到上 2 从右到左 3 从上到下public int setRotate(int n)
n
- 0,48 解除 1,49设置public int resetPrinter()
public int set58mm()
public int set80mm()
public int readPrinterFlash()
public int hexMsg(java.lang.String msg, boolean isHex)
msg
- 格式是##0a 23 0d##isHex
- true 数据是十六进制 false 是十进制public int markLengthSet(int printerType, int ticketType, int Q0, int L0, int mPrintLen, int mTicketLen, int mCutLen)
功能:设置黑标偏移 参数:P - 发票长度
printerType
- 0 针式打印机 是乘0.175 ;其他是0.125ticketType
- 0 是打印首行在黑标之前;其他在黑标之后L0
- - 黑标传感器位置到撕纸线位置的距离Q0
- - 打印针头到黑标传感器位置的距离mTicketLen
- 票长mPrintLen
- 黑标到首行打印位置距离mCutLen
- 黑标到切纸位置的距离public int pointTest()
public int fontSizeSet(int n)
public int chineseFontSet(int n)
n
- 0为禁止 4 允许倍宽 8 允许倍高 128 允许下划线public int smallFontSizeSet()
public int markDefalut()
public int openMark()
public int closeMark()
public int cutMark()
public int selfTestPage()
public int comeInHex()
public int setHorizontalTab(int[] k, boolean isSetDefault)
k
- 推进点设置 十进制isSetDefault
- 取消制表点public int printTab()
public int set2400()
public int lx()
public int openCashDrawer(int n, int t1, int t2)
n
- 0 pin2 上输出 1 pin5 上输出t1
- 开启时间 t1*2t2
- 关闭时间 t2*2public int printCode128(java.lang.String a)
public int changeBd(int bd)
bd
- 波特率public boolean isConnect()
public int parseStatus(byte[] mCmd) throws java.lang.Exception
mCmd
- 打印机状态数据java.lang.Exception
public int downLoadNvBitmap(android.graphics.Bitmap[] bitmaps)
bitmaps
- 图片类型.bmp 的数组public int getStatusWithASC()
public int getStatusWithASC(boolean clear)
clear
- 是否要清除 自动上报影响public int getStatusForPrinting(int timeOut)
1 是打印完成 0 打印中 -1 数据传送失败
timeOut
- 时间越短越精确public void setmFirmwareListener(PrinterAPI.FirmwareListener mFirmwareListener)
public boolean isBlackMark()
public int getSwitch1Value()
public int getSwitch2Value()
public boolean isYKPrinter()
public void clear()
public boolean isOpenCash()