Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/05/2011, 21:05
danielagogomez
 
Fecha de Ingreso: marzo-2011
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Busqueda Problema al imprimir en java

Hola a todos, tengo un problema al querer imprimir un ticket con la impresora epson tmt81, si imprime ya bien mis tickets, pero jamas los corta, ese es el unico problema, me han dicho que modifique ciertas cosas en la parte de codigo en rojo, pero la vdd no he podido, he intentado pero no sale, por favor si alguien me dijero como poder cortar mi ticket, muchas muchas gracias a todos :D y en vdd, ojala me puedan ayudar con mi codigo.
Código:
import java.awt.Image;
import java.awt.PrintJob;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.swing.ImageIcon;
public class Ticket {
static ArrayList<String> CabezaLineas=new ArrayList<String>();
static ArrayList<String> subCabezaLineas=new ArrayList<String>();
static ArrayList<String> items=new ArrayList<String>();
static ArrayList<String> totales=new ArrayList<String>();
static ArrayList<String> LineasPie=new ArrayList<String>();
Date date=new Date();
SimpleDateFormat fecha=new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat hora=new SimpleDateFormat("hh:mm:ss aa");

public void ticket() throws SQLException{
    AddCabecera("");
    AddCabecera(DarEspacio());
    AddCabecera("           Cafe internet: Anita");
    AddCabecera(DarEspacio());
    AddCabecera("          Tulancingo, EDO de Hidalgo.");
    AddCabecera(DarEspacio());
    AddCabecera("          77 32226712");
    AddCabecera(DarEspacio());
    AddSubCabecera("       "+fecha.format(date) + " " + hora.format(date));
    AddSubCabecera(DarEspacio());
    AddSubCabecera(DibujarLinea(40));
    AddTotal("CAMBIO","15.00");
    AddTotal("",DarEspacio());
    AddTotal("",DarEspacio());
    AddPieLinea(DibujarLinea(40));
    AddPieLinea(DarEspacio());
    AddPieLinea("Guarde su ticket para cualquier aclaracion");
    AddPieLinea(DarEspacio());
    AddPieLinea("Gracias por su visita");
    //AddPieLinea(DarEspacio());
    ImprimirDocumento("EPSON TM-T81Receipt");
    
    }

}
public static void AddCabecera(String line){CabezaLineas.add(line);}
public static void AddSubCabecera(String line){subCabezaLineas.add(line);}
public static void AddItem(String cantidad,String item,String price, String precioFinal, String equis, String ye){
OrderItem newItem = new OrderItem(' ');
items.add(newItem.GeneraItem(cantidad,item, price, precioFinal, equis, ye));
}
public static void AddTotal(String name,String price){
OrderTotal newTotal = new OrderTotal(' ');
totales.add(newTotal.GeneraTotal(name, price));
}
public static void AddPieLinea(String line){LineasPie.add(line);}
public static String DibujarLinea(int valor){
String raya="";for(int x=0;x<valor;x++){raya+="=";}return raya;
}
public static String DarEspacio(){return "\n";}
public static void ImprimirDocumento(String impresora){
String cadena="";
for(int cabecera=0;cabecera<CabezaLineas.size();cabecera++ ){cadena+=CabezaLineas.get(cabecera);}
for(int subcabecera=0;subcabecera<subCabezaLineas.size();subcabecera++){cadena+=subCabezaLineas.get(subcabecera);}
for(int ITEM=0;ITEM<items.size();ITEM++){cadena+=items.get (ITEM);}
for(int total=0;total<totales.size();total++){cadena+=totales.get(total);}
for(int pie=0;pie<LineasPie.size();pie++){cadena+=LineasPie.get(pie);}

DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob pj = service.createPrintJob();
byte[]bytes =cadena.getBytes();
Doc doc = new SimpleDoc(bytes, flavor,null);
try{
    
pj.print(doc,null);


}catch(Exception e){ }
}

}
Cuando imprimo mi ticket sale ya bien:
Cafe internet: Anita
Tulancingo, EDO de Hidalgo.
77 32226712
10-10-2011 14:00:00
========================
Cambio: 15.00
========================
Guarde su ticket pa cualquier aclaracion
Gracias por su visita
(ahora el corte????)