2 回答
TA贡献1772条经验 获得超5个赞
问题已解决:感谢 VGR。
这是一个可以帮助任何遇到相同问题的人的代码:
private PrintService printer = ...; // init this using PrintService.lookupPrintServices();
if(this.printer != null) {
String commandToSend = "Some command\n";
Doc myDoc = new SimpleDoc(commandToSend.getBytes(), DocFlavor.BYTE_ARRAY.AUTOSENSE, null);
DocPrintJob job = this.printer.createPrintJob();
try {
job.print(myDoc, null);
} catch (PrintException e) {
e.printStackTrace();
}
}
TA贡献1833条经验 获得超4个赞
不确定你是否能够解决它,但这里有一个例子
final byte[] VALIDATION_MODE = new byte[]{27, 'c', '0', 4}; // Print in validation mode
final byte[] PAPER_FULL_CUT = {0x1d,0x56,0x00}; // Full cut paper
final byte[] PAPER_PART_CUT = {0x1d,0x56,0x01}; // Partial cut paper
public void print(String receiptContent, String printerName) throws IOException {
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
DocPrintJob docPrintJob = selectedPrinter(printerName).createPrintJob();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
outputStream.write(VALIDATION_MODE);
outputStream.write(receiptContent.getBytes());
outputStream.close();
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
Doc doc = new SimpleDoc(inputStream, flavor, null);
try {
docPrintJob.print(doc, null);
} catch (PrintException e) {
System.out.println("Error:" + e.getMessage());
}
System.out.println("Print Job Finished");
}
添加回答
举报