Tema: Cortar papel
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2007, 09:11
lamale85
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 17 años, 4 meses
Puntos: 1
Cortar papel

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!!