Código:
Si alguien sabe cómo se puede cortar el ticket, acepto la ayuda. Muchas gracias y un saludo!! public class Impresora
{
//Constructores
Impresora()
{
}
/**
*Método para imprimir los ticket, al que se le pasan las líneas
*/
public void imprimir(List lista2,String desde, String hasta)
{
Connection conn=null;
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
//Creamos un trabajo de impresión
DocPrintJob pj = service.createPrintJob();
//Nuestro trabajo de impresión envía una cadena de texto
byte[] bytes;
//Transformamos el texto a bytes que es lo que soporta la impresora
String ss=new String();
ss=ss+"\nBar Ventas";
ss=ss+"\nDesde Hasta ";
ss=ss+"\n"+desde.substring(8)+desde.substring(4,8)+desde.substring(0,4)+" "+hasta.substring(8)+hasta.substring(4,8)+hasta.substring(0,4);
ss=ss+"\n";
ss=ss+"\n Código hora camarero total";
Iterator it = lista2.iterator();
float tot=0;
conn=BDConex.obtenerConexion();
int cont=0;
if(it.hasNext())
{
while(it.hasNext())
{
Cuenta cuen = (Cuenta) it.next();
CUsuarios BDUsu=new CUsuarios(conn);
String cadLista=" "+cuen.getIdcuenta()+" "+cuen.getHora()+" "+BDUsu.tomarNombre(cuen.getIdusuario())+" "+cuen.getTotal();
ss=ss+"\n"+cadLista;
tot=tot+cuen.getTotal();
cont++;
}
ss=ss+"\n ";
ss=ss+"\n TOTAL: "+tot;
ss=ss+"\n ";
ss=ss+"\n ";
ss=ss+"\n ";
ss=ss+"\n ";
ss=ss+"\n ";
ss=ss+"\n ";
ss=ss+"\n ";
ss=ss+"\n ";
ss=ss+"\n ";
ss=ss+"\n ";
}
bytes=ss.getBytes();
//Creamos un documento (Como si fuese una hoja de Word para imprimir)
Doc doc=new SimpleDoc(bytes,flavor,null);
//Obligado coger la excepción PrintException
try {
//Mandamos a imprimir el documento
pj.print(doc, null);
}
catch (PrintException er) {
System.out.println("Error al imprimir: " + er.getMessage());
}
}
}

