List of usage examples for com.itextpdf.text Paragraph setLeading
public void setLeading(final float fixedLeading)
From source file:cimav.restrh.services.JustificacionREST.java
@GET @Path("pdficar") @Produces("application/pdf") public Response pdficar(@DefaultValue("0") @QueryParam("id") Integer id_param) { Justificacion justi = (Justificacion) JustificacionREST.this.find(id_param); String diasCorresponde = "corresponde a " + justi.getNumDiasPlazo() + " das"; if (justi.getNumDiasPlazo() == 1) { diasCorresponde = "corresponde a un da"; }/* w ww. j a va 2s .c o m*/ // <editor-fold defaultstate="collapsed" desc="Constantes de texto"> HashMap<String, String> mapa = new HashMap(); mapa.put("texto1_I", "No existan bienes o servicios alternativos o sustitutos tcnicamente razonables, o bien, que en el " + "mercado slo existe un posible oferente, o se trate de una persona que posee la titularidad o el " + "licenciamiento exclusivo de patentes, derechos de autor, u otros derechos exclusivos, o por " + "tratarse de obras de arte."); mapa.put("texto1_III", "Existan circunstancias que puedan provocar prdidas o costos adicionales importantes, " + "cuantificados y justificados."); mapa.put("texto1_XIV", "Se trate de los servicios prestados por una persona fsica a que se refiere la fraccin " + "VII del artculo 3 de esta Ley, siempre que stos sean realizados por ella misma sin " + "requerir de la utilizacin de ms de un especialista o tcnico."); mapa.put("texto1_XV", "Se trate de servicios de mantenimiento de bienes en los que no sea posible precisar " + "su alcance, establecer las cantidades de trabajo o determinar las especificaciones " + "correspondientes."); mapa.put("texto1_XVII", "Se trate de equipos especializados, sustancias y materiales de origen qumico, fsico " + "qumico o bioqumico para ser utilizadas en actividades experimentales requeridas " + "en proyectos de investigacin cientfica y desarrollo tecnolgico, siempre que dichos " + "proyectos se encuentren autorizados por quien determine el titular de la dependencia " + "o el rgano de gobierno de la entidad."); mapa.put("plazo_0", "El plazo en que se requiere el suministro de los " + justi.getBienServicioTxt() + ", corresponde al periodo del " + justi.getFechaInicio().getDayOfMonth() + " de " + justi.getFechaInicio().getMonth().getDisplayName(TextStyle.FULL, new Locale("es", "ES")) + " de " + justi.getFechaInicio().getYear() + " y hasta el " + justi.getFechaTermino().getDayOfMonth() + " de " + justi.getFechaTermino().getMonth().getDisplayName(TextStyle.FULL, new Locale("es", "ES")) + " de " + justi.getFechaTermino().getYear() + ". Las condiciones en las que se " + "entregarn los " + justi.getBienServicioTxt() + " son las siguientes:\n\n " + justi.getCondicionesPago()); mapa.put("plazo_1", "La fecha en que se requiere el suministro de los " + justi.getBienServicioTxt() + ", corresponde al da " + justi.getFechaTermino().getDayOfMonth() + " de " + justi.getFechaTermino().getMonth().getDisplayName(TextStyle.FULL, new Locale("es", "ES")) + " de " + justi.getFechaTermino().getYear() + ". Las condiciones en las que se " + "entregarn los " + justi.getBienServicioTxt() + " son las siguientes:\n\n " + justi.getCondicionesPago()); mapa.put("plazo_2", "El plazo en que se requiere el suministro de los " + justi.getBienServicioTxt() + ", " + diasCorresponde + " despus de la elaboracin de este documento." + " Las condiciones en las que se " + "entregarn los " + justi.getBienServicioTxt() + " son las siguientes:\n\n " + justi.getCondicionesPago()); mapa.put("nota_1", "Asimismo se hace constar mediante el sello y firma del responsable del rea de " + "Almacn, la No Existencia de Bienes o Nivel de Inventario que demuestra que se " + "cumpli con lo establecido en el artculo 27 del RLAASP."); mapa.put("transparencia_unico", "Para la integracin del procedimiento de contratacin por adjudicacin directa, los servidores " + "pblicos de las reas requirentes han tenido acceso de manera oportuna, clara y completa de " + "las caractersticas requeridas de los " + justi.getBienServicioTxt() + " con el fin de demostrar que es " + "el nico proveedor que proporciona los " + justi.getBienServicioTxt() + " que se pretenden contratar, en " + "el entendido que para garantizar la transparencia del procedimiento de contratacin, la " + "informacin respectiva ser incorporada al Sistema de Compras Gubernamentales " + "(CompraNet), en los trminos de las disposiciones legales aplicables, " + "Lo anterior de acuerdo con lo establecido en el numeral 4.2.4 (ADJUDICACIN DIRECTA) y " + "numeral 4.2.4.1.1 (Verificar Acreditamiento de Excepcin) del Acuerdo por el que se modifica el " + "Manual Administrativo de Aplicacin General en Materia de Adquisiciones, Arrendamientos y " + "Servicios del Sector Pblico, publicado en el Diario Oficial de la Federacin el 21 de noviembre " + "de 2012."); mapa.put("transparencia_no_unico", "Todas las personas que han presentado cotizacin para la integracin del procedimiento de " + "contratacin por adjudicacin directa, han tenido acceso de manera oportuna, clara y completa " + "de las caractersticas requeridas de los " + justi.getBienServicioTxt() + ", en el entendido que para " + "garantizar la transparencia del procedimiento de contratacin, la informacin respectiva ser " + "incorporada al Sistema de Compras Gubernamentales (CompraNet), en los trminos de las " + "disposiciones legales aplicables. " + "Lo anterior de acuerdo con lo establecido en el numeral 4.2.4 (ADJUDICACIN DIRECTA) y " + "numeral 4.2.4.1.1 (Verificar Acreditamiento de Excepcin) del Acuerdo por el que se modifica el " + "Manual Administrativo de Aplicacin General en Materia de Adquisiciones, Arrendamientos y " + "Servicios del Sector Pblico, publicado en el Diario Oficial de la Federacin el 21 de noviembre " + "de 2012."); // </editor-fold> StreamingOutput streamingOutput = new StreamingOutput() { public void write(OutputStream outputStream) throws IOException, WebApplicationException { try { String masIva = ""; if (justi.getIva() != 0) { masIva = " ms IVA"; } String datosBanco = ""; if (justi.getDatosBanco() != null) { datosBanco = ", datos bancarios: " + justi.getDatosBanco(); } //Create Document instance. Document document = new Document(); PdfWriter.getInstance(document, outputStream); document.addAuthor("Generador adquisiciones | " + justi.getEmpleado().getCuentaCimav()); String fileName1 = (justi.getRequisicion() + "-" + justi.getEmpleado().getCuentaCimav()) .replace(" ", "").replace(",", ""); document.addTitle("Justificacin: " + fileName1); document.addSubject("Justificacin de Requisicin"); document.open(); Paragraph parrafo = new Paragraph("Centro de Investigacin en Materiales Avanzados S. C.", new Font(Font.FontFamily.TIMES_ROMAN, 17, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); document.add(parrafo); parrafo = new Paragraph( "JUSTIFICACIN PARA ACREDITAR Y FUNDAR PROCEDIMIENTOS DE " + "CONTRATACIN POR ADJUDICACIN DIRECTA, COMO EXCEPCIN AL DE " + "LICITACIN PBLICA EN EL SUPUESTO DEL ARTICULO 41 FRACCION " + justi.getRomano() + " DE LA " + "LEY DE ADQUISICIONES, ARRENDAMIENTOS Y SERVICIOS DEL SECTOR " + "PBLICO.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); parrafo = new Paragraph("COMIT DE ADQUISICIONES, ARRENDAMIENTOS Y SERVICIOS"); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setSpacingBefore(20); parrafo.setIndentationLeft(80); parrafo.setIndentationRight(80); document.add(parrafo); parrafo = new Paragraph("P R E S E N T E:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setIndentationLeft(30); parrafo.setSpacingBefore(20); document.add(parrafo); parrafo = new Paragraph("Oficio nmero: ", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setIndentationLeft(300); parrafo.setAlignment(Element.ALIGN_JUSTIFIED_ALL); parrafo.setLeading(15); parrafo.setSpacingBefore(20); Chunk frase = new Chunk(justi.getRequisicion() + "\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk( "Asunto: Se emite justificacin por la que se " + "acredita y funda la contratacin por adjudicacin directa que se indica.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk( "En cumplimiento a lo establecido en el segundo prrafo del artculo 40 de la Ley de " + "Adquisiciones, Arrendamientos y Servicios del Sector Pblico, as como en el artculo 71 del " + "Reglamento de la Ley de Adquisiciones, Arrendamientos y Servicios del Sector Pblico, y con el " + "carcter de Titular del ?rea Requirente, por este conducto hago constar el acreditamiento del o " + "de los criterios, razones, fundamentos y motivos para no llevar a cabo el procedimiento de " + "licitacin pblica y celebrar la contratacin a travs del procedimiento de adjudicacin directa en " + "los trminos establecidos en el artculo 41 Fraccin " + justi.getRomano() + " de la Ley de Adquisiciones, " + "Arrendamientos y Servicios del Sector Pblico", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.add(frase); /* frase = new Chunk("Las dependencias y " + "entidades, bajo su responsabilidad, podrn contratar adquisiciones, arrendamientos y " + "servicios, sin sujetarse al procedimiento de licitacin pblica, a travs de los " + "procedimientos de invitacin a cuando menos tres personas o de adjudicacin directa, " + "cuando:\n" + mapa.get("texto1_" + justi.getRomano()), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.add(frase); */ document.add(parrafo); parrafo = new Paragraph("Para tal efecto presento la siguiente informacin:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(60); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); parrafo = new Paragraph("I.- DESCRIPCIN DE LOS " + justi.getBienServicioTxt().toUpperCase(), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setSpacingAfter(10); document.add(parrafo); parrafo = new Paragraph( "El/Los " + justi.getBienServicioTxt() + " que se pretende contratar, son los siguientes:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setIndentationLeft(30); document.add(parrafo); parrafo = new Paragraph(justi.getDescripcion(), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setSpacingBefore(20); parrafo.setLeading(15); parrafo.setIndentationLeft(30); document.add(parrafo); parrafo = new Paragraph( "II.- PLAZOS Y CONDICIONES DEL SUMINISTRO DE LOS " + justi.getBienServicioTxt().toUpperCase(), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setSpacingBefore(20); document.add(parrafo); parrafo = new Paragraph(mapa.get("plazo_" + justi.getPlazo()), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setSpacingBefore(20); parrafo.setLeading(15); parrafo.setIndentationLeft(30); document.add(parrafo); parrafo = new Paragraph("III.- RESULTADO DE LA INVESTIGACIN DE MERCADO", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setSpacingBefore(20); document.add(parrafo); parrafo = new Paragraph( "La Investigacin de Mercado fue realizada en los trminos de los artculos 28, 29 y 30 del " + "Reglamento de la Ley de Adquisiciones, Arrendamientos y Servicios del Sector Pblico, en " + "forma conjunta por el ?rea Requirente y el ?rea Contratante, en la cual se verific previo al " + "inicio del procedimiento de contratacin, la existencia de oferta, en la cantidad, calidad y " + "oportunidad requeridas; la existencia de proveedores a nivel nacional o internacional con " + "posibilidad de cumplir con las necesidades de la contratacin, conocer el precio prevaleciente al " + "momento de llevar a cabo la Investigacin de mercado as como en la informacin disponible " + "en el Sistema informtico denominado COMPRANET:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setSpacingBefore(20); parrafo.setSpacingAfter(20); parrafo.setLeading(15); parrafo.setIndentationLeft(30); document.add(parrafo); PdfPTable table = new PdfPTable(2); // 3 columns. table.setWidths(new int[] { 100, 50 }); if (justi.getEsUnico()) { PdfPCell cell1 = new PdfPCell( new Paragraph("PROVEEDOR", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); PdfPCell cell2 = new PdfPCell(new Paragraph("IMPORTE SIN IVA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell1.setBorder(PdfPCell.NO_BORDER); cell2.setBorder(PdfPCell.NO_BORDER); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(cell1); table.addCell(cell2); cell1 = new PdfPCell(new Paragraph(justi.getProveedorUno().toUpperCase(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell2 = new PdfPCell(new Paragraph(montoFormatComas(justi.getMontoUno(), justi), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell1.setBorder(PdfPCell.NO_BORDER); cell2.setBorder(PdfPCell.NO_BORDER); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(cell1); table.addCell(cell2); document.add(table); /* Si es nico, no lleva motivo de seleccin parrafo = new Paragraph(justi.getMotivoSeleccion().toUpperCase(), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setSpacingBefore(20); parrafo.setLeading(15); parrafo.setIndentationLeft(30); document.add(parrafo); */ parrafo = new Paragraph( "Concluyendo que en conjunto es la nica oferta en cuanto a obtener las mejores condiciones, calidad, " + "precio, oportunidad y financiamiento, por ser el nico proveedor que proporcione los " + justi.getBienServicioTxt() + " que se pretende contratar la de " + justi.getProveedorUno().toUpperCase() + ". La referida " + "Investigacin de Mercado se acompaa a la presente justificacin para determinar que el " + "procedimiento de contratacin por adjudicacin directa es el idneo.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setSpacingBefore(20); parrafo.setLeading(15); parrafo.setIndentationLeft(30); document.add(parrafo); } else { PdfPCell cell1 = new PdfPCell( new Paragraph("PROVEEDOR", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); PdfPCell cell2 = new PdfPCell(new Paragraph("IMPORTE SIN IVA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell1.setBorder(PdfPCell.NO_BORDER); cell2.setBorder(PdfPCell.NO_BORDER); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(cell1); table.addCell(cell2); cell1 = new PdfPCell(new Paragraph(justi.getProveedorUno().toUpperCase(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell2 = new PdfPCell(new Paragraph(montoFormatComas(justi.getMontoUno(), justi), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell1.setBorder(PdfPCell.NO_BORDER); cell2.setBorder(PdfPCell.NO_BORDER); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(cell1); table.addCell(cell2); cell1 = new PdfPCell(new Paragraph(justi.getProveedorDos().toUpperCase(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell2 = new PdfPCell(new Paragraph(montoFormatComas(justi.getMontoDos(), justi), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell1.setBorder(PdfPCell.NO_BORDER); cell2.setBorder(PdfPCell.NO_BORDER); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(cell1); table.addCell(cell2); if (justi.getProveedorTres() != null && justi.getProveedorTres().trim().length() > 0) { cell1 = new PdfPCell(new Paragraph(justi.getProveedorTres().toUpperCase(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell2 = new PdfPCell(new Paragraph(montoFormatComas(justi.getMontoTres(), justi), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); cell1.setBorder(PdfPCell.NO_BORDER); cell2.setBorder(PdfPCell.NO_BORDER); table.addCell(cell1); table.addCell(cell2); } document.add(table); parrafo = new Paragraph("Motivo de la seleccin: " + justi.getMotivoSeleccion(), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setIndentationLeft(30); document.add(parrafo); parrafo = new Paragraph( "Siendo la oferta que en conjunto presenta las mejores condiciones en cuanto a calidad, precio, oportunidad " + "y financiamiento, la de " + justi.getProveedorUno().toUpperCase() + ". " + "La referida Investigacin de Mercado se acompaa a la presente justificacin para determinar " + "que el procedimiento de contratacin por adjudicacin directa es el idneo.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingBefore(20); parrafo.setLeading(15); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setIndentationLeft(30); document.add(parrafo); } parrafo = new Paragraph("IV.- PROCEDIMIENTO DE CONTRATACIN PROPUESTO", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setSpacingBefore(20); document.add(parrafo); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk( "El procedimiento de contratacin propuesto es el de adjudicacin directa, en virtud de que en el " + "presente caso la adjudicacin se llevara a cabo conforme la fraccin " + justi.getRomano() + " del artculo 41 el cual " + "menciona que este tipo de adjudicacin se puede llevar a cabo siempre y cuando: \n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.add(frase); frase = new Chunk(mapa.get("texto1_" + justi.getRomano()), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.add(frase); frase = new Chunk(" Actualizndose el supuesto de excepcin a la licitacin pblica " + "establecido en la fraccin " + justi.getRomano() + " del artculo 41 de la Ley de Adquisiciones, Arrendamientos y " + "Servicios del Sector Pblico, en relacin con lo establecido en el artculo 72 de su Reglamento.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.add(frase); document.add(parrafo); parrafo = new Paragraph("IV.1. MOTIVACIN Y FUNDAMENTACIN LEGAL:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setSpacingBefore(20); parrafo.setIndentationLeft(30); document.add(parrafo); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(60); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk("A)", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk(" MOTIVOS: ", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk("La contratacin de los " + justi.getBienServicioTxt() + " objeto de la presente justificacin " + "es necesaria para satisfacer los requerimientos del proyecto identificado por: " + justi.getProyecto() + ". " + justi.getRazonCompra() + "." + " \nPor lo anterior, la " + "contratacin propuesta se adeca al supuesto de excepcin establecido en la Ley " + "de Adquisiciones, Arrendamientos y Servicios del Sector Pblico en su artculo 41, " + "fraccin " + justi.getRomano() + "; adems de que se renen los requisitos previstos en el artculo 72 del " + "Reglamento de la Ley de Adquisiciones, Arrendamientos y Servicios del Sector " + "Pblico, tal y como se desprende de la informacin presentada en esta justificacin, " + "as como de la Investigacin de Mercado; " + "por lo que resulta procedente la contratacin bajo el procedimiento de adjudicacin " + "directa previsto en el artculo 26, fraccin III de la Ley antes mencionada.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(60); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk("B)", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk(" FUNDAMENTOS: ", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk("La contratacin se encuentra debidamente fundada en el artculo " + "134 de la Constitucin Poltica de los Estados Unidos Mexicanos; en los artculos 26 " + "fraccin III, 40 y 41 fraccin " + justi.getRomano() + " de la Ley de Adquisiciones, Arrendamientos y " + "Servicios del Sector Pblico; as como en los artculos 71 y 72 del Reglamento de la " + "Ley de Adquisiciones, Arrendamientos y Servicios del Sector Pblico.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); parrafo = new Paragraph("V.- MONTO ESTIMADO Y FORMA DE PAGO PROPUESTO:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setSpacingBefore(20); document.add(parrafo); parrafo = new Paragraph("V.1. MONTO ESTIMADO:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setSpacingBefore(20); parrafo.setIndentationLeft(30); document.add(parrafo); DecimalFormat decimalFormat = new DecimalFormat("0.00"); parrafo = new Paragraph("El monto estimado de la contratacin es la cantidad de " + montoFormatComas(justi.getSubTotal(), justi) + " (" + new Numero_a_Letra().Convertir(decimalFormat.format(justi.getSubTotal()), true) + " " + /*codigoDivisa(justi)*/ justi.getMoneda().getCode() + ")" + masIva + ", mismo que " + "result el ms conveniente de acuerdo con la Investigacin de Mercado" + ", mediante la cual se verific previo al inicio del procedimiento " + "de contratacin, la existencia de oferta de los " + justi.getBienServicioTxt() + " en la cantidad, " + "calidad y oportunidad requeridos en los trminos del artculo 28 del Reglamento de la Ley de " + "Adquisiciones, Arrendamientos y Servicios del Sector Pblico.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); table = new PdfPTable(3); // 3 columns. table.setWidths(new int[] { 30, 10, 10 }); PdfPCell cell1 = new PdfPCell( new Paragraph("Subtotal:", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); PdfPCell cell2 = new PdfPCell(new Paragraph(montoFormatComas(justi.getSubTotal(), justi), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); PdfPCell cell0 = new PdfPCell( new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell0.setBorder(PdfPCell.NO_BORDER); table.addCell(cell0); cell1.setBorder(PdfPCell.NO_BORDER); cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); cell2.setBorder(PdfPCell.NO_BORDER); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(cell1); table.addCell(cell2); cell1 = new PdfPCell( new Paragraph("Iva:", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell2 = new PdfPCell(new Paragraph(montoFormatComas(justi.getIva(), justi), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell0 = new PdfPCell(new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell0.setBorder(PdfPCell.NO_BORDER); table.addCell(cell0); cell1.setBorder(PdfPCell.NO_BORDER); cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); cell2.setBorder(PdfPCell.NO_BORDER); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(cell1); table.addCell(cell2); cell1 = new PdfPCell( new Paragraph("Total:", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell2 = new PdfPCell(new Paragraph(montoFormatComas(justi.getImporte(), justi), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell0 = new PdfPCell(new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell0.setBorder(PdfPCell.NO_BORDER); table.addCell(cell0); cell1.setBorder(PdfPCell.NO_BORDER); cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); cell2.setBorder(PdfPCell.NO_BORDER); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(cell1); table.addCell(cell2); document.add(table); parrafo = new Paragraph("V.1. FORMA DE PAGO PROPUESTA:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setSpacingBefore(20); parrafo.setIndentationLeft(30); document.add(parrafo); parrafo = new Paragraph("El monto total ser pagado en " + justi.getNumPagos() + " pago/s de " + montoFormatComas(justi.getSubTotal() / justi.getNumPagos(), justi) + " (" + new Numero_a_Letra().Convertir( decimalFormat.format(justi.getSubTotal() / (justi.getNumPagos())).toString(), true) + " " + /*codigoDivisa(justi)*/ justi.getMoneda().getCode() + ")" + masIva + ". Los pagos se realizarn previa verificacin de la entrega y calidad de los " + justi.getBienServicioTxt() + " as como previo envo en formatos .pdf y .xml del Comprobante Fiscal " + "Digital por Internet (CFDI) correspondiente que rena los requisitos fiscales respectivos. Los " + "pagos se efectuarn mediante " + justi.getFormaPago(), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); parrafo = new Paragraph("VI.- PERSONA PROPUESTA PARA LA ADJUDICACIN DIRECTA:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setSpacingBefore(20); document.add(parrafo); parrafo = new Paragraph( "Por lo anteriormente expuesto y fundado, se propone a " + justi.getProveedorUno().toUpperCase() + ", con domicilio ubicado en " + justi.getDomicilio() + ", Registro Federal de Contribuyentes: " + justi.getRfc() + ", correo electrnico: " + justi.getCorreo() + " y nmero telefnico " + justi.getTelefono() + datosBanco, new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); parrafo = new Paragraph( "VII.- ACREDITAMIENTO DEL O LOS CRITERIOS EN LOS QUE SE FUNDA Y MOTIVA LA " + "SELECCIN DEL PROCEDIMIENTO DE EXCEPCIN A LA LICITACIN PBLICA:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setLeading(15); parrafo.setIndentationLeft(30); parrafo.setSpacingBefore(20); document.add(parrafo); parrafo = new Paragraph( "El procedimiento de contratacin por adjudicacin directa es el idneo, al actualizarse el " + "supuesto de excepcin al procedimiento de licitacin pblica previsto en el artculo 41, fraccin " + justi.getRomano() + " de la Ley de Adquisiciones, Arrendamientos y Servicios del Sector Pblico, aunado a que se " + "corrobor la capacidad y experiencia de la persona propuesta, quien por ser proveedor nico " + "present las mejores condiciones en cuanto a precio, calidad, financiamiento, oportunidad y " + "dems circunstancias pertinentes a efecto de asegurar a esta Entidad las mejores condiciones " + "para su contratacin, tal y como se acredita con la informacin presentada en esta justificacin, " + "as como con la Investigacin de Mercado.\n\n" + "El acreditamiento del o los criterios en los que se funda la excepcin de licitacin pblica, son " + "los siguientes:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk(" - Economa\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk( "Con la Investigacin de Mercado se establecieron precios y dems condiciones de calidad, " + "financiamiento y oportunidad, respecto de los " + justi.getBienServicioTxt() + " requeridos, con lo cual " + "se asegura cumplir con los principios del artculo 134 de la Constitucin Poltica de los Estados " + "Unidos Mexicanos y de la Ley de Adquisiciones, Arrendamientos y Servicios del Sector Pblico, " + "en cuanto a precio, calidad, financiamiento, oportunidad y dems circunstancias pertinentes, por " + "lo que el procedimiento de adjudicacin directa permite en contraposicin al procedimiento de " + "licitacin pblica, obtener con mayor oportunidad los " + justi.getBienServicioTxt() + " requeridos al " + "menor costo econmico para el CIMAV, S.C. segn lo detallado en la investigacin de mercado " + "que se realiz, generando ahorro de recursos por estar proponiendo la adjudicacin al " + "proveedor nico cuya propuesta se considera aceptable en cuanto a su solvencia. " + "Lo anterior de acuerdo con lo establecido en el numeral 4.2.4 (ADJUDICACIN DIRECTA) y " + "numeral 4.2.4.1.1 (Verificar Acreditamiento de Excepcin) del Acuerdo por el que se modifica el " + "Manual Administrativo de Aplicacin General en Materia de Adquisiciones, Arrendamientos y " + "Servicios del Sector Pblico, publicado en el Diario Oficial de la Federacin el 21 de noviembre " + "de 2012.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk(" - Eficacia\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk( "Con el procedimiento de contratacin por adjudicacin directa, se lograr obtener con " + "oportunidad los " + justi.getBienServicioTxt() + " atendiendo a las caractersticas requeridas en " + "contraposicin con el procedimiento de licitacin pblica, dado que se reducen tiempos y se " + "generan economas; aunado a que la persona propuesta cuenta con experiencia y capacidad " + "para satisfacer las necesidades requeridas, adems de que es el nico que ofrece las mejores " + "condiciones disponibles en cuanto a precio, calidad y oportunidad, con lo que se lograra el " + "cumplimiento de los objetivos y resultados deseados en el tiempo requerido, situacin que se " + "puede demostrar en base a la investigacin de mercado. " + "Lo anterior de acuerdo con lo establecido en el numeral 4.2.4 (ADJUDICACIN DIRECTA) y " + "numeral 4.2.4.1.1 (Verificar Acreditamiento de Excepcin) del Acuerdo por el que se modifica el " + "Manual Administrativo de Aplicacin General en Materia de Adquisiciones, Arrendamientos y " + "Servicios del Sector Pblico, publicado en el Diario Oficial de la Federacin el 21 de noviembre " + "de 2012.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk(" - Eficiencia\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk( "Con el procedimiento de adjudicacin directa, a diferencia del procedimiento de licitacin " + "pblica, se logra el uso racional de recursos con los que cuenta la Entidad para realizar la " + "contratacin, obteniendo las mejores condiciones de precio, calidad y oportunidad, evitando la " + "prdida de tiempo y recursos al Estado, lo cual se demuestra con la investigacin de mercado " + "que se realiz, quedando evidencia de su resultado ya que los recursos disponibles con los que " + "cuenta el CIMAV se aplican conforme a los lineamientos de racionalidad y austeridad " + "presupuestaria. " + "Lo anterior de acuerdo con lo establecido en el numeral 4.2.4 (ADJUDICACIN DIRECTA) y " + "numeral 4.2.4.1.1 (Verificar Acreditamiento de Excepcin) del Acuerdo por el que se modifica el " + "Manual Administrativo de Aplicacin General en Materia de Adquisiciones, Arrendamientos y " + "Servicios del Sector Pblico, publicado en el Diario Oficial de la Federacin el 21 de noviembre " + "de 2012.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk(" - Imparcialidad\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk( "El tipo de adjudicacin que se propone, se llev a cabo sin prejuicios ni situaciones que " + "pudieran afectar la imparcialidad, y sin que medie algn inters personal de los servidores " + "pblicos involucrados en la contratacin o de cualquier otra ndole que pudiera otorgar " + "condiciones ventajosas a alguna persona, en relacin con los dems ni limitar la libre " + "participacin, esto debido a que es proveedor nico, dicha situacin queda demostrada " + "conforme al resultado que se da con base a la investigacin de mercado. " + "Lo anterior de acuerdo con lo establecido en el numeral 4.2.4 (ADJUDICACIN DIRECTA) y " + "numeral 4.2.4.1.1 (Verificar Acreditamiento de Excepcin) del Acuerdo por el que se modifica el " + "Manual Administrativo de Aplicacin General en Materia de Adquisiciones, Arrendamientos y " + "Servicios del Sector Pblico, publicado en el Diario Oficial de la Federacin el 21 de noviembre " + "de 2012.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk(" - Honradez\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk( "La seleccin del procedimiento de adjudicacin directa tiene como nico fin contratar bajo " + "las mejores condiciones los " + justi.getBienServicioTxt() + " requeridos, actuando con rectitud, " + "responsabilidad e integridad y con apego estricto al marco jurdico aplicable, evitando as " + "incurrir en actos de corrupcin y conflictos de inters, ya que por parte de los servidores " + "pblicos que intervinieron en este procedimiento quedo evidenciado que no se ha favorecido a " + "persona alguna interesada en la contratacin ya que en base a la investigacin de mercado " + "queda demostrado que es proveedor nico.\n\n" + "Lo anterior de acuerdo con lo establecido en el numeral 4.2.4 (ADJUDICACIN DIRECTA) y " + "numeral 4.2.4.1.1 (Verificar Acreditamiento de Excepcin) del Acuerdo por el que se modifica el " + "Manual Administrativo de Aplicacin General en Materia de Adquisiciones, Arrendamientos y " + "Servicios del Sector Pblico, publicado en el Diario Oficial de la Federacin el 21 de noviembre " + "de 2012.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); if (justi.getEsUnico()) { parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk(" - Transparencia\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk(mapa.get("transparencia_unico"), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); } else { parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); frase = new Chunk(" - Transparencia\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.add(frase); frase = new Chunk(mapa.get("transparencia_no_unico"), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.add(frase); document.add(parrafo); } parrafo = new Paragraph("VIII.- LUGAR Y FECHA DE EMISIN:", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setLeading(15); parrafo.setSpacingBefore(20); document.add(parrafo); parrafo = new Paragraph("En la Ciudad de Chihuahua, Estado de Chihuahua a los " + justi.getFechaElaboracion().getDayOfMonth() + " das del mes de " + justi.getFechaElaboracion().getMonth().getDisplayName(TextStyle.FULL, new Locale("es", "ES")) + " de " + justi.getFechaElaboracion().getYear() + ", se emite la presente justificacin para los efectos legales a que haya lugar.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setLeading(15); parrafo.setIndentationLeft(30); parrafo.setSpacingBefore(20); document.add(parrafo); parrafo = new Paragraph( "En cumplimiento a lo establecido en el penltimo prrafo del artculo 71 del Reglamento " + "de la Ley de Adquisiciones, Arrendamientos y Servicios del Sector Pblico, se acompaa a la " + "presente como ANEXO DOS?, la Requisicin o Solicitud de Contratacin (Requisicin) A la " + "cual se deber anexar, mediante sello del departamento de Presupuesto, la Constancia con la " + "que se acredita la existencia de recursos para iniciar el procedimiento de contratacin.", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setLeading(15); parrafo.setIndentationLeft(30); parrafo.setSpacingBefore(20); document.add(parrafo); if (justi.getEsUnico()) { parrafo = new Paragraph(mapa.get("nota_1"), new Font(Font.FontFamily.TIMES_ROMAN, 13, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); parrafo.setLeading(15); parrafo.setIndentationLeft(30); parrafo.setSpacingBefore(20); document.add(parrafo); } parrafo = new Paragraph("ATENTAMENTE", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setLeading(15); parrafo.setSpacingBefore(60); document.add(parrafo); parrafo = new Paragraph( justi.getAutoriza().getName() + "\n" + justi.getAutorizaCargo().toUpperCase(), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setLeading(15); parrafo.setSpacingBefore(60); document.add(parrafo); document.close(); outputStream.close(); } catch (DocumentException ex) { Logger.getLogger(JustificacionREST.class.getName()).log(Level.SEVERE, null, ex); } } }; ResponseBuilder response = Response.ok(streamingOutput); String fileName = ("inline; filename=" + justi.getRequisicion() + "-" + justi.getEmpleado().getCuentaCimav() + ".pdf").replace(" ", "").replace(",", "-"); response.header("Content-Disposition", fileName); return response.build(); }
From source file:cimav.restrh.services.JustificacionREST.java
private Response tablaMercado(Integer id_param) { Justificacion justif = (Justificacion) JustificacionREST.this.find(id_param); StreamingOutput streamingOutput = new StreamingOutput() { public void write(OutputStream outputStream) throws IOException, WebApplicationException { try { //Create Document instance. Document document = new Document(); PdfWriter.getInstance(document, outputStream); document.addAuthor("Generador adquisiciones | " + justif.getEmpleado().getCuentaCimav()); String fileName1 = (justif.getRequisicion() + "-" + justif.getEmpleado().getCuentaCimav()) .replace(" ", "").replace(",", ""); document.addTitle("Justificacin: " + fileName1); document.addSubject("Justificacin de Requisicin"); document.open();/*from w ww. j av a 2s. co m*/ //Titulo del documento Paragraph parrafo = new Paragraph("Centro de Investigacin en Materiales Avanzados S. C.", new Font(Font.FontFamily.TIMES_ROMAN, 17, Font.BOLD)); parrafo.setAlignment(Element.ALIGN_CENTER); parrafo.setSpacingAfter(20); document.add(parrafo); PdfPTable table = new PdfPTable(3); // 3 columns. table.setWidths(new int[] { 30, 50, 100 }); PdfPCell cell0 = new PdfPCell( new Paragraph("Fecha:", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); PdfPCell cell1 = new PdfPCell(new Paragraph( justif.getFechaInicio().getDayOfMonth() + " de " + justif.getFechaInicio().getMonth().getDisplayName(TextStyle.FULL, new Locale("es", "ES")) + " de " + justif.getFechaInicio().getYear(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); PdfPCell cell2 = new PdfPCell( new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell0.setBorder(PdfPCell.BOX); cell1.setBorder(PdfPCell.BOX); cell2.setBorder(PdfPCell.NO_BORDER); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell0); table.addCell(cell1); table.addCell(cell2); cell0 = new PdfPCell(new Paragraph("No. de Requisicin:", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell1 = new PdfPCell(new Paragraph(justif.getRequisicion(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell2 = new PdfPCell(new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell0.setBorder(PdfPCell.BOX); cell1.setBorder(PdfPCell.BOX); cell2.setBorder(PdfPCell.NO_BORDER); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell0); table.addCell(cell1); table.addCell(cell2); cell0 = new PdfPCell(new Paragraph("Procedimiento:", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell1 = new PdfPCell(new Paragraph("Adjudicacin Directa", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell2 = new PdfPCell(new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell0.setBorder(PdfPCell.BOX); cell1.setBorder(PdfPCell.BOX); cell2.setBorder(PdfPCell.NO_BORDER); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell0); table.addCell(cell1); table.addCell(cell2); cell0 = new PdfPCell(new Paragraph("Origen de los bienes:", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell1 = new PdfPCell(new Paragraph(justif.esNacional(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell2 = new PdfPCell(new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell0.setBorder(PdfPCell.BOX); cell1.setBorder(PdfPCell.BOX); cell2.setBorder(PdfPCell.NO_BORDER); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell0); table.addCell(cell1); table.addCell(cell2); document.add(table); parrafo = new Paragraph("", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); table = new PdfPTable(5);// 5 columns. table.setWidthPercentage(90); //table size % table.setWidths(new int[] { 'a', 'a', 'a', 'a', 'a' }); cell0 = new PdfPCell( new Paragraph("PARTIDA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell1 = new PdfPCell( new Paragraph("DESCIPCIMAV", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell2 = new PdfPCell( new Paragraph("PROVEEDOR No. 1", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); PdfPCell cell3 = new PdfPCell( new Paragraph("PROVEEDOR No.2", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); PdfPCell cell4 = new PdfPCell( new Paragraph("PROVEEDOR No.3", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell0.setBorder(PdfPCell.BOX); cell1.setBorder(PdfPCell.BOX); cell2.setBorder(PdfPCell.BOX); cell3.setBorder(PdfPCell.BOX); cell4.setBorder(PdfPCell.BOX); cell0.setHorizontalAlignment(Element.ALIGN_CENTER); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); cell2.setHorizontalAlignment(Element.ALIGN_CENTER); cell3.setHorizontalAlignment(Element.ALIGN_CENTER); cell4.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell0); table.addCell(cell1); table.addCell(cell2); table.addCell(cell3); table.addCell(cell4); cell0 = new PdfPCell( new Paragraph("Partida #1", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD))); cell1 = new PdfPCell(new Paragraph(justif.getDescripcion(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell0.setBorder(PdfPCell.BOX); cell1.setBorder(PdfPCell.BOX); cell0.setHorizontalAlignment(Element.ALIGN_CENTER); cell0.setVerticalAlignment(Element.ALIGN_MIDDLE); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); cell1.setVerticalAlignment(Element.ALIGN_MIDDLE); cell0.setRowspan(2); cell1.setRowspan(2); table.addCell(cell0); table.addCell(cell1); cell2 = new PdfPCell(new Paragraph(justif.getProveedorUno(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell3 = new PdfPCell(new Paragraph(justif.getProveedorDos(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell4 = new PdfPCell(new Paragraph(justif.getProveedorTres(), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell2.setBorder(PdfPCell.BOX); cell3.setBorder(PdfPCell.BOX); cell4.setBorder(PdfPCell.BOX); cell2.setHorizontalAlignment(Element.ALIGN_CENTER); cell3.setHorizontalAlignment(Element.ALIGN_CENTER); cell4.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell2); table.addCell(cell3); table.addCell(cell4); if (justif.getMontoUno() <= 1 && justif.getMontoDos() <= 1 && justif.getMontoTres() <= 1) { cell2 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell3 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell4 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); } else if (justif.getMontoUno() <= 1 && justif.getMontoDos() <= 1) { cell2 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell3 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell4 = new PdfPCell(new Paragraph(montoFormatComas(justif.getMontoTres(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); } else if (justif.getMontoUno() <= 1 && justif.getMontoTres() <= 1) { cell2 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell3 = new PdfPCell(new Paragraph(montoFormatComas(justif.getMontoDos(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell4 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); } else if (justif.getMontoDos() <= 1 && justif.getMontoTres() <= 1) { cell2 = new PdfPCell(new Paragraph(montoFormatComas(justif.getMontoUno(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell3 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell4 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); } else if (justif.getMontoUno() <= 1) { cell2 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell3 = new PdfPCell(new Paragraph(montoFormatComas(justif.getMontoDos(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell4 = new PdfPCell(new Paragraph(montoFormatComas(justif.getMontoTres(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); } else if (justif.getMontoDos() <= 1) { cell2 = new PdfPCell(new Paragraph( "Subtotal: " + justif.getSubTotal() + "\n" + "IVA: " + justif.getIva() + "\n" + "Total:" + "\n" + montoFormatComas(justif.getImporte(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell3 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell4 = new PdfPCell(new Paragraph(montoFormatComas(justif.getMontoTres(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); } else if (justif.getMontoTres() <= 1) { cell2 = new PdfPCell(new Paragraph( "Subtotal: " + justif.getSubTotal() + "\n" + "IVA: " + justif.getIva() + "\n" + "Total:" + "\n" + montoFormatComas(justif.getImporte(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell3 = new PdfPCell(new Paragraph(montoFormatComas(justif.getMontoDos(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell4 = new PdfPCell( new Paragraph("NO APLICA", new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); } else { cell2 = new PdfPCell(new Paragraph( "Subtotal: " + justif.getSubTotal() + "\n" + "IVA: " + justif.getIva() + "\n" + "Total:" + "\n" + montoFormatComas(justif.getImporte(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell3 = new PdfPCell(new Paragraph(montoFormatComas(justif.getMontoDos(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); cell4 = new PdfPCell(new Paragraph(montoFormatComas(justif.getMontoTres(), justif), new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL))); } cell2.setBorder(PdfPCell.BOX); cell3.setBorder(PdfPCell.BOX); cell4.setBorder(PdfPCell.BOX); cell2.setHorizontalAlignment(Element.ALIGN_CENTER); cell2.setVerticalAlignment(Element.ALIGN_MIDDLE); cell3.setHorizontalAlignment(Element.ALIGN_CENTER); cell3.setVerticalAlignment(Element.ALIGN_MIDDLE); cell4.setHorizontalAlignment(Element.ALIGN_CENTER); cell4.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell2); table.addCell(cell3); table.addCell(cell4); document.add(table); parrafo = new Paragraph( "Tal como lo establece el artculo 29 " + "del Reglamento de la Ley de Adquisiciones, " + "Arrendamientos y Servicios del Sector Pblico," + " la investigacin de mercado arrojo los siguientes resultados:\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(20); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(10); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); parrafo = new Paragraph( "Fraccin I, determinamos la existencia de oferta de los bienes requeridos.\n" + "Fraccin II, verificamos existencias de los mismos con los proveedores que nos proporcionaron cotizacin formal.\n" + "Fraccin III, conocimos los precios que prevalecan en el mercado nacional.\n", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setIndentationLeft(50); parrafo.setLeading(15); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); parrafo = new Paragraph( "A travs de la investigacin de mercado realizada, " + "concluimos que la mejor opcin de compra es la oferta del proveedor" + " " + justif.getProveedorUno(), new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL)); parrafo.setSpacingAfter(10); parrafo.setIndentationLeft(30); parrafo.setLeading(15); parrafo.setSpacingBefore(20); parrafo.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafo); document.close(); outputStream.close(); } catch (DocumentException ex) { Logger.getLogger(JustificacionREST.class.getName()).log(Level.SEVERE, null, ex); } } }; ResponseBuilder response = Response.ok(streamingOutput); String fileName = ("inline; filename=" + justif.getRequisicion() + "-" + justif.getEmpleado().getCuentaCimav() + ".pdf").replace(" ", "").replace(",", "-"); response.header("Content-Disposition", fileName); return response.build(); }
From source file:com.icebreak.p2p.front.controller.trade.download.InvestReceiptPDFCreator.java
/** * ???// w w w. j a v a 2 s . com * @param tradeId * @param detailId * @param servletPath * @return ? byte[] * @throws Exception */ public byte[] creatFileData4Receipt(long tradeId, long detailId, String servletPath) throws Exception { FileInputStream fis = null; BufferedInputStream buff = null; String fileKey = tradeId + "_" + detailId;//System.currentTimeMillis() + ""; String filePath = servletPath + "/resources/pdf/investReceipt_" + fileKey + ".pdf"; this.receiptFilePath = filePath; File file = new File(filePath); if (!file.exists()) { String timeLimit = ""; String interestRate = ""; String guaranteeName = ""; String investFlowCode = null; String investor = ""; String investorReal = ""; String investorCertNo = ""; String loanner = ""; String loannerReal = ""; String loannerCertNo = ""; String investAmount = ""; String totalAmountStr = ""; String effectiveDate = ""; String expireDate = ""; Trade trade = tradeService.getByTradeId(tradeId); effectiveDate = DateUtil.simpleFormat(trade.getEffectiveDateTime()); expireDate = DateUtil.simpleFormat(trade.getExpireDateTime()); LoanDemandDO loanDemand = loanDemandManager.queryLoanDemandByDemandId(trade.getDemandId()); guaranteeName = loanDemand.getGuaranteeName(); if ("W".equals(loanDemand.getTimeLimitUnit()) || "M".equals(loanDemand.getTimeLimitUnit())) { timeLimit = loanDemand.getTimeLimit() + ""; } else if ("Y".equals(loanDemand.getTimeLimitUnit())) { timeLimit = loanDemand.getTimeLimit() + ""; } else { timeLimit = loanDemand.getTimeLimit() + ""; } interestRate = CommonUtil.mul(loanDemand.getInterestRate(), 100) + "%"; List<UserInvestEntry> userInvests = tradeService.getEntriesByTradeIdAndDetailId(tradeId, detailId); long totalAmount = 0; if (userInvests != null && userInvests.size() > 0) { UserInvestEntry tradeItem = userInvests.get(0); investAmount = MoneyUtil.getFormatAmount(tradeItem.getAmount()); long investorId = userInvests.get(0).getInvestorId(); long loannerId = userInvests.get(0).getLoanerId(); investorCertNo = getCertNoByUserId(investorId); loannerCertNo = getCertNoByUserId(loannerId); investor = userInvests.get(0).getInvestorUserName(); investorReal = userInvests.get(0).getInvestorRealName(); loannerReal = userInvests.get(0).getLoanerRealName(); loanner = userInvests.get(0).getLoanerUserName(); totalAmount = userInvests.get(0).getAmount(); } //? /*interest = caculateInterest(new Money(totalAmount), loanDemand.getInterestRate(), loanDemand.getTimeLimit(), loanDemand.getTimeLimitUnit());*/ long divisionAmount = 0; long profitAmount = 0; List<TradeDetail> details = tradeService.getInvestProfitTrade(detailId); if (details != null && details.size() > 0) { for (TradeDetail detail : details) { divisionAmount += detail.getAmount(); if (detail.getProfitType() > 0) { profitAmount += detail.getAmount(); } } } totalAmount += divisionAmount; TradeFlowCode tradeFlow = tradeService.queryInvestFlowCodesByTradeDetailId(detailId); if (tradeFlow != null) { investFlowCode = tradeFlow.getTradeFlowCode(); } String guaranteeLicenseNo = ""; Map<String, Object> cond = new HashMap<String, Object>(); cond.put("roleId", 8L); cond.put("tradeId", trade.getId()); List<TradeQueryDetail> det = loanDemandManager.getTradeDetailByConditions(cond); if (det != null && det.size() > 0) { tradeFlow = tradeService.queryInvestFlowCodesByTradeDetailId(det.get(0).getId()); if (tradeFlow != null) { guaranteeLicenseNo = tradeFlow.getTradeFlowCode(); } } LoanDemandDO demand = loanDemandManager.queryLoanDemandByDemandId(trade.getDemandId()); long divisionTemplateId = demand.getDivisionTemplateId(); DivisionTemplateLoanDO divisionTemplateLoan = divisionTemplateLoanService .getByBaseId(divisionTemplateId); List<DivsionRuleRole> investRolelist = divisionService .getRuleRole(String.valueOf(divisionTemplateLoan.getInvestTemplateId())); List<DivsionRuleRole> repayRolelist = divisionService .getRuleRole(String.valueOf(divisionTemplateLoan.getRepayTemplateId())); //?? double totalAnnualInterest = 0; investRolelist.addAll(repayRolelist); if (investRolelist != null && investRolelist.size() > 0) { for (DivsionRuleRole druleRole : investRolelist) { if (DivisionPhaseEnum.INVESET_PHASE.code().equals(druleRole.getPhase())) { if ("11".equals(String.valueOf(druleRole.getRoleId()))) { totalAnnualInterest += druleRole.getRule(); } } } } totalAmountStr = MoneyUtil.getFormatAmount(totalAmount); String divisionAmountStr = MoneyUtil.getFormatAmount(divisionAmount); FileOutputStream fos = null; Document doc = new Document(PageSize.A4, 20, 20, 140, 20); try { fos = new FileOutputStream(filePath); PdfWriter writer = PdfWriter.getInstance(doc, fos); doc.open(); // BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font titleChinese = new Font(bfChinese, 20, Font.BOLD); // ? Paragraph title = new Paragraph(AppConstantsUtil.getProductName() + "?", titleChinese);// title.setAlignment(Element.ALIGN_CENTER); // title.setLeading(1f);//?//? doc.add(title); Font fontZH = new Font(bfChinese, 12, Font.NORMAL); float[] widths = { 20f, 30f, 25f, 25f }; PdfPTable table = new PdfPTable(widths); table.setSpacingBefore(20f);// ? table.setTotalWidth(500);// table.setWidthPercentage(100);//%100 // table.getDefaultCell().setBorder(0);// PdfPCell cell; // cell = new PdfPCell(new Paragraph("?",fontZH)); // cell.setColspan(4); // table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(AppConstantsUtil.getPlatformName(), fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("?", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(loanDemand.getRepayDivisionWayMsg(), fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(interestRate, fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("?", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(timeLimit, fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(guaranteeName, fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell( new Paragraph(StringUtil.nullToEmpty(loanDemand.getGuaranteeLicenseNo()), fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph((loanDemand.getLoanAmount() / 100) + "", fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(loanDemand.getLoanPurpose(), fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(investFlowCode, fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("?", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); cell.setColspan(2); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); cell.setColspan(2); table.addCell(cell); Paragraph iparas = new Paragraph("??" + investor, fontZH); iparas.add(Chunk.NEWLINE); iparas.add("??" + investorReal); iparas.add(Chunk.NEWLINE); iparas.add("??" + StringUtil.subString(investorCertNo, 7, "****")); iparas.add(Chunk.NEWLINE); iparas.add("?" + effectiveDate); iparas.add(Chunk.NEWLINE); iparas.add("" + expireDate); iparas.add(Chunk.NEWLINE); iparas.add("()" + investAmount); iparas.add(Chunk.NEWLINE); iparas.add("()" + divisionAmountStr); iparas.add(Chunk.NEWLINE); iparas.add("()" + totalAmountStr); cell = new PdfPCell(iparas); cell.setColspan(2); cell.setRowspan(8); cell.setMinimumHeight(120); table.addCell(cell); Paragraph paras = new Paragraph("??" + loanner, fontZH); paras.add(Chunk.NEWLINE); paras.add("??" + loannerReal); paras.add(Chunk.NEWLINE); paras.add("??" + StringUtil.subString(loannerCertNo, 7, "****")); paras.add(Chunk.NEWLINE); paras.add("?" + effectiveDate); paras.add(Chunk.NEWLINE); paras.add("" + expireDate); paras.add(Chunk.NEWLINE); paras.add(Chunk.NEWLINE); paras.add(Chunk.NEWLINE); paras.add("()" + totalAmountStr); cell = new PdfPCell(paras); cell.setColspan(2); cell.setRowspan(8); table.addCell(cell); doc.add(table); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); Paragraph tips = new Paragraph(" ?? ?" + AppConstantsUtil.getPlatformName() + "", fontZH);// tips.setLeading(1f);//?//? doc.add(tips); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); tips = new Paragraph(" ??" + AppConstantsUtil.getPlatformAddress(), fontZH);// tips.setLeading(1f);//?//? doc.add(tips); // XMLWorkerHelper.getInstance().parseXHtml(writer, doc, // new ByteArrayInputStream(str.getBytes())); doc.close(); logger.info("?"); } catch (Exception e) { logger.error("?", e); throw new Exception("?:" + e.getMessage()); } finally { if (fos != null) { fos.close(); } } } byte[] data = new byte[1024]; file = new File(filePath); try { ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] temp = new byte[1024]; int size = 0; fis = new FileInputStream(file); buff = new BufferedInputStream(fis); int i = 0; while ((size = buff.read(temp)) != -1) { out.write(temp, 0, size); i += 1; } data = out.toByteArray(); buff.close(); fis.close(); //file.delete(); if (i == 0 && size == -1) { //PDF file.delete(); } } catch (FileNotFoundException e) { logger.error("?", e); } catch (IOException e) { logger.error("delete file", e); } finally { if (fis != null) { fis.close(); } } return data; }
From source file:com.javaPdf.app.GeneradorContrato.java
public static void writePDF() { // Document document = new Document() ; Document document = new Document(PageSize.LETTER, 65, 65, 60, 60); try {/* w ww .j a v a 2 s. c o m*/ /*Font que usaran las palabras destacadas con NEGRITA*/ Font font_negrita = FontFactory.getFont("Times New Roman"); font_negrita.setSize(11); font_negrita.setStyle(Font.BOLD); font_negrita.setFamily(Font.FontFamily.TIMES_ROMAN.toString()); Scanner sc = new Scanner(System.in); Calendar calendarioGragoriano = new GregorianCalendar(12, Calendar.MONTH, 2017); /*Inicializar un objeto de tipo Calendar con un metodo de clase (Static) el cual obtiene una onstancia de la clase puede ser mas sencillo*/ Calendar calendario = Calendar.getInstance(); System.out.println(Calendar.DAY_OF_MONTH); System.out.println(calendario.getTime()); /*Datos ingresados por teclado*/ System.out.println("Ingrese el NOMBRE DEL EMPLEADOR: "); Chunk nombreEmpleador = new Chunk("[EMPLEADOR]", font_negrita); System.out.println("Ingrese el RUT DEL EMPLEADOR: "); Chunk rutEmpleador = new Chunk("xx.xxx.xxx-x", font_negrita); System.out.println("Ingrese el NOMBRE DEL TRABAJADOR: "); // Chunk nombreTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita); Chunk nombreTrabajador = new Chunk(sc.nextLine(), font_negrita); System.out.println("Ingrese el RUT DEL TRABAJADOR: "); // Chunk rutTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita); Chunk rutTrabajador = new Chunk(sc.nextLine(), font_negrita); System.out.println("Ingrese la DIRECCIN DEL TRABAJADOR: "); // Chunk direccionTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita); Chunk direccionTrabajador = new Chunk(sc.nextLine(), font_negrita); System.out.println("Ingrese la COMUNA DEL TRABAJADOR: "); // Chunk comunaTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita); Chunk comunaTrabajador = new Chunk(sc.nextLine(), font_negrita); System.out.println("Ingrese la FECHA DE NACIMIENTO DEL TRABAJADOR: "); // Chunk fechaNacimientoTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita); Chunk fechaNacimientoTrabajador = new Chunk(sc.nextLine(), font_negrita); System.out.println("Ingrese el SUELDO QUE TENDRA EL TRABAJADOR: "); // Chunk sueldoTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita); Chunk sueldoTrabajador = new Chunk(sc.nextLine(), font_negrita); System.out.println("Ingrese la FUNCION QUE TENDRA EL TRABAJADOR: "); // Chunk funcionTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita); Chunk funcionTrabajador = new Chunk(sc.nextLine().toUpperCase(), font_negrita); System.out.println("Ingrese la FECHA DE INICIO DE CONTRATO DEL TRABAJADOR: "); // Chunk fechaInicioContrato = new Chunk ("DATO DE PRUEBA", font_negrita); Chunk fechaInicioContrato = new Chunk(sc.nextLine(), font_negrita); System.out.println("Ingrese la FECHA DE TERMINO DE CONTRATO DEL TRABAJADOR: "); // Chunk fechaTerminoContrato = new Chunk ("DATO DE PRUEBA", font_negrita); Chunk fechaTerminoContrato = new Chunk(sc.nextLine(), font_negrita); /*Clausulas*/ Chunk primero = new Chunk(TEXTOPRIMERO, font_negrita); Chunk segundo = new Chunk(TEXTOSEGUNDO, font_negrita); Chunk tercero = new Chunk(TEXTOTERCERO, font_negrita); Chunk cuarto = new Chunk(TEXTOCUARTO, font_negrita); Chunk quinto = new Chunk(TEXTOQUINTO, font_negrita); Chunk sexto = new Chunk(TEXTOSEXTO, font_negrita); Chunk septimo = new Chunk(TEXTOSEPTIMO, font_negrita); Chunk octavo = new Chunk(TEXTOOCTAVO, font_negrita); Chunk noveno = new Chunk(TEXTONOVENO, font_negrita); // Chunk afp = new Chunk (TEXTONOVENO2, font_negrita); // Chunk salud = new Chunk (TEXTONOVENO4, font_negrita); // Chunk cesantia = new Chunk (TEXTONOVENO6, font_negrita); Chunk decimo = new Chunk(TEXTODECIMO, font_negrita); Chunk undecimo = new Chunk(TEXTOUNDECIMO, font_negrita); // Calendar calendario = Calendar.getInstance(); SimpleDateFormat formateador = new SimpleDateFormat("dd 'de' MMMM 'de' yyyy", new Locale("es")); Date fechaDate = new Date(); Chunk fecha = new Chunk(formateador.format(fechaDate), font_negrita); String path = new File(".").getCanonicalPath(); String FILE_NAME = path + "/CONTRATO " + nombreTrabajador + " RUT " + rutTrabajador + ".pdf"; PdfWriter.getInstance(document, new FileOutputStream(new File(FILE_NAME))); // Image firmaEmpleador = Image.getInstance(path + "/img/firmaEmpleador.png"); // firmaEmpleador.scaleAbsoluteWidth(150f); // firmaEmpleador.scaleAbsoluteHeight(70f); // firmaEmpleador.setAbsolutePosition(70f, 200f); // Image timbreGerencia = Image.getInstance(path + "/img/timbreGerencia.png"); timbreGerencia.scaleAbsoluteWidth(90f); timbreGerencia.scaleAbsoluteHeight(75f); timbreGerencia.setAbsolutePosition(230, 200f); // Image firmaTrabajador = Image.getInstance(path + "/img/firmaTrabajador.png"); firmaTrabajador.scaleAbsoluteWidth(160f); firmaTrabajador.scaleAbsoluteHeight(70f); firmaTrabajador.setAbsolutePosition(350, 175f); // // Image todoEnUno = Image.getInstance(path + "/img/todoEnUno.png"); // todoEnUno.scaleAbsoluteWidth(550); // todoEnUno.scaleAbsoluteHeight(150); // todoEnUno.setAbsolutePosition(15, 120f); document.open(); FontFactory.registerDirectories(); /*Parrafo de Titulo*/ String tituloContrato_texto = "CONTRATO DE TRABAJO:\n"; Font font_titulo = FontFactory.getFont("Times New Roman"); font_titulo.setSize(14); font_titulo.setStyle(Font.BOLD | Font.UNDERLINE); font_titulo.setFamily(Font.FontFamily.TIMES_ROMAN.toString()); Paragraph parrafoTitulo = new Paragraph(tituloContrato_texto, font_titulo); parrafoTitulo.setAlignment(Element.ALIGN_CENTER); document.add(parrafoTitulo); Font font_primer_parrafo = FontFactory.getFont("Times New Roman"); font_primer_parrafo.setSize(11); // font_primer_parrafo.setStyle(Font.BOLD | Font.UNDERLINE); font_primer_parrafo.setFamily(Font.FontFamily.TIMES_ROMAN.toString()); Paragraph primer_parrafo = new Paragraph(); /*Agregar CHunks a el parrafo*/ /*PRIMER PARRAFO*/ primer_parrafo.setAlignment(Element.ALIGN_JUSTIFIED); primer_parrafo.setLeading(15); primer_parrafo.setFont(font_primer_parrafo); primer_parrafo.add(TEXTO1); primer_parrafo.add(fecha); primer_parrafo.add(TEXTO2); primer_parrafo.add(nombreEmpleador); primer_parrafo.add(TEXTO3); primer_parrafo.add(rutEmpleador); primer_parrafo.add(TEXTO4); primer_parrafo.add(nombreTrabajador); primer_parrafo.add(TEXTO5); primer_parrafo.add(rutTrabajador); primer_parrafo.add(TEXTO6); primer_parrafo.add(direccionTrabajador); primer_parrafo.add(TEXTO7); primer_parrafo.add(comunaTrabajador); primer_parrafo.add(TEXTO8); primer_parrafo.add(fechaNacimientoTrabajador); primer_parrafo.add(TEXTO9); /*PRIMERA CLAUSULA*/ primer_parrafo.add(primero); primer_parrafo.add(TEXTOPRIMERO1); primer_parrafo.add(funcionTrabajador); primer_parrafo.add(TEXTOPRIMERO2); /*SEGUNDA CLAUSULA*/ primer_parrafo.add(segundo); // primer_parrafo.add(TEXTOSEGUNDO1); /*TERCERA CLAUSULA*/ primer_parrafo.add(tercero); primer_parrafo.add(TEXTOTERCERO1); primer_parrafo.add(Chunk.TABBING); primer_parrafo.add(TEXTOTERCERO2A); primer_parrafo.add(sueldoTrabajador); primer_parrafo.add(TEXTOTERCERO3A); primer_parrafo.add(Chunk.TABBING); primer_parrafo.add(TEXTOTERCERO4B); /*CUARTA CLAUSULA*/ primer_parrafo.add(cuarto); // primer_parrafo.add(TEXTOCUARTO1); /*QUINTA CLAUSULA*/ primer_parrafo.add(quinto); // primer_parrafo.add(TEXTOQUINTO1); /*SEXTA CLAUSULA*/ primer_parrafo.add(sexto); // primer_parrafo.add(TEXTOSEXTO1); /*SEPTIMA CLAUSULA*/ primer_parrafo.add(septimo); // primer_parrafo.add(TEXTOSEPTIMO1); primer_parrafo.add(Chunk.TABBING); // primer_parrafo.add(TEXTOSEPTIMO2A); primer_parrafo.add(Chunk.TABBING); // primer_parrafo.add(TEXTOSEPTIMO3B); primer_parrafo.add(Chunk.TABBING); // primer_parrafo.add(TEXTOSEPTIMO4C); primer_parrafo.add(Chunk.TABBING); // primer_parrafo.add(TEXTOSEPTIMO5D); primer_parrafo.add(Chunk.TABBING); // primer_parrafo.add(TEXTOSEPTIMO6E); primer_parrafo.add(Chunk.TABBING); // primer_parrafo.add(TEXTOSEPTIMO7F); primer_parrafo.add(Chunk.TABBING); // primer_parrafo.add(TEXTOSEPTIMO8G); primer_parrafo.add(Chunk.TABBING); // primer_parrafo.add(TEXTOSEPTIMO9H); /*OCTAVA CLAUSULA*/ primer_parrafo.add(octavo); // primer_parrafo.add(TEXTOOCTAVO1); /*NOVENA CLAUSULA*/ primer_parrafo.add(noveno); // primer_parrafo.add(TEXTONOVENO1); // primer_parrafo.add(afp); // primer_parrafo.add(TEXTONOVENO3); // primer_parrafo.add(salud); // primer_parrafo.add(TEXTONOVENO5); // primer_parrafo.add(cesantia); /*public static final String TEXTONOVENO2 = " PROVIDA"; public static final String TEXTONOVENO3 = " Salud:"; public static final String TEXTONOVENO4 = "FONASA"; public static final String TEXTONOVENO5 = ", y las de cesanta en:"; public static final String TEXTONOVENO6 = " AFC. \n\n";*/ /*DCIMA CLAUSULA*/ primer_parrafo.add(decimo); primer_parrafo.add(TEXTODECIMO1); primer_parrafo.add(fechaInicioContrato); primer_parrafo.add(TEXTODECIMO2); primer_parrafo.add(fechaTerminoContrato); primer_parrafo.add(TEXTODECIMO3); /*UNDECIMA CLAUSULA*/ primer_parrafo.add(undecimo); // primer_parrafo.add(TEXTOUNDECIMO1); document.add(primer_parrafo); // document.add(todoEnUno); document.add(timbreGerencia); document.add(firmaTrabajador); document.addAuthor("IGVI"); document.addTitle("CONTRATO DE TRABAJO IGVI"); document.close(); } catch (DocumentException e) { e.getMessage(); } catch (IOException e) { e.getMessage(); } }
From source file:com.jpsycn.print.util.PDFUtils.java
private static void zxing(String zxing, Context mContext, Document document) throws MalformedURLException, IOException, DocumentException { if (!TextUtils.isEmpty(zxing)) { Bitmap bitmap = BarcodeCreater.creatBarcode(mContext, zxing, 100, 20, false); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); Image image = Image.getInstance(stream.toByteArray()); Chunk c1 = new Chunk(image, 0, 0, false); float width = image.getWidth(); Chunk c2 = new Chunk(image, 595 - 30 * 2 - width * 2, 0, false); Paragraph pp = new Paragraph(); pp.setLeading(30f); pp.add(c1);/*from w w w .j av a 2 s .c om*/ pp.add(c2); document.add(pp); } }
From source file:de.beimax.talenttree.PageGeneratorCareer.java
License:Open Source License
/** * Add skill data/*from w w w . jav a 2 s. c o m*/ * @param prefix translated prefix (printed bold) without : * @param dataKey data key in YAML file, skills/bonus_skills * @throws Exception */ protected void addSkillData(String prefix, String dataKey) throws Exception { Font fontRegular = new Font(generator.getFontRegular(), 10.5f); Font fontBold = new Font(generator.getFontBold(), 10.5f); // add career skills Phrase phrase = new Phrase(); phrase.add(new Chunk(prefix + ": ", fontBold)); ArrayList<String> skills = new ArrayList<String>(); //noinspection unchecked for (String key : (Iterable<String>) data.get(dataKey)) skills.add(getLocalizedString(key)); // sort localized Collections.sort(skills, Collator.getInstance()); // build skill list StringBuilder sb = new StringBuilder(); for (String skill : skills) { if (sb.length() != 0) sb.append(", "); sb.append(skill); } phrase.add(new Chunk(sb.toString(), fontRegular)); Paragraph p = new Paragraph(phrase); p.setAlignment(Element.ALIGN_JUSTIFIED); p.setIndentationRight(getUsablePageWidth() - PDFGenerator.headerTextMaxWidth); p.setLeading(13.2f); document.add(p); }
From source file:ECS.create.java
create() { //geting the file path from Page. String dpath = Page.dpath;//from ww w.j a v a 2 s . c o m try { //define program "information" as data information data = new information(); //crate a PDF File Document cs = new Document(); //locate where the PDF save. FileOutputStream local = new FileOutputStream(dpath); //New PDF location PdfWriter writer = PdfWriter.getInstance(cs, local); //Edit Propety of the PDF cs.addTitle("Title@CoverSheet"); cs.addAuthor("Author@rensanning"); cs.addSubject("Subject@iText sample"); cs.addKeywords("Keywords@iText"); cs.addCreator("Creator@iText"); //Seting the Font of the text in the PDF Font title = new Font(Font.FontFamily.HELVETICA, 25, Font.BOLD); //Font stitle = new Font(Font.FontFamily.COURIER, 18,Font.ITALIC | Font.UNDERLINE); Font stitle = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD); Font usual = new Font(Font.FontFamily.TIMES_ROMAN, 18); // open the PDF File cs.open(); PdfContentByte canvas = writer.getDirectContent(); // insert the information in the PDF //group the information into paragrph Paragraph sinfo = new Paragraph(); //using the data form the database which geting by program "information" sinfo.add(new Chunk("Name: " + data.fn + " " + data.ln, title)); //cs.add(Chunk.NEWLINE); sinfo.add(new Chunk(" ")); sinfo.add(new Chunk("SID: " + data.sid, title)); sinfo.setLeading(40); //sinfo.add(Chunk.NEWLINE); cs.add(sinfo); Paragraph cinfo = new Paragraph(); cinfo.add(new Chunk("Course: " + data.cid + " " + data.cn, stitle)); cinfo.setLeading(30); cinfo.add(Chunk.NEWLINE); cs.add(cinfo); Paragraph minfo = new Paragraph(); minfo.add(new Chunk("Module: ", stitle)); minfo.add(new Chunk(data.mid + " " + data.mn, usual)); minfo.setLeading(30); minfo.add(Chunk.NEWLINE); cs.add(minfo); // insert the information in the PDF Paragraph cwinfo = new Paragraph(); cwinfo.add(new Chunk("Coursework ID: ", stitle)); cwinfo.add(new Chunk(data.cwid, usual)); cwinfo.add(Chunk.NEWLINE); cwinfo.add(new Chunk("Coursework Tile: ", stitle)); cwinfo.add(new Chunk(data.cwt, usual)); cwinfo.add(Chunk.NEWLINE); cwinfo.add(new Chunk("Coursework Deadline is on ", stitle)); cwinfo.add(new Chunk(data.cwed, usual)); cwinfo.setLeading(30); cs.add(cwinfo); cs.add(new Paragraph("Rule: \n" + " I am the Boss", usual)); //Phrase phrase1= new Phrase("This is sentence 1. ", title); //ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase1, 30, 600, 0); //cs.add(new Paragraph("Name: " + data.fn + " " + data.ln, title)); //cs.add(new Chunk("SID: " + data.sid)); //Close the PDF file cs.close(); } catch (DocumentException | FileNotFoundException ex) { System.out.println(ex); } }
From source file:generators.InvoiceGenerator.java
/** * Generate Invoice pdf file//from www. j a va 2 s . com * * @param order the order * @throws DocumentException the document exception * @throws IOException the io exception */ public void generate(Order order) throws DocumentException, IOException { Date invoiceDate = order.getDate(); SimpleDateFormat sdf = new SimpleDateFormat("dd MMMM YYYY"); // User guest = order.getGuest(); User guest = new UserDAO().get(order.getUserId()); guest.setOrder(order); System.out.println("invoice generator orderID: " + order.getId()); Document document = new Document(); Font defaultFont = new Font(Font.FontFamily.TIMES_ROMAN, 12); System.out.println(System.getProperty("user.dir")); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(System.getProperty("user.dir") + "/src/main/java/nl/ipsen3/invoice/" + new SimpleDateFormat("dd-MM-yyyy").format(invoiceDate) + " - " + order.getId() + ".pdf")); document.setMargins(30, 30, 30, 65); writer.setPageEvent(new InvoiceEventListener()); document.open(); Paragraph header = new Paragraph("Lionsclub Oegstgeest/Warmond", new Font(Font.FontFamily.TIMES_ROMAN, 14, Font.BOLD)); header.setAlignment(Element.ALIGN_CENTER); document.add(header); AddressDAO addressDAO = new AddressDAO(); Address userAddress = addressDAO.get(guest.getAddressId()); Paragraph address = new Paragraph(guest.getFirstName() + " " + guest.getPrefixLastName() + " " + guest.getLastName() + "\n" + userAddress.getStreet() + " " + userAddress.getHouseNumber() + "\n" + userAddress.getZipCode() + " " + userAddress.getCity(), defaultFont); address.setSpacingBefore(35); address.setSpacingAfter(25); address.setLeading(15); document.add(address); Paragraph invoiceDetails = new Paragraph("Factuurdatum: " + sdf.format(invoiceDate) + "\n" + "FactuurNummer: " + order.getId() + " \n" + "Debiteurennummer: " + guest.getId(), defaultFont); invoiceDetails.setSpacingAfter(15); invoiceDetails.setLeading(15); document.add(invoiceDetails); Paragraph subject = new Paragraph("Betreft: Onderwerp factuur", defaultFont); subject.setSpacingAfter(30); document.add(subject); PdfPTable orderTable = new PdfPTable(10); PdfPCell wineCell = new PdfPCell(new Paragraph("Wijn", defaultFont)); wineCell.setColspan(5); wineCell.setBorder(Rectangle.BOTTOM); orderTable.getDefaultCell().setPaddingBottom(10); orderTable.getDefaultCell().setBorder(Rectangle.BOTTOM); ; orderTable.addCell(new Paragraph("Code", defaultFont)); orderTable.addCell(new Paragraph("Aantal", defaultFont)); orderTable.addCell(wineCell); orderTable.addCell(new Paragraph("Jaar", defaultFont)); orderTable.addCell(new Paragraph("Per Fles", defaultFont)); orderTable.addCell(new Paragraph("Bedrag", defaultFont)); orderTable.getDefaultCell().setPaddingBottom(0); orderTable.getDefaultCell().setBorder(Rectangle.NO_BORDER); wineCell.setBorder(Rectangle.NO_BORDER); NumberFormat numberFormat = NumberFormat.getCurrencyInstance(Locale.GERMANY); for (WineOrder wineOrder : order.getWineOrders()) { orderTable.addCell(new Paragraph("" + wineOrder.getWine().getId(), defaultFont)); orderTable.addCell(new Paragraph("" + wineOrder.getAmount(), defaultFont)); wineCell.setPhrase(new Phrase(wineOrder.getWine().getName(), defaultFont)); orderTable.addCell(wineCell); orderTable.addCell(new Paragraph("" + wineOrder.getWine().getYear(), defaultFont)); orderTable.addCell(new Paragraph( " " + numberFormat.format(wineOrder.getWine().getPrice()).replace(" ", ""), defaultFont)); orderTable.addCell(new Paragraph(" " + numberFormat .format(wineOrder.getAmount() * wineOrder.getWine().getPrice()).replace(" ", ""), defaultFont)); orderTable.completeRow(); } orderTable.addCell(" "); orderTable.completeRow(); Font totalFont = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD); PdfPCell totalAmount = new PdfPCell( new Paragraph(" " + numberFormat.format(order.getTotalAmount()).replace(" ", ""), totalFont)); totalAmount.setBorder(Rectangle.TOP); totalAmount.setPaddingTop(10); PdfPCell totalCell = new PdfPCell(new Paragraph("Totaal", totalFont)); totalCell.setPaddingTop(10); totalCell.setBorder(Rectangle.NO_BORDER); orderTable.addCell(totalCell); PdfPCell fillerCell = new PdfPCell(new Paragraph("")); fillerCell.setColspan(8); fillerCell.setBorder(Rectangle.NO_BORDER); orderTable.addCell(fillerCell); orderTable.addCell(totalAmount); orderTable.setSpacingBefore(15); orderTable.setSpacingAfter(30); orderTable.setWidthPercentage(95); orderTable.setHorizontalAlignment(Element.ALIGN_CENTER); document.add(orderTable); Paragraph retrievalDetails = new Paragraph( "Wij verzoeken u vriendelijk het totaalbedrag binnen 7 dagen na factuurdatum over te maken op bankrekening <bankAccountNr> t.n.v <bankAccountName> onder vermelding van het factuurnummer", defaultFont); retrievalDetails.setLeading(15); retrievalDetails.setSpacingAfter(20); document.add(retrievalDetails); // document.add(new Paragraph("U kunt uw wijnen ophalen op " + sdf.format(invoiceDate) , defaultFont)); // document.add(new Paragraph("Adres:", defaultFont)); // // PdfPTable addressTable = new PdfPTable(1); // addressTable.setSpacingBefore(5); // addressTable.getDefaultCell().setBorder(Rectangle.NO_BORDER); // addressTable.getDefaultCell().setPaddingLeft(35); // MerchantService merchantService = new MerchantService(); // Merchant merchant = merchantService.find(merchantService.all().get(0).getId()); // addressTable.addCell(new Paragraph(merchant.getName(), defaultFont)); // addressTable.addCell(new Paragraph(merchant.getAddress().getStreet() // + " " + merchant.getAddress().getHouseNumber(), defaultFont)); // addressTable.addCell(new Paragraph(merchant.getAddress().getZipCode() + " " + // merchant.getAddress().getCity(), defaultFont)); // addressTable.setHorizontalAlignment(Element.ALIGN_LEFT); // document.add(addressTable); document.close(); System.out.println( "Succesfully generated IPSEN2.invoice: " + order.getId() + " on Date: " + sdf.format(invoiceDate)); }
From source file:GestoSAT.Albaran.java
License:Open Source License
public String albaran2PDF(int id) { try {// w w w .java2s .co m String arch = "Albaran" + (new Date()).getTime() + ".pdf"; Document doc = new Document(); PdfWriter.getInstance(doc, new FileOutputStream("/TomEE/webapps/ROOT/descargables/" + arch)); DecimalFormat df = new DecimalFormat("0.00"); doc.open(); File f = new File("logo"); if (f.exists()) { Image img = Image.getInstance("logo"); img.setAbsolutePosition(50, 735); img.scaleAbsolute(50, 50); doc.add(img); Paragraph p = new Paragraph(" "); p.setLeading((float) 75); doc.add(p); } doc.add(new Paragraph("ALBAR?N")); doc.add(new Paragraph(" ")); doc.add(new Paragraph("Datos empresa")); Oficina ofi = this.getGestoSAT().getEmpleado().getOficina(); doc.add(new Paragraph( ofi.getProvincia() + " " + ofi.getPoblacion() + " " + ofi.getCalle() + " " + ofi.getNumero())); doc.add(new Paragraph(ofi.getNombre())); doc.add(new Paragraph("NIF: " + ofi.getNif())); doc.add(new Paragraph("Tlf: " + ofi.getTlfFijo() + " " + ofi.getTlfMovil())); doc.add(new Paragraph("Fax: " + ofi.getFax())); doc.add(new Paragraph(" ")); doc.add(new Paragraph(" ")); doc.add(new Paragraph("Datos de inters")); doc.add(new Paragraph( "Cliente: " + this.getCliente().getNombre() + " " + this.getCliente().getApellidos())); doc.add(new Paragraph("Concepto: " + this.concepto)); doc.add(new Paragraph(" ")); doc.add(new Paragraph("Lugar de entrga:" + this.provincia + " " + this.poblacion + " " + this.calle + " " + this.escalera + " " + this.piso + " " + this.puerta)); doc.add(new Paragraph(" ")); float auxPrecio = 0; PdfPTable table = new PdfPTable(5); table.addCell("#"); table.addCell("Nombre"); table.addCell("Precio Ud / H"); table.addCell("Uds / H"); table.addCell("Total"); Iterator itTabla = this.materialUtilizado.entrySet().iterator(); while (itTabla.hasNext()) { Map.Entry aux = (Map.Entry) itTabla.next(); table.addCell(aux.getKey().toString()); table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getNombre()); table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad() + ""); table.addCell(((MaterialTrabajos) aux.getValue()).getCantidad() + ""); auxPrecio += ((MaterialTrabajos) aux.getValue()).getCantidad() * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad(); table.addCell((((MaterialTrabajos) aux.getValue()).getCantidad() * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad()) + ""); } itTabla = this.trabajoRealizado.entrySet().iterator(); while (itTabla.hasNext()) { Map.Entry aux = (Map.Entry) itTabla.next(); table.addCell("*"); Trabajo tra = (Trabajo) aux.getValue(); table.addCell(tra.getEmpleado().getNombre() + " " + tra.getEmpleado().getApellidos()); table.addCell(tra.getEmpleado().getPrecioHora() + ""); table.addCell(tra.getHoras() + ""); auxPrecio += tra.getEmpleado().getPrecioHora() * tra.getHoras(); table.addCell((tra.getEmpleado().getPrecioHora() * tra.getHoras()) + ""); } doc.add(table); doc.add(new Paragraph("I.V.A: " + this.getGestoSAT().getIva() + "%")); doc.add(new Paragraph( "Total I.V.A: " + df.format((this.getGestoSAT().getIva() / (float) 100) * auxPrecio))); doc.add(new Paragraph( "Total: " + df.format(((this.getGestoSAT().getIva() / (float) 100) + 1) * auxPrecio))); doc.close(); if (this.fchEntrega == null) { this.fchEntrega = new Date(); if (this.getGestoSAT().entregaAlbaran(id, this)) return "descargables/" + arch; else return ""; } else return "descargables/" + arch; } catch (IOException ex) { Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex); return ""; } catch (BadElementException ex) { Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex); return ""; } catch (DocumentException ex) { Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex); return ""; } }
From source file:GestoSAT.Entrada.java
License:Open Source License
public String entrada2PDF() { try {//from w w w.j a v a 2 s . c o m String arch = "Entrada" + (new Date()).getTime() + ".pdf"; Document doc = new Document(); PdfWriter.getInstance(doc, new FileOutputStream("/TomEE/webapps/ROOT/descargables/" + arch)); doc.open(); File f = new File("logo"); // http://www.java2s.com/Tutorial/Java/0280__SWT/UseImageDatatocreateanewimage.htm if (f.exists()) { Image img = Image.getInstance("logo"); img.setAbsolutePosition(50, 735); img.scaleAbsolute(50, 50); doc.add(img); Paragraph p = new Paragraph(" "); p.setLeading((float) 75); doc.add(p); } doc.add(new Paragraph( "Cliente: " + this.getCliente().getNombre() + " " + this.getCliente().getApellidos())); if (this.incidencia.getClass().getName().equals("GestoSAT.Averia")) { doc.add(new Paragraph(" ")); doc.add(new Paragraph("APARATO")); doc.add(new Paragraph(" ")); Averia av = (Averia) this.incidencia; doc.add(new Paragraph("Problema: " + av.getMotivo())); doc.add(new Paragraph(" ")); doc.add(new Paragraph("Tipo: " + av.getAparato().getTipo())); doc.add(new Paragraph("Marca: " + av.getAparato().getMarca())); doc.add(new Paragraph("Modelo: " + av.getAparato().getModelo())); doc.add(new Paragraph("NSerie: " + av.getAparato().getNumSerie())); doc.add(new Paragraph("Color: " + av.getAparato().getColor())); doc.add(new Paragraph("Observaciones: " + av.getAparato().getObservaciones())); } else { Cita cita = (Cita) this.incidencia; doc.add(new Paragraph(" ")); doc.add(new Paragraph("CITA")); doc.add(new Paragraph("Problema:" + cita.getMotivo())); doc.add(new Paragraph( "Direccin:" + cita.getPoblacion() + " " + cita.getCalle() + " " + cita.getNumero() + " " + cita.getEscalera() + " " + cita.getPiso() + " " + cita.getPuerta())); doc.add(new Paragraph("Obsevaciones:" + cita.getObservacionesDirrecion())); doc.add(new Paragraph(cita.getObservaciones())); } doc.close(); return "descargables/" + arch; } catch (Exception ex) { Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex); return ""; } }