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()); } } }