类 Printer
- java.lang.Object
-
- com.gainscha.sdk2.Printer
-
public class Printer extends java.lang.Object
-
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static voidaddConnectionListener(ConnectionListener connectionListener)添加打印机连接状态广播接收者voidconnectByBlueTooth(android.bluetooth.BluetoothDevice bluetoothDevice)连接到蓝牙打印机voidconnectByBlueTooth(java.lang.String bluetoothDeviceAddress)连接到蓝牙打印机voidconnectBySerial(java.lang.String serialPath, int boundRate)连接到串口打印机voidconnectByTcp(java.lang.String ip, int port)连接到WIFI打印机voidconnectByUsb(android.hardware.usb.UsbDevice device)连接到USB打印机voidconnectByUsbAccessory(android.hardware.usb.UsbAccessory device)连接到USB配件打印机voiddisconnect()断开与打印机的连接static voiddisconnect(java.lang.String printerId)断开打印机连接static java.util.Map<java.lang.String,Printer>getConnectedPrinters()获取已连接的打印机列表ConnectTypegetConnectType()获取打印机连接方式static PrintergetPrinter(java.lang.String printerId)获取已连接的打印机实例java.lang.StringgetPrinterId()获取打印机IDvoidgetPrinterModel(Instruction instruction, PrinterResponse<java.lang.String> callback)获取打印机型号 指定指令类型,效率高voidgetPrinterModel(PrinterResponse<java.lang.String> callback)获取打印机型号,只有TSC和ESC指令有效 通过发送两种指令请求来获取响应,效率较差voidgetPrinterStatus(Instruction instruction, PrinterResponse<PrinterState> callback)获取打印机状态,只有TSC,ESC,CPCL指令有效booleanisConnected()是否已经连接到打印机static booleanisConnected(java.lang.String printerId)判断打印机是否已连接voidprint(byte[] data)发送数据到打印机voidprint(byte[] data, int responseTimeOut, boolean responseReadUntilTimeout, PrinterResponse<byte[]> onResponse)发送数据到打印机,等待返回内容(超时时间内接收到的全部数据)voidprint(byte[] data, int responseTimeOut, PrinterResponse<byte[]> onResponse)发送数据到打印机,等待返回内容(超时时间内首次接收到的数据)voidprint(byte[] data, PrinterResponse<byte[]> onResponse)发送数据到打印机byte[]print(android.graphics.Bitmap bitmap, int count, PrinterConfig config)打印图片voidprintSelfTestPage(Instruction instruction)打印自检页static voidremoveConnectionListener(ConnectionListener connectionListener)解除打印机连接状态广播接收者voidsetAutoReConnect(boolean autoReConnect, int autoReConnectCount)设置自动重连打印机,连接被动断开时执行重连 使用TCP或蓝牙连接时才会自动重连,其它方式连接自动重连也没有意义static voidsetLogEnable(boolean enable, java.io.File outputFile)设置是否打印日志,日志保存文件,需确保应用具有文件读写权限voidsetPrinterId(java.lang.String printerId)设置打印机IDvoidudpChangePrinterDHCP(java.lang.String mac, boolean enableDHCP, int DHCPTimeOut)UDP修改打印机的DHCP开关,超时时间。voidudpChangePrinterParameter(java.lang.String mac, java.lang.String ip, java.lang.String gateway, java.lang.String netmask)UDP修改打印机的IP、网关、掩码。
-
-
-
方法详细资料
-
setLogEnable
public static void setLogEnable(boolean enable, java.io.File outputFile)设置是否打印日志,日志保存文件,需确保应用具有文件读写权限- 参数:
enable- 是否打印日志outputFile- 日志输出文件, 值为null时不保存到文件
-
getConnectedPrinters
public static java.util.Map<java.lang.String,Printer> getConnectedPrinters()
获取已连接的打印机列表
-
getPrinterId
public java.lang.String getPrinterId()
获取打印机ID- 返回:
- ID
-
setPrinterId
public void setPrinterId(java.lang.String printerId) throws java.lang.IllegalStateException设置打印机ID- 参数:
printerId- ID- 抛出:
java.lang.IllegalStateException- 已连接时设置id抛出异常
-
getPrinter
public static Printer getPrinter(java.lang.String printerId)
获取已连接的打印机实例
-
isConnected
public static boolean isConnected(java.lang.String printerId)
判断打印机是否已连接- 参数:
printerId- 打印机ID- 返回:
- 是否已连接
-
disconnect
public static void disconnect(java.lang.String printerId)
断开打印机连接
-
setAutoReConnect
public void setAutoReConnect(boolean autoReConnect, int autoReConnectCount)设置自动重连打印机,连接被动断开时执行重连 使用TCP或蓝牙连接时才会自动重连,其它方式连接自动重连也没有意义- 参数:
autoReConnect- 是否自动重连autoReConnectCount- 自动重连次数
-
addConnectionListener
public static void addConnectionListener(ConnectionListener connectionListener)
添加打印机连接状态广播接收者- 参数:
connectionListener- 广播接收者
-
removeConnectionListener
public static void removeConnectionListener(ConnectionListener connectionListener)
解除打印机连接状态广播接收者- 参数:
connectionListener- 移除打印机连接状态回调
-
isConnected
public boolean isConnected()
是否已经连接到打印机
-
disconnect
public void disconnect()
断开与打印机的连接
-
getConnectType
public ConnectType getConnectType()
获取打印机连接方式
-
print
public void print(byte[] data) throws java.io.IOException发送数据到打印机- 参数:
data- 发送的数据- 抛出:
java.io.IOException
-
print
public void print(byte[] data, PrinterResponse<byte[]> onResponse) throws java.io.IOException发送数据到打印机- 参数:
data- 发送的数据onResponse- 打印机响应回调- 抛出:
java.io.IOException
-
print
public void print(byte[] data, int responseTimeOut, PrinterResponse<byte[]> onResponse) throws java.io.IOException发送数据到打印机,等待返回内容(超时时间内首次接收到的数据)- 参数:
data- 发送的数据responseTimeOut- 打印机响应超时时间(毫秒)onResponse- 打印机响应回调- 抛出:
java.io.IOException
-
print
public void print(byte[] data, int responseTimeOut, boolean responseReadUntilTimeout, PrinterResponse<byte[]> onResponse) throws java.io.IOException发送数据到打印机,等待返回内容(超时时间内接收到的全部数据)- 参数:
data- 发送的数据responseTimeOut- 打印机响应超时时间(毫秒)responseReadUntilTimeout- 是否读取数据直到超时onResponse- 打印机响应回调- 抛出:
java.io.IOException
-
print
public byte[] print(android.graphics.Bitmap bitmap, int count, PrinterConfig config) throws java.io.IOException打印图片- 参数:
bitmap- 需要打印的图片count- 打印的份数- 抛出:
java.io.IOException
-
printSelfTestPage
public void printSelfTestPage(Instruction instruction)
打印自检页
-
getPrinterStatus
public void getPrinterStatus(Instruction instruction, PrinterResponse<PrinterState> callback)
获取打印机状态,只有TSC,ESC,CPCL指令有效- 参数:
callback- 回调
-
getPrinterModel
public void getPrinterModel(Instruction instruction, PrinterResponse<java.lang.String> callback)
获取打印机型号 指定指令类型,效率高- 参数:
instruction- 指令类型callback- 回调
-
getPrinterModel
public void getPrinterModel(PrinterResponse<java.lang.String> callback)
获取打印机型号,只有TSC和ESC指令有效 通过发送两种指令请求来获取响应,效率较差- 参数:
callback- 回调
-
connectByUsb
public void connectByUsb(android.hardware.usb.UsbDevice device)
连接到USB打印机- 参数:
device- USB设备
-
connectByUsbAccessory
public void connectByUsbAccessory(android.hardware.usb.UsbAccessory device)
连接到USB配件打印机- 参数:
device- USB配件
-
connectByTcp
public void connectByTcp(java.lang.String ip, int port)连接到WIFI打印机- 参数:
ip- 打印机IP地址port- 打印机端口,一般为9100
-
connectBySerial
public void connectBySerial(java.lang.String serialPath, int boundRate)连接到串口打印机- 参数:
serialPath- 串口设备文件路径
-
connectByBlueTooth
public void connectByBlueTooth(android.bluetooth.BluetoothDevice bluetoothDevice)
连接到蓝牙打印机- 参数:
bluetoothDevice- 蓝牙设备
-
connectByBlueTooth
public void connectByBlueTooth(java.lang.String bluetoothDeviceAddress)
连接到蓝牙打印机- 参数:
bluetoothDeviceAddress- 蓝牙地址
-
udpChangePrinterParameter
public void udpChangePrinterParameter(java.lang.String mac, java.lang.String ip, java.lang.String gateway, java.lang.String netmask)UDP修改打印机的IP、网关、掩码。发送指令后打印机会重启,请延迟一段时间后再连接- 参数:
mac- 打印机的MAC地址ip- IP地址gateway- 网关netmask- 掩码
-
udpChangePrinterDHCP
public void udpChangePrinterDHCP(java.lang.String mac, boolean enableDHCP, int DHCPTimeOut)UDP修改打印机的DHCP开关,超时时间。发送指令后打印机会重启,请延迟一段时间后再连接- 参数:
enableDHCP- 是否启用DHCPDHCPTimeOut- DHCP超时时间(秒)
-
-