List of usage examples for com.lowagie.text Document Document
public Document(Rectangle pageSize)
Document
-object. From source file:jm.Reporte.java
License:GNU General Public License
public void activosPersonalizadosClientes(HttpServletResponse response, String[] cabTabla, float[] anchoTabla, ResultSet registros, DataBase objDB) { /* inicio PDF */ Rectangle orientacion = (this.vertical) ? PageSize.A4 : PageSize.A4.rotate(); Document document = new Document(orientacion);// paso 1 document.setMargins(0, 0, 50, 80); /*Izquierda, derecha, tope, pie */ try {//from w w w .j a v a2 s . c om PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); // paso 2 writer.setPageEvent(new Reporte(this.vertical, this.logo, this.titulo, this.ruc, this.subtitulo, this.direccion, this.sucursal, this.rep_pie)); document.open(); // paso 3 /* todo el cuerpo del doc es el paso 4 */ document.add(Addons.setCabecera(this.logo, this.titulo, this.ruc, this.subtitulo, this.direccion, this.sucursal)); document.add(Addons.setCabeceraTabla(cabTabla, anchoTabla)); PdfPTable tbl_det = new PdfPTable(anchoTabla); try { while (registros.next()) { String persona_recibe = ""; String num_personalizacion = (registros.getString("num_personalizacion") != null) ? registros.getString("num_personalizacion") : ""; try { ResultSet rs = objDB .consulta("select * from tbl_activo_personalizacion where num_documento=" + num_personalizacion); if (rs.next()) { persona_recibe = (rs.getString("persona_recibe") != null) ? rs.getString("persona_recibe") : ""; rs.close(); } } catch (Exception e) { e.printStackTrace(); } tbl_det.addCell(Addons.setCeldaPDF(String.valueOf(persona_recibe), Font.TIMES_ROMAN, 8, Font.NORMAL, Element.ALIGN_LEFT, 1)); String mac = (registros.getString("codigo_activo") != null) ? registros.getString("codigo_activo") : ""; tbl_det.addCell(Addons.setCeldaPDF(String.valueOf(mac), Font.TIMES_ROMAN, 8, Font.NORMAL, Element.ALIGN_LEFT, 1)); } registros.close(); } catch (Exception e) { e.printStackTrace(); } document.add(tbl_det); } catch (IllegalStateException ie) { ie.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } document.close(); // paso 5 /* fin PDF */ }
From source file:jm.seg.frmGeneraPdf.java
License:GNU General Public License
public void GenerarFactura(String ruta_xml, String dir, String _archivoNombre) throws FileNotFoundException { File _archivo = null;// ww w. j ava2 s . c o m Xml xml = new Xml(ruta_xml + ".xml"); String numeroAutorizacion = xml.getValor("numeroAutorizacion"); String fechaAutorizacion = xml.getValor("fechaAutorizacion"); String doc = xml.getValor("comprobante"); try { _archivo = new File(dir, _archivoNombre + "xml.xml"); if (!_archivo.exists()) { //byte[] bytes = (res.getString(campoBytea)!=null) ? res.getBytes(campoBytea) : null; RandomAccessFile archivo = new RandomAccessFile(dir + _archivoNombre + "xml.xml", "rw"); archivo.writeBytes(doc); archivo.close(); } } catch (Exception e) { e.printStackTrace(); } //infoTributaria Xml xml2 = new Xml(ruta_xml + "xml.xml"); String ambiente = xml2.getValor("ambiente"); String tipoEmision = xml2.getValor("tipoEmision"); String razonSocial = xml2.getValor("razonSocial"); String nombreComercial = xml2.getValor("nombreComercial"); String ruc = xml2.getValor("ruc"); String claveAcceso = xml2.getValor("claveAcceso"); String codDoc = xml2.getValor("codDoc"); String numFac = xml2.getValor("estab") + "-" + xml2.getValor("ptoEmi") + "-" + xml2.getValor("secuencial"); String dirMatriz = xml2.getValor("dirMatriz"); String EMAIL = ""; String DIRECCION = ""; String ARCOTEL = ""; int limiteAdi = xml2.getNumNodos("campoAdicional"); try { //Campos Adicionales for (int i = 0; i < limiteAdi; i++) { if (xml2.getAtributo("campoAdicional", i, "nombre").toUpperCase().compareTo("EMAIL") == 0) { EMAIL = xml2.getValor("campoAdicional", i); } if (xml2.getAtributo("campoAdicional", i, "nombre").toUpperCase().compareTo("DIRECCION") == 0) { DIRECCION = xml2.getValor("campoAdicional", i); } if (xml2.getAtributo("campoAdicional", i, "nombre").toUpperCase().compareTo("ARCOTEL") == 0) { ARCOTEL = xml2.getValor("campoAdicional", i); } } } catch (Exception e) { e.printStackTrace(); } if (ambiente.compareTo("1") == 0) { ambiente = "Pruebas"; } if (ambiente.compareTo("2") == 0) { ambiente = "Produccin"; } if (tipoEmision.compareTo("1") == 0) { tipoEmision = "Normal"; } if (tipoEmision.compareTo("2") == 0) { tipoEmision = "Contingencia"; } if (codDoc.compareTo("01") == 0) { //infoFactura String fechaEmision = xml2.getValor("fechaEmision"); String dirEstablecimiento = xml2.getValor("dirEstablecimiento"); String contribuyenteEspecial = xml2.getValor("contribuyenteEspecial"); String obligadoContabilidad = xml2.getValor("obligadoContabilidad"); String razonSocialComprador = xml2.getValor("razonSocialComprador"); String identificacionComprador = xml2.getValor("identificacionComprador"); String totalSinImpuestos = xml2.getValor("totalSinImpuestos"); String totalDescuento = xml2.getValor("totalDescuento"); String codigoPorcentaje = xml2.getValor("codigoPorcentaje");//0% 0 >>12% 2>>mo objeto de impuesto 6>>Excento al iva 7 String baseImponible = xml2.getValor("baseImponible"); //Depende del codigo porcentaje String valor = xml2.getValor("valor");// va en el Iva 12% String importeTotal = xml2.getValor("importeTotal");//Sumatoria de todo //detalles int limite = xml2.getNumNodos("detalle"); String[][] array = new String[limite][6]; for (int i = 0; i < limite; i++) { array[i][0] = xml2.getValor("codigoPrincipal"); array[i][1] = xml2.getValor("descripcion"); array[i][2] = xml2.getValor("cantidad"); array[i][3] = xml2.getValor("precioUnitario"); array[i][4] = xml2.getValor("descuento"); array[i][5] = xml2.getValor("precioTotalSinImpuesto"); } /* inicio PDF */ Document pdf = new Document(PageSize.A4);// paso 1 pdf.setMargins(-35, -45, 40, 10); /*Izquierda, derecha, tope, pie */ try { PdfWriter writer = PdfWriter.getInstance(pdf, new FileOutputStream(dir + claveAcceso + ".pdf")); pdf.open(); //pdf.open(); // paso 3 // Para enviar a la impresora automticamente. //writer.addJavaScript("this.print(false);", false); /* todo el cuerpo del doc es el paso 4 */ //PdfPTable tbl_titulo = new PdfPTable(1); PdfPTable tbl_titulo = new PdfPTable(new float[] { 49f, 2f, 49f }); PdfPTable tbl_1 = new PdfPTable(new float[] { 37f, 63f }); PdfPTable tbl_2 = new PdfPTable(1); //titulos izquierda tbl_1.addCell(Addons.setLogo(dir + "logo.jpg", 250, 83, Element.ALIGN_CENTER));//ancho,alto tbl_1.addCell( Addons.setCeldaPDF(" ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_1.addCell(Addons.setCeldaPDF(razonSocial + " '" + nombreComercial + "' ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 2)); tbl_1.addCell(Addons.setCeldaPDF("Direccin Matriz: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF(dirMatriz, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF("Direccin Sucursal: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF(dirEstablecimiento, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF("Contribuyente Especial Nro. " + contribuyenteEspecial, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_1.addCell(Addons.setCeldaPDF("OBLIGADO A LLEVAR CONTABILIDAD: " + obligadoContabilidad, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); //Titulos derecha tbl_2.addCell(Addons.setCeldaPDF("R.U.C: " + ruc, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("F A C T U R A ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("No. " + numFac, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("NMERO DE AUTORIZACIN", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF(numeroAutorizacion, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("FECHA Y HORA DE AUTORIZACION", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF(fechaAutorizacion, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("AMBIENTE: " + ambiente, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("EMISIN: " + tipoEmision, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("CLAVE DE ACCESO", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setBarCode(this.getBarcode(writer, claveAcceso)));//ancho,alto tbl_titulo.addCell(Addons.setCeldaPDF(tbl_1, 0, 1)); tbl_titulo.addCell(Addons.setCeldaPDF(" ", Font.TIMES_ROMAN, 1, Font.NORMAL, 0, 0)); tbl_titulo.addCell(Addons.setCeldaPDF(tbl_2, 0, 1)); tbl_titulo.addCell(Addons.setFilaBlanco(3, 20)); pdf.add(tbl_titulo); //Informacion Cliente PdfPTable tbl_info = new PdfPTable(1); PdfPTable tbl_info1 = new PdfPTable(new float[] { 32f, 43f, 25f }); tbl_info1.addCell(Addons.setCeldaPDF("Razn Social / Nombres y Apellidos: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8)); tbl_info1.addCell(Addons.setCeldaPDF(razonSocialComprador, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8)); tbl_info1.addCell(Addons.setCeldaPDF("RUC/CI: " + identificacionComprador, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8)); tbl_info1.addCell(Addons.setCeldaPDF("Fecha de emisin: " + fechaEmision, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 1)); tbl_info1.addCell(Addons.setCeldaPDF("DIRECCION: " + DIRECCION, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 2)); tbl_info.addCell(Addons.setCeldaPDF(tbl_info1, 0, 1)); tbl_info.addCell(Addons.setFilaBlanco(3, 20)); pdf.add(tbl_info); //Detalles PdfPTable tbl_det = new PdfPTable(1); PdfPTable tbl_det1 = new PdfPTable(new float[] { 10f, 10f, 50f, 10f, 10f, 10f }); tbl_det1.addCell(Addons.setCeldaPDF("Cod. Principal", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell( Addons.setCeldaPDF("Cant.", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF("Descripcin", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF("Precio Unitario", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell( Addons.setCeldaPDF("Desc.", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell( Addons.setCeldaPDF("Total", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); for (int i = 0; i < limite; i++) { tbl_det1.addCell(Addons.setCeldaPDF(array[i][0], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][2], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][1], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][3], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][4], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][5], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); } tbl_det.addCell(Addons.setCeldaPDF(tbl_det1, 0, 1)); tbl_det.addCell(Addons.setFilaBlanco(6, 20)); pdf.add(tbl_det); //Informacion Adicional PdfPTable tbl_info_ad = new PdfPTable(new float[] { 40f, 10f, 50f }); PdfPTable tbl_info_ad1 = new PdfPTable(new float[] { 30f, 70f }); PdfPTable tbl_info_ad2 = new PdfPTable(new float[] { 70f, 30f }); //titulos izquierda tbl_info_ad1.addCell(Addons.setCeldaPDF("Informacin Adicional", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 5, 2)); tbl_info_ad1.addCell(Addons.setCeldaPDF("Contacto: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("062609177 / 062610330", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("Email: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell( Addons.setCeldaPDF(EMAIL, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("Sitio Web:", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("www.saitel.ec", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell( Addons.setCeldaPDF(ARCOTEL, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 2)); //Titulos derecha if (codigoPorcentaje.compareTo("0") == 0) { tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL 12% ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL 0% ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF(baseImponible, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL No objeto de IVA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL SIN IMPUESTOS", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF(totalSinImpuestos, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL Exento de IVA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF(valor, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("DESCUENTO", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF(totalDescuento, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("IVA 12%", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); } if (codigoPorcentaje.compareTo("2") == 0) { tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL 12% ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF(baseImponible, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL 0% ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL No objeto de IVA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL SIN IMPUESTOS", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF(totalSinImpuestos, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL Exento de IVA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("DESCUENTO", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF(totalDescuento, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("IVA 12%", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell( Addons.setCeldaPDF(valor, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); } tbl_info_ad2.addCell(Addons.setCeldaPDF("VALOR TOTAL", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF(Addons.redondear(importeTotal), Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad.addCell(Addons.setCeldaPDF(tbl_info_ad1, 0, 1)); tbl_info_ad.addCell(Addons.setCeldaPDF(" ", Font.TIMES_ROMAN, 1, Font.NORMAL, 0, 0)); tbl_info_ad.addCell(Addons.setCeldaPDF(tbl_info_ad2, 0, 1)); pdf.add(tbl_info_ad); } catch (IllegalStateException ie) { ie.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } finally { } pdf.close(); // paso 5 /* fin PDF */ } //Nota de credito if (codDoc.compareTo("04") == 0) { //infoFactura String fechaEmision = xml2.getValor("fechaEmision"); String dirEstablecimiento = xml2.getValor("dirEstablecimiento"); String razonSocialComprador = xml2.getValor("razonSocialComprador"); String identificacionComprador = xml2.getValor("identificacionComprador"); String contribuyenteEspecial = xml2.getValor("contribuyenteEspecial"); String obligadoContabilidad = xml2.getValor("obligadoContabilidad"); String codDocModificado = xml2.getValor("codDocModificado"); String numDocModificado = xml2.getValor("numDocModificado"); String fechaEmisionDocSustento = xml2.getValor("fechaEmisionDocSustento"); String motivo = xml2.getValor("motivo"); String totalSinImpuestos = xml2.getValor("totalSinImpuestos"); if (codDocModificado.compareTo("01") == 0) { codDocModificado = "FACTURA"; } if (codDocModificado.compareTo("04") == 0) { codDocModificado = "NOTA DE CRDITO"; } if (codDocModificado.compareTo("05") == 0) { codDocModificado = "NOTA DE DBITO"; } if (codDocModificado.compareTo("06") == 0) { codDocModificado = "GU?A DE REMISION"; } if (codDocModificado.compareTo("07") == 0) { codDocModificado = "COMPROBANTE DE RETENCIN"; } String codigoPorcentaje = xml2.getValor("codigoPorcentaje");//0% 0 >>12% 2>>mo objeto de impuesto 6>>Excento al iva 7 String baseImponible = xml2.getValor("baseImponible"); //Depende del codigo porcentaje String valor = xml2.getValor("valor");// va en el Iva 12% //detalles int limite = xml2.getNumNodos("detalle"); String[][] array = new String[limite][6]; for (int i = 0; i < limite; i++) { array[i][0] = xml2.getValor("codigoPrincipal"); array[i][1] = xml2.getValor("descripcion"); array[i][2] = xml2.getValor("cantidad"); array[i][3] = xml2.getValor("precioUnitario"); array[i][4] = xml2.getValor("descuento"); array[i][5] = xml2.getValor("precioTotalSinImpuesto"); } /* inicio PDF */ Document pdf = new Document(PageSize.A4);// paso 1 pdf.setMargins(-35, -45, 40, 10); /*Izquierda, derecha, tope, pie */ try { PdfWriter writer = PdfWriter.getInstance(pdf, new FileOutputStream(dir + claveAcceso + ".pdf")); pdf.open(); //pdf.open(); // paso 3 // Para enviar a la impresora automticamente. //writer.addJavaScript("this.print(false);", false); /* todo el cuerpo del doc es el paso 4 */ //PdfPTable tbl_titulo = new PdfPTable(1); PdfPTable tbl_titulo = new PdfPTable(new float[] { 49f, 2f, 49f }); PdfPTable tbl_1 = new PdfPTable(new float[] { 37f, 63f }); PdfPTable tbl_2 = new PdfPTable(1); //titulos izquierda tbl_1.addCell(Addons.setLogo(dir + "logo.jpg", 250, 83, Element.ALIGN_CENTER));//ancho,alto tbl_1.addCell( Addons.setCeldaPDF(" ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_1.addCell(Addons.setCeldaPDF(razonSocial + " '" + nombreComercial + "' ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 2)); tbl_1.addCell(Addons.setCeldaPDF("Direccin Matriz: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF(dirMatriz, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF("Direccin Sucursal: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF(dirEstablecimiento, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF("Contribuyente Especial Nro. " + contribuyenteEspecial, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_1.addCell(Addons.setCeldaPDF("OBLIGADO A LLEVAR CONTABILIDAD: " + obligadoContabilidad, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); //Titulos derecha tbl_2.addCell(Addons.setCeldaPDF("R.U.C: " + ruc, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("F A C T U R A ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("No. " + numFac, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("NMERO DE AUTORIZACIN", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF(numeroAutorizacion, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("FECHA Y HORA DE AUTORIZACIN", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF(fechaAutorizacion, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("AMBIENTE: " + ambiente, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("EMISIN: " + tipoEmision, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("CLAVE DE ACCESO", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setBarCode(this.getBarcode(writer, claveAcceso)));//ancho,alto tbl_titulo.addCell(Addons.setCeldaPDF(tbl_1, 0, 1)); tbl_titulo.addCell(Addons.setCeldaPDF(" ", Font.TIMES_ROMAN, 1, Font.NORMAL, 0, 0)); tbl_titulo.addCell(Addons.setCeldaPDF(tbl_2, 0, 1)); tbl_titulo.addCell(Addons.setFilaBlanco(3, 20)); pdf.add(tbl_titulo); //Informacion Cliente PdfPTable tbl_info = new PdfPTable(1); PdfPTable tbl_info1 = new PdfPTable(new float[] { 32f, 43f, 25f }); tbl_info1.addCell(Addons.setCeldaPDF("Razn Social / Nombres y Apellidos: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_info1.addCell(Addons.setCeldaPDF(razonSocialComprador, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_info1.addCell(Addons.setCeldaPDF("RUC/CI: " + identificacionComprador, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_info1.addCell(Addons.setCeldaPDF("Fecha de emisin:" + fechaEmision, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 3)); tbl_info1.addCell(Addons.setCeldaPDF( "-------------------------------------------------------------------------------------------------------------", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 5, 3)); tbl_info1.addCell(Addons.setCeldaPDF("Comprobante que se Modifica:", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_info1.addCell(Addons.setCeldaPDF(codDocModificado + ": " + numDocModificado, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_info1.addCell(Addons.setCeldaPDF("Fecha emisin (Comprobante a Modificar)", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_info1.addCell(Addons.setCeldaPDF(fechaEmisionDocSustento, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_info1.addCell(Addons.setCeldaPDF("Razn de Modificacin: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_info1.addCell( Addons.setCeldaPDF(motivo, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_info.addCell(Addons.setCeldaPDF(tbl_info1, 0, 1)); tbl_info.addCell(Addons.setFilaBlanco(3, 20)); pdf.add(tbl_info); //Detalles PdfPTable tbl_det = new PdfPTable(1); PdfPTable tbl_det1 = new PdfPTable(new float[] { 10f, 10f, 50f, 10f, 10f, 10f }); tbl_det1.addCell(Addons.setCeldaPDF("Cod. Principal", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell( Addons.setCeldaPDF("Cant.", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF("Descripcin", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF("Precio Unitario", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell( Addons.setCeldaPDF("Desc.", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); tbl_det1.addCell( Addons.setCeldaPDF("Total", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 1, 5)); for (int i = 0; i < limite; i++) { tbl_det1.addCell(Addons.setCeldaPDF(array[i][0], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][2], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][1], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][3], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][4], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF(array[i][5], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); } tbl_det.addCell(Addons.setCeldaPDF(tbl_det1, 0, 1)); tbl_det.addCell(Addons.setFilaBlanco(6, 20)); pdf.add(tbl_det); //Informacion Adicional PdfPTable tbl_info_ad = new PdfPTable(new float[] { 40f, 10f, 50f }); PdfPTable tbl_info_ad1 = new PdfPTable(new float[] { 30f, 70f }); PdfPTable tbl_info_ad2 = new PdfPTable(new float[] { 70f, 30f }); //titulos izquierda tbl_info_ad1.addCell(Addons.setCeldaPDF("Informacin Adicional", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 5, 2)); tbl_info_ad1.addCell(Addons.setCeldaPDF("Contacto: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("062609177 / 062610330", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("Email: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell( Addons.setCeldaPDF(EMAIL, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("Sitio Web:", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("www.saitel.ec", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell( Addons.setCeldaPDF(ARCOTEL, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 2)); //Titulos derecha if (codigoPorcentaje.compareTo("0") == 0) { tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL 12% ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL 0% ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF(baseImponible, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL No objeto de IVA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL SIN IMPUESTOS", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF(totalSinImpuestos, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL Exento de IVA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF(valor, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); tbl_info_ad2.addCell(Addons.setCeldaPDF("IVA 12%", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 0)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0, 5, 2)); } else { tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL 12% ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF(baseImponible, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL 0% ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL No objeto de IVA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL SIN IMPUESTOS", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF(totalSinImpuestos, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("SUBTOTAL Exento de IVA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("0.00", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); tbl_info_ad2.addCell(Addons.setCeldaPDF("IVA 12%", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_info_ad2.addCell( Addons.setCeldaPDF(valor, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5)); } tbl_info_ad.addCell(Addons.setCeldaPDF(tbl_info_ad1, 0, 1)); tbl_info_ad.addCell(Addons.setCeldaPDF(" ", Font.TIMES_ROMAN, 1, Font.NORMAL, 0, 0)); tbl_info_ad.addCell(Addons.setCeldaPDF(tbl_info_ad2, 0, 1)); pdf.add(tbl_info_ad); } catch (IllegalStateException ie) { ie.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } finally { } pdf.close(); // paso 5 /* fin PDF */ } //Comprobante de retencion if (codDoc.compareTo("07") == 0) { //infoCompRetencion String fechaEmision = xml2.getValor("fechaEmision"); String dirEstablecimiento = xml2.getValor("dirEstablecimiento"); String contribuyenteEspecial = xml2.getValor("contribuyenteEspecial"); String obligadoContabilidad = xml2.getValor("obligadoContabilidad"); String tipoIdentificacionSujetoRetenido = xml2.getValor("tipoIdentificacionSujetoRetenido"); String razonSocialSujetoRetenido = xml2.getValor("razonSocialSujetoRetenido"); String identificacionSujetoRetenido = xml2.getValor("identificacionSujetoRetenido"); String periodoFiscal = xml2.getValor("periodoFiscal"); //detalles int limite = xml2.getNumNodos("impuesto"); String[][] array = new String[limite][7]; for (int i = 0; i < limite; i++) { array[i][0] = xml2.getValor("codigo", i); array[i][1] = xml2.getValor("codigoRetencion", i); array[i][2] = xml2.getValor("baseImponible", i); array[i][3] = xml2.getValor("porcentajeRetener", i); array[i][4] = xml2.getValor("valorRetenido", i); array[i][5] = xml2.getValor("codDocSustento", i); array[i][6] = xml2.getValor("numDocSustento", i); } /* inicio PDF */ Document pdf = new Document(PageSize.A4);// paso 1 pdf.setMargins(-35, -45, 40, 10); /*Izquierda, derecha, tope, pie */ try { PdfWriter writer = PdfWriter.getInstance(pdf, new FileOutputStream(dir + claveAcceso + ".pdf")); pdf.open(); //pdf.open(); // paso 3 // Para enviar a la impresora automticamente. //writer.addJavaScript("this.print(false);", false); /* todo el cuerpo del doc es el paso 4 */ //PdfPTable tbl_titulo = new PdfPTable(1); PdfPTable tbl_titulo = new PdfPTable(new float[] { 49f, 2f, 49f }); PdfPTable tbl_1 = new PdfPTable(new float[] { 37f, 63f }); PdfPTable tbl_2 = new PdfPTable(1); //titulos izquierda tbl_1.addCell(Addons.setLogo(dir + "logo.jpg", 250, 83, Element.ALIGN_CENTER));//ancho,alto tbl_1.addCell( Addons.setCeldaPDF(" ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_1.addCell(Addons.setCeldaPDF(razonSocial + " '" + nombreComercial + "' ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 8, 2)); tbl_1.addCell(Addons.setCeldaPDF("Direccin Matriz: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF(dirMatriz, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF("Direccin Sucursal: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF(dirEstablecimiento, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 0)); tbl_1.addCell(Addons.setCeldaPDF("Contribuyente Especial Nro. " + contribuyenteEspecial, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); tbl_1.addCell(Addons.setCeldaPDF("OBLIGADO A LLEVAR CONTABILIDAD: " + obligadoContabilidad, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5, 2)); //Titulos derecha tbl_2.addCell(Addons.setCeldaPDF("R.U.C: " + ruc, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("COMPROBANTE DE RETENCIN", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("No. " + numFac, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("NMERO DE AUTORIZACIN", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF(numeroAutorizacion, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("FECHA Y HORA DE AUTORIZACIN", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF(fechaAutorizacion, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("AMBIENTE: " + ambiente, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("EMISIN: " + tipoEmision, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setCeldaPDF("CLAVE DE ACCESO", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 5)); tbl_2.addCell(Addons.setBarCode(this.getBarcode(writer, claveAcceso)));//ancho,alto tbl_titulo.addCell(Addons.setCeldaPDF(tbl_1, 0, 1)); tbl_titulo.addCell(Addons.setCeldaPDF(" ", Font.TIMES_ROMAN, 1, Font.NORMAL, 0, 0)); tbl_titulo.addCell(Addons.setCeldaPDF(tbl_2, 0, 1)); tbl_titulo.addCell(Addons.setFilaBlanco(3, 20)); pdf.add(tbl_titulo); //Informacion Cliente PdfPTable tbl_info = new PdfPTable(1); PdfPTable tbl_info1 = new PdfPTable(new float[] { 32f, 43f, 25f }); tbl_info1.addCell(Addons.setCeldaPDF("Razn Social / Nombres y Apellidos: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8)); tbl_info1.addCell(Addons.setCeldaPDF(razonSocialSujetoRetenido, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8)); tbl_info1.addCell(Addons.setCeldaPDF("RUC/CI: " + identificacionSujetoRetenido, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8)); tbl_info1.addCell(Addons.setCeldaPDF("Fecha de emisin: " + fechaEmision, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 3)); tbl_info.addCell(Addons.setCeldaPDF(tbl_info1, 0, 1)); tbl_info.addCell(Addons.setFilaBlanco(3, 20)); pdf.add(tbl_info); //Detalles PdfPTable tbl_det = new PdfPTable(1); PdfPTable tbl_det1 = new PdfPTable(new float[] { 14f, 18f, 12f, 10f, 13f, 10f, 13f, 10f }); tbl_det1.addCell(Addons.setCeldaPDF("Comprobante", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell( Addons.setCeldaPDF("Nmero", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF("Fecha Emisin", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF("Ejercicio Fiscal", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF("Base Imponible para la retencion", Font.STRIKETHRU, 8, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell( Addons.setCeldaPDF("Impuesto", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF("Porcentaje de Retencin", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); tbl_det1.addCell(Addons.setCeldaPDF("Valor Retenido", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); Double val_ret = 0.0; //detalles for (int i = 0; i < limite; i++) { //Comprobante if (array[i][5].compareTo("01") == 0) { tbl_det1.addCell(Addons.setCeldaPDF("FACTURA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); } if (array[i][5].compareTo("04") == 0) { tbl_det1.addCell(Addons.setCeldaPDF("NOTA DE CRDITO", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); } if (array[i][5].compareTo("05") == 0) { tbl_det1.addCell(Addons.setCeldaPDF("NOTA DE DBITO", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); } if (array[i][5].compareTo("06") == 0) { tbl_det1.addCell(Addons.setCeldaPDF("GU?A DE REMISION", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); } if (array[i][5].compareTo("07") == 0) { tbl_det1.addCell(Addons.setCeldaPDF("COMPROBANTE DE RETENCIN", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); } //Nmero tbl_det1.addCell(Addons.setCeldaPDF(array[i][6], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); //Fecha Emisin tbl_det1.addCell(Addons.setCeldaPDF(fechaEmision, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); //Ejercicio Fiscal tbl_det1.addCell(Addons.setCeldaPDF(periodoFiscal, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); //Base Imponible para la retencion tbl_det1.addCell(Addons.setCeldaPDF(array[i][2], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); //Impuesto if (array[i][0].compareTo("1") == 0) { tbl_det1.addCell(Addons.setCeldaPDF("RENTA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); } if (array[i][0].compareTo("2") == 0) { tbl_det1.addCell(Addons.setCeldaPDF("IVA", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); } if (array[i][0].compareTo("6") == 0) { tbl_det1.addCell(Addons.setCeldaPDF("ISD", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); } //Porcentaje de Retencin tbl_det1.addCell(Addons.setCeldaPDF(array[i][3], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); //Valor Retenido tbl_det1.addCell(Addons.setCeldaPDF(array[i][4], Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5)); val_ret += Double.parseDouble(array[i][4]); } tbl_det1.addCell(Addons.setCeldaPDF("Valor Retenido", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_RIGHT, 1, 5, 7)); tbl_det1.addCell(Addons.setCeldaPDF(Addons.redondear(val_ret) + "", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 1, 5, 1)); tbl_det.addCell(Addons.setCeldaPDF(tbl_det1, 0, 1)); tbl_det.addCell(Addons.setFilaBlanco(6, 20)); pdf.add(tbl_det); //Informacion Adicional PdfPTable tbl_info_ad = new PdfPTable(new float[] { 40f, 10f, 50f }); PdfPTable tbl_info_ad1 = new PdfPTable(new float[] { 30f, 70f }); //titulos izquierda tbl_info_ad1.addCell(Addons.setCeldaPDF("Informacin Adicional", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_CENTER, 0, 5, 2)); tbl_info_ad1.addCell(Addons.setCeldaPDF("Contacto: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("062609177 / 062610330", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("Email: ", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell( Addons.setCeldaPDF(EMAIL, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("Sitio Web:", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell(Addons.setCeldaPDF("www.saitel.ec", Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 0)); tbl_info_ad1.addCell( Addons.setCeldaPDF(ARCOTEL, Font.STRIKETHRU, 10, Font.NORMAL, Element.ALIGN_LEFT, 0, 8, 2)); tbl_info_ad.addCell(Addons.setCeldaPDF(tbl_info_ad1, 0, 1)); tbl_info_ad.addCell(Addons.setCeldaPDF(" ", Font.TIMES_ROMAN, 1, Font.NORMAL, 0, 0)); tbl_info_ad.addCell(Addons.setCeldaPDF(" ", Font.TIMES_ROMAN, 1, Font.NORMAL, 0, 0)); pdf.add(tbl_info_ad); } catch (IllegalStateException ie) { ie.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } finally { } pdf.close(); // paso 5 /* fin PDF */ } }
From source file:jmbench.plots.UtilPlotPdf.java
License:Open Source License
public static void saveAsPdf(JFreeChart chart, String FILENAME, int width, int height) { File parent = new File(new File(FILENAME).getParent()); if (!parent.exists()) { if (!parent.mkdirs()) throw new RuntimeException("Can't make directory path"); }//from w w w.j ava 2 s . c om Document document = new Document(new Rectangle(width, height)); try { FileOutputStream file = new FileOutputStream(FILENAME); PdfWriter writer = PdfWriter.getInstance(document, file); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(width, height); Graphics2D g2d = tp.createGraphics(width, height, new DefaultFontMapper()); Rectangle2D r2d = new Rectangle2D.Double(0, 0, width, height); chart.draw(g2d, r2d); g2d.dispose(); cb.addTemplate(tp, 0, 0); document.close(); g2d.dispose(); } catch (Exception e) { e.printStackTrace(); } }
From source file:jmbench.plots.UtilPlotPdf.java
License:Open Source License
public static void saveAsPdf(LegendTitle legend, String FILENAME, int width, int height) { Document document = new Document(new Rectangle(width, height)); try {/*from w w w . ja va 2 s . com*/ FileOutputStream file = new FileOutputStream(FILENAME); PdfWriter writer = PdfWriter.getInstance(document, file); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(width, height); Graphics2D g2d = tp.createGraphics(width, height, new DefaultFontMapper()); Rectangle2D r2d = new Rectangle2D.Double(0, 0, width, height); legend.draw(g2d, r2d); g2d.dispose(); cb.addTemplate(tp, 0, 0); document.close(); g2d.dispose(); } catch (Exception e) { e.printStackTrace(); } }