使用原因:應專案要求,需要使用印表機,但是如果使用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指令去適應印表機的列印,但是這些並不複雜,主要實現了列印條形碼、放大字型、自動走紙等等
http://www.ibm.com/developerworks/cn/java/j-lo-pos/