Impri Mir

//Ticket attribute content private String contentTicket = "VINATERIA {{nameLocal}}\n"+ "EXPEDIDO EN: {{expedition}}\n"+

Views 112 Downloads 1 File size 34KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

//Ticket attribute content private String contentTicket = "VINATERIA {{nameLocal}}\n"+ "EXPEDIDO EN: {{expedition}}\n"+ "DOMICILIO CONOCIDO MERIDA, YUC.\n"+ "=============================\n"+ "MERIDA, XXXXXXXXXXXX\n"+ "RFC: XXX-020226-XX9\n"+ "Caja # {{box}} - Ticket # {{ticket}}\n"+ "LE ATENDIO: {{cajero}}\n"+ "{{dateTime}}\n"+ "=============================\n"+ "{{items}}\n"+ "=============================\n"+ "SUBTOTAL: {{subTotal}}\n"+ "IVA: {{tax}}\n"+ "TOTAL: {{total}}\n\n"+ "RECIBIDO: {{recibo}}\n"+ "CAMBIO: {{change}}\n\n"+ "=============================\n"+ "GRACIAS POR SU COMPRA...\n"+ "ESPERAMOS SU VISITA NUEVAMENTE {{nameLocal}}\n"+ "\n"+ "\n"; //El constructor que setea los valores a la instancia void Ticket(String nameLocal, String expedition, String box, String ticket, String caissier, String dateTime, String items, String subTotal, String tax, String total, String recibo, String change) { this.contentTicket = this.contentTicket.replace("{{nameLocal}}", nameLocal); this.contentTicket = this.contentTicket.replace("{{expedition}}", expedition); this.contentTicket = this.contentTicket.replace("{{box}}", box); this.contentTicket = this.contentTicket.replace("{{ticket}}", ticket); this.contentTicket = this.contentTicket.replace("{{cajero}}", caissier); this.contentTicket = this.contentTicket.replace("{{dateTime}}", dateTime); this.contentTicket = this.contentTicket.replace("{{items}}", items); this.contentTicket = this.contentTicket.replace("{{subTotal}}", subTotal); this.contentTicket = this.contentTicket.replace("{{tax}}", tax); this.contentTicket = this.contentTicket.replace("{{total}}", total); this.contentTicket = this.contentTicket.replace("{{recibo}}", recibo); this.contentTicket = this.contentTicket.replace("{{change}}", change); } public void print() { //Especificamos el tipo de dato a imprimir //Tipo: bytes; Subtipo: autodetectado DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE; //Aca obtenemos el servicio de impresion por defatul //Si no quieres ver el dialogo de seleccionar impresora usa esto //PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); //Con esto mostramos el dialogo para seleccionar impresora //Si quieres ver el dialogo de seleccionar impresora usalo //Solo mostrara las impresoras que soporte arreglo de bits PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras); PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();

PrintService service = ServiceUI.printDialog(null, 700, 200, printService, defaultService, flavor, pras); //Creamos un arreglo de tipo byte byte[] bytes; //Aca convertimos el string(cuerpo del ticket) a bytes tal como //lo maneja la impresora(mas bien ticketera :p) bytes = this.contentTicket.getBytes(); //Creamos un documento a imprimir, a el se le appendeara //el arreglo de bytes Doc doc = new SimpleDoc(bytes,flavor,null); //Creamos un trabajo de impresi�n DocPrintJob job = service.createPrintJob(); //Imprimimos dentro de un try de a huevo try { //El metodo print imprime job.print(doc, null); } catch (Exception er) { JOptionPane.showMessageDialog(null,"Error al imprimir: " + er.getMessage()); }

