Re: How to send native printer commands (escape codes) directly to
the printer ?
Hi All,
Thanks all for all your kind advice.
After many test, I found that easiest is using the codes below can do
what I need to do :
public void print() {
PrintService ps =
PrintServiceLookup.lookupDefaultPrintService();
try {
String line;
String s ="";
int iCHR27Val = 27;
char cCHR27 = (char)iCHR27Val;
int iCHR4Val = 4;
char cCHR4 = (char)iCHR4Val;
s += cCHR27 + "c0" + cCHR4 ;
s += "\n"+"\n"+"\n"+"\n"+"\n";
s += " PRINTTING FROM JAPPLET PAGE : 1 v4" +
"\n";
s += " This is FIRST LINE " + "\n";
s += " This is SECOND LINE " + "\n";
s += " This is THIRD LINE " + "\n";
s += " This is ** LAST ** LINE " + "\f";
// now print!!
if (1 > 0) {
// PrintService ps =
PrintServiceLookup.lookupDefaultPrintService();
if (ps!=null) {
//JOptionPane.showMessageDialog(null,"selected
printer " +ps.getName());
//System.out.println("selected printer " +
ps.getName());
PrintRequestAttributeSet aset= new
HashPrintRequestAttributeSet();
DocFlavor flavor =
DocFlavor.INPUT_STREAM.AUTOSENSE;
//DocFlavor flavor =
DocFlavor.SERVICE_FORMATTED.PRINTABLE;
aset.add(new MediaPrintableArea
(100,400,210,160,Size2DSyntax.MM));
DocPrintJob pj = ps.createPrintJob();
try {
ByteArrayInputStream b =new
ByteArrayInputStream(s.getBytes());
Doc doc = new SimpleDoc(b, flavor, null);
pj.print(doc, aset);
JOptionPane.showMessageDialog(null,"end
printing");
} catch (PrintException e) {
JOptionPane.showMessageDialog
(null,e.getMessage());
} catch(Exception e1) {
JOptionPane.showMessageDialog
(null,e1.getMessage());
}
} else {
JOptionPane.showMessageDialog(null,"no
Printer");
}
}
} catch (Exception e) {
} finally {
if (br != null)
try { br.close(); } catch (IOException ignore) {}
if (in != null)
try { in.close(); } catch (IOException ignore) {}
}
}
Thank you, if you have further advise, pls welcome..
best regards,
Krist