使用原因:應項目要求,需要使用打印機,但是如果使用Windows驅動來實現打印,在某些條件下會發生網絡堵塞等,而且沒有提示,所以為了確保信息的完整,避免數據丟失。我們使用無驅打印(直接寫端口的方法),不用安裝打印機的驅動了
使用原理:POS 打印機行業有一條捷徑,現在市面上的 POS 打印機基本都支持愛普生(EPSON )指令,這樣我們可以在程序與打印機連接之后通過這些指令控制打印機了,打印機接收到指令之后解析內容然后打印出來
具體操作:第一步:首先我們服務器與打印機之間也是通過簡單的Socket連接,所以需要得到打印機的IP地址和端口號,因為一般的打印機端口號都是9100,所以我們需要給打印機設置一個IP
Socket client=new java.net.Socket();
第二步:建立連接之后,此時就需要打印你想打印的東西了,所以還需要一個輸入輸出流來得到打印內容
PrintWriter socketWriter;
client.connect(new InetSocketAddress("192.168.*.*" , 9100),1000); // 創建一個 socket ,設置超時時間
socketWriter = new PrintWriter(client.getOutputStream());// 創建輸入輸出數據流
第三步:此時就只需要在其中通過write或者println方法寫入了(write是寫數字或字符的,而println是寫入字符串的)
socketWriter.write(0);
socketWriter.println("打印");
第四步:還需要加入epson指令去適應打印機的打印,但是這些並不復雜,主要實現了打印條形碼、放大字體、自動走紙等等