1

我在通过热敏打印机打印字符串时遇到了一些问题......

它可以正确打印字符串的内容,但不会自动裁切纸张,而是保存在打印机中,也不会将其从打印机中取出。

- 代码 -

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(); 

有任何想法吗?

4

1 回答 1

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);
于 2013-10-18T00:22:25.790 回答