2011-03-07 140 views
1

我有一個在Windows下運行的自助服務終端應用程序。我希望能夠打印到通過USB從Java應用程序連接的Windows打印機。由於打印機不是串口或USB,因此我無法使用JavaCOMM庫。我已閱讀了Java打印API,但它看起來只能打印圖像,我希望能夠將原始文本發送到打印機。如何從Java打印到Windows USB打印機?

回答

1

Java打印API可以做得更多,就像打印圖像一樣。看看the SDK Printing tutorial,有你需要的一切。

這個怎麼樣,你只需要提供一個字符數組與字符:

char[] printdata = "hello world\n".toCharArray(); 
DocFlavor flavor = DocFlavor.CHAR_ARRAY.TEXT_PLAIN; 
PrintService pservice = PrintServiceLookup.lookupDefaultPrintService(); 
DocPrintJob pjob = pservice.createPrintJob(); 
Doc doc= new SimpleDoc(printdata, flavor, null); 
job.print(doc, null); 
+0

謝謝你,我有一個快速瀏覽一下,但沒有發現簡單地打印一組的ASCII字符的方法。對於我的應用程序,我需要打印收據,而現有軟件將收據信息以ASCII文本的形式提供給我,該文本在當前實現中通過JavaCOMM直接發送到並行端口上的打印機。 – 2011-03-07 19:18:06

+0

對不起,我不得不添加額外的代碼到我的第一篇文章,評論中的代碼看起來有點可怕。 – Nachtfrost 2011-03-07 19:30:13

+0

感謝您的幫助,我會嘗試一下代碼片斷。我想知道它是否會以文本模式或圖形模式打印在打印機上?我真的很喜歡它用文本模式打印打印機的本地字符和字體,因爲這通常是最快的;渲染和打印圖形有點慢... – 2011-03-07 19:48:04