网络打印走的socket连接,主流的java, php, c, c#等语言都支持socket,所以实现打印机的网络打印几乎是和语言无关的
打印机默认端口是9100
使用socket连接上打印机后,将打印内容按照打印机的指令进行编码后调用send就可以打印了
协议文档
小票打印机和标签打印机走的协议不同,所以各自都有一个协议,小票打印机使用的是esc协议,标签打印机使用的是tsc/tspl协议
小票打印机esc协议文档:
标签打印机tsc/tspl协议文档:
可以看到打印机支持的指令非常多,下面找到常用的指令实现我们的打印目的
小票打印机
小票打印机已经有java驱动了,参考:github.com/SubLuLu/the…
小票打印机指令使用10进制表示了,所以难以阅读,指令对应的意思请对照文档
核心代码如下
连接打印机
public NetEscPos(String ip, int port, String encoding) throws IOException{
Socket socket = new Socket(ip, port);
socketOut = socket.getOutputStream();
socket.isClosed();
NetEscPos.encoding = encoding;
writer = new OutputStreamWriter(socketOut, encoding);
}
复制代码
发送命令,比如发送切纸命令
priv