2011-03-07 139 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