public static void main (String args[]) { //Aca llenamos los articulos, sustituyelo por lo de tu eleccion String items = "2 Articulo Prueba 15.00\n"+ "7 Articulo Tara tara 25.00\n"+ "4 Super articulo 55.39"; String store = "Picharras Ltd."; String venue = "Molas, Yuc."; String date = "01/enero/2012"; String caissier = "Josue Camara"; Ticket ticket = new Ticket(store, venue, "5", "99", caissier, date, items, "100.00", "16.00", "116.00", "150", "34"); } *********************************************************************************** ****************** public void imprimirTicketinicio(){ try { PrinterMatrix printer = new PrinterMatrix(); Extenso e = new Extenso(); e.setNumber(20.30); //Definir el tamanho del papel para la impresion de dinamico y 32 columnas int filas = punto_Venta.jtbl_venta.getRowCount(); int tama�o = filas+13; printer.setOutSize(tama�o, 32);

//Imprimir = 1ra linea de la columa de 1 a 32 printer.printTextWrap(0, 1, 0, 32, "================================"); printer.printTextWrap(1, 1, 0, 32, " Nombre del negocio"); printer.printTextWrap(3, 1, 0, 32, " direccion "); printer.printTextWrap(4, 1, 0, 32, " direccion"); printer.printTextWrap(5, 1, 0, 32, "codigo postal y rf "); printer.printTextWrap(6, 1, 0, 17, "Fecha: " + punto_Venta.jL_fecha.getText()); printer.printTextWrap(6, 1,18, 32, "Hora: " + punto_Venta.jL_hora.getText()); printer.printTextWrap(7, 1, 0, 32, "Numero de Venta: "+ punto_Venta.jtx_id_venta.getText()); printer.printTextWrap(8, 1, 0, 32, "Le atendio: "+ punto_Venta.jtx_vendedor.getText()); printer.printTextWrap(9, 1, 0, 32, "Cliente:" + punto_Venta.jtx_cliente.getText()); printer.printTextWrap(10,1, 0, 32, "�����������"); printer.printTextWrap(11,1, 0, 32, "DESCRIPCION CANT PRECIO IMPORTE"); printer.printTextWrap(12,1, 0, 32, " "); for (int i = 0; i < filas; i++) { int p = 13+i; printer.printTextWrap(p , 1, 0, 12 ,punto_Venta.jtbl_venta.getValueAt(i,1).toString()); printer.printTextWrap(p , 1, 13, 16, punto_Venta.jtbl_venta.getValueAt(i,5).toString()); String pre= printer.alinharADireita(7, punto_Venta.jtbl_venta.getValueAt(i,4).toString()); printer.printTextWrap(p , 1, 17, 24, pre); String inp= printer.alinharADireita(7,punto_Venta.jtbl_venta.getValueAt(i,6).toString()); printer.printTextWrap(p , 1, 25, 32, inp); } ///CREAR CARPETA tmp EN UNIDAD C printer.toFile("C:\\tmp\\impresion.txt"); FileInputStream inputStream = null; try { inputStream = new FileInputStream("C:\\tmp\\impresion.txt"); } catch (FileNotFoundException ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(punto_Venta, "Error al guardar"); } if (inputStream == null) { return; } DocFlavor docFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; Doc document = new SimpleDoc(inputStream, docFormat, null); PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet(); PrintService defaultPrintService = PrintServiceLookup.lookupDefaultPrintService(); if (defaultPrintService != null) { DocPrintJob printJob = defaultPrintService.createPrintJob(); try { printJob.print(document, attributeSet);

} catch (Exception ex) { ex.printStackTrace(); } } else { System.err.println("No existen impresoras instaladas"); } inputStream.close(); imprimirFin(); } catch (Exception e) { JOptionPane.showMessageDialog(punto_Venta, "Error al imprimir"); } } void imprimirFin(){ PrinterMatrix printer = new PrinterMatrix(); Extenso e = new Extenso(); e.setNumber(20.30); printer.setOutSize(13,32); DecimalFormat formateador = new DecimalFormat("######.00"); String sub= printer.alinharADireita(10,punto_Venta.jtxt_subtotal.getText()); printer.printTextWrap(1, 1, 5, 32, "Subtotal "+sub); String tot= printer.alinharADireita(10,punto_Venta.jtxt_total.getText()); printer.printTextWrap(2, 1, 5, 32, "Total a pagar $"+tot); String efe= printer.alinharADireita(10,punto_Venta.jtx_efectivo.getText()); printer.printTextWrap(3, 1, 5, 32, "Efectivo $"+efe); String cam= printer.alinharADireita(10,punto_Venta.jtx_cambio.getText()); printer.printTextWrap(4, 1, 5, 32, "Cambio $"+ cam); printer.printTextWrap(5, 1, 0,32, "�����������"); printer.printTextWrap(6, 1, 0,32, " !Gracias por su preferencia! "); printer.printTextWrap(7, 1, 0,32, "================================"); printer.toFile("C:\\tmp\\impresion1.txt"); FileInputStream inputStream = null; try { inputStream = new FileInputStream("C:\\tmp\\impresion1.txt"); C:\\Users\\Marcel\\Desktop\\imprimir\\impresion1.txt } catch (FileNotFoundException ex) { ex.printStackTrace(); } if (inputStream == null) { return; } DocFlavor docFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; Doc document = new SimpleDoc(inputStream, docFormat, null); PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet(); PrintService defaultPrintService = PrintServiceLookup.lookupDefaultPrintService();

if (defaultPrintService != null) { DocPrintJob printJob = defaultPrintService.createPrintJob(); try { printJob.print(document, attributeSet); } catch (Exception ex) { ex.printStackTrace(); } } else { System.err.println("No existen impresoras instaladas"); } //inputStream.close(); } } ************************************** FUNCIONA IMPRICION ************************ public void ImprimirFactura(JTable TablaCobrar,JTextField TxtCodigoFactura, JTextField TxtHora, JTextField TxtFecha, JTextField TxtSubTotal, JTextField TxtIGV, JTextField TxtTotal) { PrinterMatrix printer = new PrinterMatrix(); Extenso e = new Extenso(); e.setNumber(101.85); //Definir el tamanho del papel para la impresion columnas

aca 25 lineas y 80

printer.setOutSize(60, 80); //Imprimir * de la 2da linea a 25 en la columna 1; // printer.printCharAtLin(2, 25, 1, "*"); //Imprimir * 1ra linea de la columa de 1 a 80 printer.printCharAtCol(1, 1, 80, "="); //Imprimir Encabezado nombre del La EMpresa printer.printTextWrap(1, 2, 30, 80, "FACTURA DE VENTA"); //printer.printTextWrap(linI, linE, colI, colE, null); printer.printTextWrap(2, 3, 1, 22, "Num. Boleta : " + TxtCodigoFactura.getText()); printer.printTextWrap(2, 3, 25, 55, "Fecha de Emision: " + TxtFecha.getText()); printer.printTextWrap(2, 3, 60, 80, "Hora: 12:22:51"); printer.printTextWrap(3, 3, 1, 80, "Vendedor. : "/*+ txtVentaIdVendedor.getText() +" - " + txtVentaNombreVendedor.getText()*/); printer.printTextWrap(4, 4, 1, 80, "CLIENTE: " /*+txtVentaNombreCliente.getText()*/); printer.printTextWrap(5, 5, 1, 80, "RUC/CI.: " /*+ txtVentaRucCliente.getText()*/); printer.printTextWrap(6, 6, 1, 80, "DIRECCION: " + ""); printer.printCharAtCol(7, 1, 80, "="); printer.printTextWrap(7, 8, 1, 80, "Codigo Descripcion Cant. P P.Unit. P.Total"); printer.printCharAtCol(9, 1, 80, "-"); int filas = TablaCobrar.getRowCount();

for (int i = 0; i < filas; i++) { printer.printTextWrap(9 + i, 10, 1, 80, TablaCobrar.getValueAt(i,0).toString()+"|"+ TablaCobrar.getValueAt(i,1).toString()+"| "+ TablaCobrar.getValueAt(i,2).toString()+"| "+ TablaCobrar.getValueAt(i,3).toString()+"|"+ TablaCobrar.getValueAt(i,4).toString()); } if(filas > 15){ printer.printCharAtCol(filas + 1, 1, 80, "="); printer.printTextWrap(filas + 1, filas + 2, 1, 80, "TOTAL A PAGAR " + TxtSubTotal.getText()); printer.printCharAtCol(filas + 2, 1, 80, "="); printer.printTextWrap(filas + 2, filas + 3, 1, 80, "Esta boleta no tiene valor fiscal, solo para uso interno.: + Descripciones........"); }else{ printer.printCharAtCol(25, 1, 80, "="); printer.printTextWrap(26, 26, 1, 80, "TOTAL A PAGAR " + TxtTotal.getText()); printer.printCharAtCol(27, 1, 80, "="); printer.printTextWrap(27, 28, 1, 80, "Esta boleta no tiene valor fiscal, solo para uso interno.: + Descripciones........"); } printer.toFile("C:\\Users\\Marcel\\Desktop\\imprimir\\impresion.txt"); FileInputStream inputStream = null; try { inputStream = new FileInputStream("C:\\Users\\Marcel\\Desktop\\imprimir\\impresion.txt"); } catch (FileNotFoundException ex) { ex.printStackTrace(); } if (inputStream == null) { return; } DocFlavor docFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; Doc document = new SimpleDoc(inputStream, docFormat, null); PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet(); PrintService defaultPrintService = PrintServiceLookup.lookupDefaultPrintService(); if (defaultPrintService != null) { DocPrintJob printJob = defaultPrintService.createPrintJob(); try { printJob.print(document, attributeSet); } catch (Exception ex) { ex.printStackTrace(); } } else { System.err.println("No existen impresoras instaladas"); } //inputStream.close(); }

******************************************agreglar codigo ***************** { try { PrinterMatrix printer = new PrinterMatrix(); Extenso e = new Extenso(); e.setNumber(20.30); //Definir el tamanho del papel para la impresion de dinamico y 32 columnas int filas = TablaCobrar.getRowCount(); int tama�o = filas+13; printer.setOutSize(tama�o, 32); //Imprimir = 1ra linea de la columa de 1 a 32 printer.printTextWrap(0, 1, 0, 32, "================================"); printer.printTextWrap(1, 1, 0, 32, "Nombre del negocio "); printer.printTextWrap(3, 1, 0, 32, " direccion "); printer.printTextWrap(4, 1, 0, 32, " direccion "); printer.printTextWrap(5, 1, 0, 32, " codigo postal y rf "); printer.printTextWrap(6, 1, 0, 17, "Fecha: " + TxtFecha.getText()); printer.printTextWrap(6, 1,18, 32, "Hora: " + TxtHora.getText()); printer.printTextWrap(7, 1, 0, 32, "Numero de Venta: "+ TxtCodigoFactura.getText()); printer.printTextWrap(8, 1, 0, 32, "Le atendio: "); printer.printTextWrap(9, 1, 0, 32, "Cliente: " ); printer.printTextWrap(10,1, 0, 32, "�����������"); printer.printTextWrap(11,1, 0, 32, "CODIGO DESCRIPCION CANT PRECIO IMPORTE"); printer.printTextWrap(12,1, 0, 32, " "); for (int i = 0; i < filas; i++) { int p = 13+i; printer.printTextWrap(p , 1, 0, 12 ,TablaCobrar.getValueAt(i,1).toString()); printer.printTextWrap(p , 1, 13, 16, TablaCobrar.getValueAt(i,2).toString()); String pre= printer.alinharADireita(7, TablaCobrar.getValueAt(i,3).toString()); printer.printTextWrap(p , 1, 17, 24, pre); String inp= printer.alinharADireita(7,TablaCobrar.getValueAt(i,4).toString()); printer.printTextWrap(p , 1, 25, 32, inp); } ///CREAR CARPETA tmp EN UNIDAD C printer.toFile("C:\\Users\\Marcel\\Desktop\\imprimir\\impresion.txt"); FileInputStream inputStream = null; try { inputStream = new FileInputStream("C:\\Users\\Marcel\\Desktop\\imprimir\\impresion.txt"); } catch (FileNotFoundException ex) { ex.printStackTrace(); }

if (inputStream == null) { return; } DocFlavor docFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; Doc document = new SimpleDoc(inputStream, docFormat, null); PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet(); PrintService defaultPrintService = PrintServiceLookup.lookupDefaultPrintService(); if (defaultPrintService != null) { DocPrintJob printJob = defaultPrintService.createPrintJob(); try { printJob.print(document, attributeSet); } catch (Exception ex) { ex.printStackTrace(); } } else { System.err.println("No existen impresoras instaladas"); } inputStream.close(); ImprimirFin(TxtSubTotal.getText(), TxtIGV.getText(), TxtTotal.getText()); } catch (Exception ex) { ex.printStackTrace(); } } public void ImprimirFin(String subtotal,String igv,String total){ PrinterMatrix printer = new PrinterMatrix(); Extenso e = new Extenso(); e.setNumber(20.30); printer.setOutSize(13,32); DecimalFormat formateador = new DecimalFormat("######.00"); String sub= printer.alinharADireita(10,subtotal); printer.printTextWrap(1, 1, 5, 32, "Subtotal "+sub); String tot= printer.alinharADireita(10,total); printer.printTextWrap(2, 1, 5, 32, "Total a pagar $"+tot); String efe= printer.alinharADireita(10,igv); printer.printTextWrap(3, 1, 5, 32, "Efectivo $"+efe); String cam= printer.alinharADireita(10,total); printer.printTextWrap(4, 1, 5, 32, "Cambio $"+ cam); printer.printTextWrap(5, 1, 0,32, "�����������"); printer.printTextWrap(6, 1, 0,32, " !Gracias por su preferencia! "); printer.printTextWrap(7, 1, 0,32, "================================"); printer.toFile("C:\\Users\\Marcel\\Desktop\\imprimir\\impresion.txt"); FileInputStream inputStream = null; try {

inputStream = new FileInputStream("C:\\Users\\Marcel\\Desktop\\imprimir\\impresion.txt"); } catch (FileNotFoundException ex) { ex.printStackTrace(); } if (inputStream == null) { return; } DocFlavor docFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; Doc document = new SimpleDoc(inputStream, docFormat, null); PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet(); PrintService defaultPrintService = PrintServiceLookup.lookupDefaultPrintService(); if (defaultPrintService != null) { DocPrintJob printJob = defaultPrintService.createPrintJob(); try { printJob.print(document, attributeSet); } catch (Exception ex) { ex.printStackTrace(); } } else { System.err.println("No existen impresoras instaladas"); } //inputStream.close(); }