类 Printer
- java.lang.Object
-
- com.gainscha.sdk2.Printer
-
public class Printer extends java.lang.Object
-
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static void
addConnectionListener(ConnectionListener connectionListener)
添加打印机连接状态广播接收者void
connectByBlueTooth(android.bluetooth.BluetoothDevice bluetoothDevice)
连接到蓝牙打印机void
connectByBlueTooth(java.lang.String bluetoothDeviceAddress)
连接到蓝牙打印机void
connectBySerial(java.lang.String serialPath, int boundRate)
连接到串口打印机void
connectByTcp(java.lang.String ip, int port)
连接到WIFI打印机void
connectByUsb(android.hardware.usb.UsbDevice device)
连接到USB打印机void
connectByUsbAccessory(android.hardware.usb.UsbAccessory device)
连接到USB配件打印机void
disconnect()
断开与打印机的连接static void
disconnect(java.lang.String printerId)
断开打印机连接static java.util.Map<java.lang.String,Printer>
getConnectedPrinters()
获取已连接的打印机列表ConnectType
getConnectType()
获取打印机连接方式static Printer
getPrinter(java.lang.String printerId)
获取已连接的打印机实例java.lang.String
getPrinterId()
获取打印机IDvoid
getPrinterModel(Instruction instruction, PrinterResponse<java.lang.String> callback)
获取打印机型号 指定指令类型,效率高void
getPrinterModel(PrinterResponse<java.lang.String> callback)
获取打印机型号,只有TSC和ESC指令有效 通过发送两种指令请求来获取响应,效率较差void
getPrinterStatus(Instruction instruction, PrinterResponse<PrinterState> callback)
获取打印机状态,只有TSC,ESC,CPCL指令有效boolean
isConnected()
是否已经连接到打印机static boolean
isConnected(java.lang.String printerId)
判断打印机是否已连接void
print(byte[] data)
发送数据到打印机void
print(byte[] data, int responseTimeOut, boolean responseReadUntilTimeout, PrinterResponse<byte[]> onResponse)
发送数据到打印机,等待返回内容(超时时间内接收到的全部数据)void
print(byte[] data, int responseTimeOut, PrinterResponse<byte[]> onResponse)
发送数据到打印机,等待返回内容(超时时间内首次接收到的数据)void
print(byte[] data, PrinterResponse<byte[]> onResponse)
发送数据到打印机byte[]
print(android.graphics.Bitmap bitmap, int count, PrinterConfig config)
打印图片void
printSelfTestPage(Instruction instruction)
打印自检页static void
removeConnectionListener(ConnectionListener connectionListener)
解除打印机连接状态广播接收者void
setAutoReConnect(boolean autoReConnect, int autoReConnectCount)
设置自动重连打印机,连接被动断开时执行重连 使用TCP或蓝牙连接时才会自动重连,其它方式连接自动重连也没有意义static void
setLogEnable(boolean enable, java.io.File outputFile)
设置是否打印日志,日志保存文件,需确保应用具有文件读写权限void
setPrinterId(java.lang.String printerId)
设置打印机IDvoid
udpChangePrinterDHCP(java.lang.String mac, boolean enableDHCP, int DHCPTimeOut)
UDP修改打印机的DHCP开关,超时时间。void
udpChangePrinterParameter(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超时时间(秒)
-
-