【发布时间】:2018-08-07 13:46:18
【问题描述】:
我在剪纸时遇到问题。我有 Epson TM-T20 收据,打印完成后尝试剪纸。我在某处发现这是用于剪切byte[] bytes = { 27, 100, 3 } 的代码,但它不起作用。
以下是我用于打印的代码。
public static void printer(String printerData, Boolean bill) throws IOException {
try {
PrintService[] printServices = PrinterJob.lookupPrintServices();
String testData = printerData + "\r";
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] bytes = { 27, 100, 3 }; //Code for cutting
outputStream.write(testData.getBytes(Charset.forName("UTF-8")));
outputStream.write(bytes);
InputStream is = new ByteArrayInputStream(outputStream.toByteArray());
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
System.out.println(service);
DocPrintJob job = service.createPrintJob();
Doc doc = new SimpleDoc(is, flavor, null);
PrintJobWatcher pjDone = new PrintJobWatcher(job);
job.print(doc, null);
pjDone.waitForDone();
is.close();
} catch (PrintException e) {
Writer fw = new OutputStreamWriter(new FileOutputStream("log.txt", true), StandardCharsets.UTF_8);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter writer = new PrintWriter(bw);
e.printStackTrace(writer);
writer.close();
} catch (IOException e) {
Writer fw = new OutputStreamWriter(new FileOutputStream("log.txt", true), StandardCharsets.UTF_8);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter writer = new PrintWriter(bw);
e.printStackTrace(writer);
writer.close();
}
}
【问题讨论】:
标签: java printing epson receipt