Hola , tengo un pequeño problema al mandar imprimir tickets con el metodo print que tengo al implementar la clase Printable .
mi problema es qe me imprime 3 veces lo que quiero imprimir e imprime tres veces lo mismo y hasta la tercera vez corta, por lo de pageIndex, se que el pageIndex es el numero de la pagina a imprimir, pero nose por que las primeras veces es 0 yluego 1.
Aqui les dejo mi codigo para que lo chequen y ojala alguien me pueda ayudar muchas muchas gracias
Código:
public class Ticket implements Printable {
static ArrayList<String> CabezaLineas=new ArrayList<String>();
SimpleDateFormat hora=new SimpleDateFormat("hh:mm:ss aa");
public static void AddCabecera(String line){CabezaLineas.add(line);}
public static String DarEspacio(){return "\n";}
public static void ImprimirDocumento(String impresora){
String cadena="";
for(int cabecera=0;cabecera<CabezaLineas.size();cabecera++ ){cadena+=CabezaLineas.get(cabecera);}
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob pj = service.createPrintJob();
byte[]bytes =cadena.getBytes();
Doc doc = new SimpleDoc(bytes, flavor,null);
try{
pj.print(doc,null);
}catch(Exception e){ }
}
@Override
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
AddCabecera("");
AddCabecera(DarEspacio());
AddCabecera(" TEXTO QUE QUIERO IMPRIMIR UNA SOLA VEZ");
AddCabecera(DarEspacio());
AddSubCabecera(DibujarLinea(5));
ImprimirDocumento("EPSON TM-T81Receipt");
if(pageIndex==0){System.out.println("ESto ees con cero"+pageIndex);
return PAGE_EXISTS;}
else{System.out.println("ESto es pageindex con uno "+pageIndex);return NO_SUCH_PAGE;}
}
}
JAVA*NETBEANS+EPSON TMT81 ticketssssss!!!!!!!!!!! gracias