使用Java时打印机换行不能正常工作
下面是我使用java打印字符串的代码使用Java时打印机换行不能正常工作,java,printing,network-printers,Java,Printing,Network Printers,下面是我使用java打印字符串的代码 String string2 = " RECEIPT \n==============\nHeader2\nHeader 3\nLine 4 Goes Here\nLine 5 Goes Here\n============"; InputStream is = new ByteArrayInputStream(string2.getBytes()); DocFlavor flavor = DocFlavor.INPUT_STREAM.AUT
String string2 = " RECEIPT \n==============\nHeader2\nHeader 3\nLine 4 Goes Here\nLine 5 Goes Here\n============";
InputStream is = new ByteArrayInputStream(string2.getBytes());
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE ;
// Find the default service
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
System.out.println(service);
// Create the print job
DocPrintJob job = service.createPrintJob();
Doc doc= new SimpleDoc(is, flavor, null);
PrintJobWatcher pjDone = new PrintJobWatcher(job);
// Print it
job.print(doc, null);
pjDone.waitForDone();
// It is now safe to close the input stream
is.close();
它是在纸上打印的
RECEIPT
==============
Header2
Header 3
Line 4 Goes Here
Line 5 Goes Here
使用不带字符串的inputStream时也会发生同样的情况。有什么建议吗。并需要解释此DocFlavor是如何工作的。谢谢您必须使用
\r\n
而不是\r
有两个ASCII码
\n
“换行符”。它告诉打印机移到下一行。和\r
“回车”将回车移到行首。尝试\r\n
,请参见行首。