Hola!!!Tengo un pequeño problema, he conseguido hacer un programilla para poder imprimir tickets pero no se corta el papel. Imprime todas las líneas que quiero sin límites, pero al terminar de imprimir no corta el ticket. El código que uso es el siguiente:
Código:
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());
}
}
}
Si alguien sabe cómo se puede cortar el ticket, acepto la ayuda. Muchas gracias y un saludo!!