Foros del Web » Programación para mayores de 30 ;) » Java »

Cortar papel

Estas en el tema de Cortar papel en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 03/12/2007, 09:11
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 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!!
  #2 (permalink)  
Antiguo 03/12/2007, 21:40
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Re: Cortar papel

¿La máquina impresora tiene API para que la puedas acceder?
Si no es así, creo que Java no te permite hacerlo por simple código
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:08.