2013-10-16 34 views
1

我就吃了一點問題,通過熱敏打印機打印字符串...熱敏收據打印機問題削減

它正常打印字符串的內容,但它不是自動切割紙張,它保存在打印機中,而不是放在打印機中。

--CODE--

receipt = "Table #"+rs.getInt("table_id")+"\n\n" 
        + "Food\t\tAdd\t\tRemove\n\n"; 

String defaultPrinter = PrintServiceLookup.lookupDefaultPrintService().getName(); 
System.out.println("Default printer: " + defaultPrinter); 
PrintService service = PrintServiceLookup.lookupDefaultPrintService(); 

InputStream is = new ByteArrayInputStream(receipt.getBytes("UTF8")); 

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE; 
Doc doc = new SimpleDoc(is, flavor, null); 
DocPrintJob job = service.createPrintJob(); 
PrinterJob printJob = PrinterJob.getPrinterJob(); 


job.print(doc, null); 
is.close(); 

什麼想法?

回答

0

你應該做的方式如下:

DocPrintJob job = PrintServiceLookup.lookupDefaultPrintService().createPrintJob(); 
byte[] bytes = {27, 100, 3}; 
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE; 
Doc doc = new SimpleDoc(bytes, flavor, null); 
job.print(doc, null); 
+1

你在哪裏指定你需要在一個打印的特定字符串? – ralph