Search This Blog

Monday, December 6, 2010

Printing with EPSON TM-H6000III Slip and EPSON TM-H6000III Receipt



private static final byte[] INIT_PRINTER = { 0x1B, 0x40 };
private static final byte[] SELECT_SLIP_1 = {0x1B, 0x63, 0x30, 0x04, 0x1B, 0x74, 0x13};
private static final byte[] END_SLIP_1 = {0x0C, 0x1B, 0x63, 0x30, 0x01, 0x1B, 0x74, 0x13, 0x1B, 0x71, 0x1B, 0x46, 0x00};

public boolean sendReportToSlipPrinter(String printName, byte[] bys) {

byte[] buff = new byte[MAX];
buff = append(INIT_PRINTER, SELECT_SLIP_1);
buff = append(buff, bys);
buff = append(buff, END_SLIP_1);

final byte[] buff1 = buff;



return (Boolean) AccessController.doPrivileged(
new PrivilegedAction() {

@Override
public Object run() {
try {
PrintService tsp100 = getPrintService(SLIP_PRINTER);
DocPrintJob job = tsp100.createPrintJob();

DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new SimpleDoc(buff1, flavor, null);
if (doc == null) {
System.out.println("doc is null");
}
if (job == null) {
System.out.println("job is null");
}
job.print(doc, null);
job.addPrintJobListener(new ResourceFinalizer());
return true;
} catch (Exception e) {
showMessageToScreen(e, JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
return false;
}
}
});
}