List of usage examples for com.itextpdf.text Paragraph setIndentationRight
public void setIndentationRight(float indentation)
From source file:avalonscrollmaker20.AnothakScribe.java
License:Open Source License
public void writeToDoc(ArrayList<AnothakScroll> spellList, boolean simpleMode) { // Format content for inserting into a PDF for (int i = 0; i < spellList.size(); i++) { Paragraph spellCode = new Paragraph(spellList.get(i).spellCode, f_code); spellCode.setAlignment(ElementTags.ALIGN_RIGHT); spellCode.setMultipliedLeading(0.5f); spellCode.setIndentationRight(15f); Paragraph spellTitle = new Paragraph(spellList.get(i).spellTitle + "\n", f_title); spellTitle.setAlignment(ElementTags.ALIGN_CENTER); spellTitle.setMultipliedLeading(0.5f); spellTitle.setSpacingAfter(36f); Paragraph spellCircleSchool;//from w w w. j a v a 2 s . c om if (spellList.get(i).isPure()) spellCircleSchool = new Paragraph(spellList.get(i).spellCircle.toString() + " Circle\n of " + spellList.get(i).spellOldSchool.toString(), f_schoolPure); else // !spellList.get( i ).isPure() spellCircleSchool = new Paragraph(spellList.get(i).spellCircle.toString() + " Circle\n of " + spellList.get(i).spellOldSchool.toString(), f_school); spellCircleSchool.setAlignment(ElementTags.ALIGN_LEFT); spellCircleSchool.setIndentationLeft(18f); spellCircleSchool.setMultipliedLeading(1.75f); Paragraph sourceKeu = new Paragraph(spellList.get(i).sourceKeu.toString() + "|~", f_keu); sourceKeu.setAlignment(ElementTags.ALIGN_RIGHT); sourceKeu.setIndentationRight(36f); sourceKeu.setMultipliedLeading(1f); Paragraph directionKeu = new Paragraph("", f_keu); directionKeu.setAlignment(ElementTags.ALIGN_RIGHT); directionKeu.setIndentationRight(90f); directionKeu.setMultipliedLeading(0.875f); Paragraph destinationKeu = new Paragraph(spellList.get(i).destinationKeu.toString() + "|~", f_keu); destinationKeu.setAlignment(ElementTags.ALIGN_RIGHT); destinationKeu.setIndentationRight(36f); destinationKeu.setMultipliedLeading(0.625f); Paragraph phraseCommon; Paragraph phraseSymbol; if (spellList.get(i).spellCircle != Circle.SEVENTH && spellList.get(i).spellCircle != Circle.PURE_SEVENTH) { phraseCommon = new Paragraph("", f_phraseCommon); phraseCommon.setSpacingAfter(27f); phraseSymbol = new Paragraph("", f_phraseSymbol); if ((i % 2) <= 0) phraseSymbol.setSpacingAfter(90f); else // ( (i % 2) > 0 ) phraseSymbol.setSpacingAfter(0f); } else { phraseCommon = new Paragraph("", f_phraseCommonBreath); phraseCommon.setSpacingAfter(36f); phraseSymbol = new Paragraph("", f_phraseSymbolBreath); if ((i % 2) <= 0) phraseSymbol.setSpacingAfter(103.5f); else // ( (i % 2) > 0 ) phraseSymbol.setSpacingAfter(0f); } phraseCommon.setAlignment(ElementTags.ALIGN_CENTER); phraseCommon.setMultipliedLeading(1.5f); for (AnothakScroll.Word w : spellList.get(i).liersethPhrase_Common) phraseCommon.add(w.toString() + " "); if (simpleMode) { phraseSymbol.setAlignment(ElementTags.ALIGN_CENTER); phraseSymbol.setSpacingBefore(36f); phraseSymbol.setSpacingAfter(0f); phraseSymbol.setMultipliedLeading(0.75f); } else // not simpleMode { phraseSymbol.setAlignment(ElementTags.ALIGN_CENTER); phraseSymbol.setMultipliedLeading(0.5f); } for (AnothakScroll.Symbol s : spellList.get(i).liersethPhrase_Symbol) { phraseSymbol.add(s.toString()); } // Add content to the document try { if (simpleMode) doc_scrolls.add(phraseSymbol); else { Image tmpImage = null; tmpImage = spellList.get(i).backgroundImageFull; if (tmpImage != null) { if ((i % 2) <= 0) tmpImage.setAbsolutePosition(9f, 405f); else // (i % 2) >= 0 tmpImage.setAbsolutePosition(9f, 9f); doc_scrolls.add(tmpImage); } //doc_scrolls.add( Chunk.NEWLINE ); doc_scrolls.add(spellCode); doc_scrolls.add(spellTitle); // Crap, I hate formatting MultiColumnText mct = new MultiColumnText(108f); mct.addRegularColumns(doc_scrolls.left(), doc_scrolls.right(), 54f, 2); mct.addElement(spellCircleSchool); mct.addElement(sourceKeu); mct.addElement(directionKeu); mct.addElement(destinationKeu); doc_scrolls.add(mct); doc_scrolls.add(new Chunk("\n", new Font(Font.FontFamily.COURIER, 18f, Font.NORMAL))); doc_scrolls.add(phraseCommon); doc_scrolls.add(phraseSymbol); if ((i % 2) > 0) doc_scrolls.newPage(); } } catch (Exception ex) { System.err.println(ex + "\nProgram closing."); System.exit(4); } } // Close the Document doc_scrolls.close(); JOptionPane.showMessageDialog(null, doc_name + " was printed successfully!", "Print Status", JOptionPane.INFORMATION_MESSAGE); }
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"; }//from www . j a v a 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:com.gadroves.gsisinve.controller.FacturarController.java
void PrintToPDF(TbFacturaVenta facturaVenta, TbCLienteFactura cLienteFactura) throws DocumentException, IOException { Font header = new Font(Font.FontFamily.HELVETICA, 18, Font.BOLD); Font normalBold = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD); Font normal = new Font(Font.FontFamily.HELVETICA, 12); String fileName = "Factura_" + facturaVenta.getId() + ".pdf"; // step 1/* w w w .j a v a 2 s . com*/ Document document = new Document(); // step 2 PdfWriter.getInstance(document, new FileOutputStream(fileName)); // step 3 document.open(); // step 4 document.add(new Paragraph("Gadroves S.A Factura De Venta", header)); document.add(new Paragraph(" ")); document.add(new Paragraph("Factura N" + facturaVenta.getId(), normalBold)); document.add(new Chunk("Cliente: ", normalBold)); document.add(new Chunk(" ")); document.add(new Chunk(cLienteFactura.getName(), normal)); document.add(new Paragraph()); document.add(new Chunk("Direccin: ", normalBold)); document.add(new Chunk(" ")); document.add(new Chunk(cLienteFactura.getAddress(), normal)); document.add(new Paragraph()); document.add(new Chunk("Identificacion: ", normalBold)); document.add(new Chunk(" ")); document.add(new Chunk(cLienteFactura.getId(), normal)); document.add(new Paragraph()); document.add(new Chunk("Credito: ", normalBold)); document.add(new Chunk(" ")); document.add(new Chunk(Boolean.FALSE.toString(), normal)); document.add(new Paragraph()); for (int i = 0; i < 3; i++) document.add(new Paragraph(" ")); createItemsTable(document, facturaVenta); document.add(new Paragraph(" ")); Paragraph subs = new Paragraph(); subs.setAlignment(Element.ALIGN_RIGHT); subs.setIndentationRight(40); subs.add(new Chunk("Subtotal: " + String.format("%1$" + 10 + "s", String.valueOf(facturaVenta.getSub())))); subs.add(Chunk.NEWLINE); subs.add(new Chunk( "Impuestos: " + String.format("%1$" + 10 + "s", String.valueOf(facturaVenta.getImpuestos())))); subs.add(Chunk.NEWLINE); subs.add(new Chunk( "Total: " + String.format("%1$" + 10 + "s", String.valueOf(facturaVenta.getTotal())))); subs.add(Chunk.NEWLINE); document.add(subs); // step 5 document.close(); Desktop.getDesktop().open(new File(fileName)); }
From source file:com.ideationdesignservices.txtbook.pdf.TxtBookPdf.java
public float addConversationPart(ColumnText ct, int column, String dateString, String senderString, String contentString, Bitmap contentBitmap, Boolean isVideo, Boolean isMe) throws DocumentException, MalformedURLException, IOException { float messageWidth = 196.0f; Chunk dateChunk = new Chunk(new StringBuilder(String.valueOf(dateString)) .append(MinimalPrettyPrinter.DEFAULT_ROOT_VALUE_SEPARATOR).toString(), this.sansFont6Gray); float dateWidth = dateChunk.getWidthPoint(); Paragraph contentParagraph = new Paragraph(); if (contentString.length() > 0) { Element contentChunk = new Chunk(contentString, this.sansFont9); messageWidth = contentChunk.getWidthPoint(); contentParagraph.add(contentChunk); }//from w ww .jav a 2 s. com if (messageWidth < dateWidth) { messageWidth = dateWidth; } if (messageWidth > MAX_COLUMN_CONTENT_WIDTH) { messageWidth = MAX_COLUMN_CONTENT_WIDTH; dateWidth += 7.0f; } Paragraph dateParagraph = new Paragraph(dateChunk); if (isMe.booleanValue()) { dateParagraph.setAlignment(0); dateParagraph .setIndentationLeft((((BUBBLE_L_WIDTH + messageWidth) + BUBBLE_R_WIDTH) + 7.0f) - dateWidth); } else { dateParagraph.setAlignment(2); dateParagraph .setIndentationRight((((BUBBLE_L_WIDTH + messageWidth) + BUBBLE_R_WIDTH) + 7.0f) - dateWidth); } ct.addElement(dateParagraph); contentParagraph.setExtraParagraphSpace(10.0f); if (contentString.length() > 0) { contentParagraph.setAlignment(0); if (isMe.booleanValue()) { contentParagraph.setIndentationLeft(8.6f); contentParagraph.setIndentationRight(BUBBLE_TEXT_INDENT_ALTERNATE); } else { contentParagraph.setIndentationRight(8.6f); float indentLeft = COLUMN_WIDTH - (BUBBLE_L_WIDTH + messageWidth); if (messageWidth == MAX_COLUMN_CONTENT_WIDTH) { indentLeft += BUBBLE_TEXT_INDENT_ALTERNATE; } contentParagraph.setIndentationLeft(indentLeft); } ct.addElement(contentParagraph); } else if (contentBitmap != null) { ByteArrayOutputStream stream = new ByteArrayOutputStream(); if (isVideo.booleanValue()) { contentBitmap.compress(CompressFormat.PNG, 50, stream); } else { contentBitmap.compress(CompressFormat.JPEG, 50, stream); } Image contentImage = Image.getInstance(stream.toByteArray()); contentImage.scaleToFit(198.0f, 198.0f); if (isVideo.booleanValue()) { contentImage.setCompressionLevel(this.settings.compressionLevel); } contentImage.setSpacingBefore(10.0f); contentImage.setSpacingAfter(10.0f); if (isMe.booleanValue()) { contentImage.setAlignment(1); } else { contentImage.setAlignment(1); } ct.addElement(contentImage); } Paragraph senderParagraph = new Paragraph(new Chunk(senderString, this.sansFont9Gray)); if (!isMe.booleanValue()) { senderParagraph.setAlignment(2); } senderParagraph.setSpacingAfter(BUBBLE_TEXT_INDENT_ALTERNATE); ct.addElement(senderParagraph); return messageWidth; }
From source file:com.vectorprint.report.itext.style.stylers.Indent.java
License:Open Source License
@Override public <E> E style(E text, Object data) throws VectorPrintException { if (text instanceof Section) { Section cell = (Section) text;/* w w w . j a v a 2 s . c o m*/ cell.setIndentationLeft(getIndentLeft()); cell.setIndentationRight(getIndentRight()); } else if (text instanceof Paragraph) { Paragraph par = (Paragraph) text; par.setIndentationLeft(getIndentLeft()); par.setIndentationRight(getIndentRight()); } else if (text instanceof List) { ((List) text).setIndentationLeft(getIndentLeft()); ((List) text).setIndentationLeft(getIndentRight()); } else if (text instanceof ListItem) { ((com.itextpdf.text.ListItem) text).setIndentationLeft(getIndentLeft()); ((com.itextpdf.text.ListItem) text).setIndentationLeft(getIndentRight()); } else if (text instanceof PdfPCell) { ((PdfPCell) text).setIndent(getIndentLeft()); } return text; }
From source file:de.beimax.talenttree.PageGeneratorCareer.java
License:Open Source License
/** * Add skill data//from ww w . j a va2s. com * @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:GUI.GestionProjects.java
private void button1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button1ActionPerformed String IMAGE1 = lblPathImage.getText(); Font red = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD, BaseColor.RED); Chunk redText = new Chunk("Les information relatif au Projet : ", red); Font blue = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD, BaseColor.BLUE); Document document = new Document(); java.util.Date utilStartDate = jdateDeadLine.getDate(); java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime()); try {//from w ww .j ava 2s . c o m PdfWriter.getInstance(document, new FileOutputStream("Report.pdf")); document.open(); Paragraph p1 = new Paragraph(); p1.add(redText); p1.add(txtTitreProjet.getText()); Chunk txtdesc = new Chunk("Decription du Projet: ", red); Paragraph p2 = new Paragraph(); p2.add(txtdesc); p2.add(txtDescriptionProjet.getText()); Chunk txtcat = new Chunk("Catgorie du Projet: ", red); Paragraph p3 = new Paragraph(); p3.add(txtcat); p3.add(combo_Cat.getSelectedItem().toString()); Chunk txtfin = new Chunk("Mode de finnancement du Projet: ", red); Paragraph p4 = new Paragraph(); p4.add(txtfin); p4.add(ComboFinnancementProjet.getSelectedItem().toString()); Chunk txtdate = new Chunk("Date DeadLine Projet: ", red); Paragraph p5 = new Paragraph(); p5.add(txtdate); p5.add(sqlStartDate.toString()); p1.setSpacingAfter(25); p1.setSpacingBefore(25); p1.setAlignment(Element.ALIGN_CENTER); p1.setIndentationLeft(50); p1.setIndentationRight(50); document.add(p1); document.add(p2); document.add(p3); document.add(p4); document.add(p5); if (Desktop.isDesktopSupported()) { try { File myFile = new File("Report.pdf"); Desktop.getDesktop().open(myFile); } catch (IOException ex) { // no application registered for PDFs } } } catch (Exception e) { System.out.println(e); } document.close(); // TODO add your handling code here: }
From source file:KTCNPM.ExportFile.java
public void exportFile(ArrayList<String> list, ArrayList<String> listTAW, ArrayList<String> listTBF, ArrayList<String> listTCF, ArrayList<String> listEF, ArrayList<String> listG) throws IOException { Document document = new Document(); try {/*from ww w .j a va2s .c o m*/ String fileSRC = "E:\\KTCNPM.pdf"; File file = new File(fileSRC); if (file.exists()) { file.delete(); } else { file.createNewFile(); } PdfWriter.getInstance(document, new FileOutputStream(fileSRC)); document.open(); Font f1 = new Font( BaseFont.createFont("/newpackage/vuArialBold.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED)); Font f2 = new Font( BaseFont.createFont("/newpackage/vuArial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED)); f2.setSize(9); f1.setSize(13); Paragraph paragraph2 = new Paragraph("", f2); Paragraph paragraph3 = new Paragraph(); paragraph2.setIndentationLeft(80); paragraph2.setIndentationRight(80); paragraph2.setAlignment(Element.ALIGN_LEFT); paragraph2.setSpacingAfter(15); Phrase phrase2 = new Phrase("Tn phn m?m: Tnh chi ph phn m?m"); Phrase phrase3 = new Phrase(" "); paragraph3.add(phrase3); paragraph2.add(phrase2); //Phu luc 3 Phrase phrase5 = new Phrase( "Ph lc III: Bng tnh ton im cc tc nhn (actors) tng tc, trao i thng tin"); Paragraph paragraph5 = new Paragraph("", f1); paragraph5.setIndentationLeft(80); paragraph5.setIndentationRight(80); paragraph5.setAlignment(Element.ALIGN_CENTER); paragraph5.setSpacingAfter(10); paragraph5.add(phrase5); document.add(paragraph5); document.add(paragraph2); PdfPTable table3 = new PdfPTable(5); table3.setWidthPercentage(400 / 5.23f); table3.setWidths(new int[] { 1, 5, 3, 2, 3 }); for (int i = 0; i < listTAW.size(); i++) { Paragraph p = new Paragraph(listTAW.get(i), f2); PdfPCell data = new PdfPCell(p); table3.addCell(data); } document.add(table3); document.add(paragraph3); document.add(paragraph3); document.add(paragraph3); // phu luc 4 Phrase phrase41 = new Phrase( "Ph lc IV: Bng tnh ton im cc tr?ng hp s dung (use case)"); Paragraph paragraph41 = new Paragraph("", f1); paragraph41.setIndentationLeft(80); paragraph41.setIndentationRight(80); paragraph41.setAlignment(Element.ALIGN_CENTER); paragraph41.setSpacingAfter(10); paragraph41.add(phrase41); document.add(paragraph41); document.add(paragraph2); PdfPTable table4 = new PdfPTable(4); table4.setWidthPercentage(400 / 5.23f); table4.setWidths(new int[] { 1, 3, 3, 4 }); for (int i = 0; i < listTBF.size(); i++) { PdfPCell data = new PdfPCell(new Paragraph(listTBF.get(i), f2)); table4.addCell(data); } document.add(table4); document.add(paragraph3); document.add(paragraph3); document.add(paragraph3); // phu luc 5 Phrase phrase51 = new Phrase( "Ph lc V: Bng tnh ton h s phc tp k thut - cng ngh"); Paragraph paragraph51 = new Paragraph("", f1); paragraph51.setIndentationLeft(80); paragraph51.setIndentationRight(80); paragraph51.setAlignment(Element.ALIGN_CENTER); paragraph51.setSpacingAfter(10); paragraph51.add(phrase51); document.add(paragraph51); document.add(paragraph2); PdfPTable table5 = new PdfPTable(5); table5.setWidthPercentage(400 / 5.23f); table5.setWidths(new int[] { 1, 6, 2, 2, 2 }); for (int i = 0; i < listTCF.size(); i++) { PdfPCell data = new PdfPCell(new Paragraph(listTCF.get(i), f2)); table5.addCell(data); } document.add(table5); document.add(paragraph3); document.add(paragraph3); document.add(paragraph3); //phu luc 6 Phrase phrase61 = new Phrase( "Ph lc VI: Bng tnh ton h s tc ng mi tr?ng v nhm lm vic, h s phc tp v? mi tr?ng"); Paragraph paragraph61 = new Paragraph("", f1); paragraph61.setIndentationLeft(80); paragraph61.setIndentationRight(80); paragraph61.setAlignment(Element.ALIGN_CENTER); paragraph61.setSpacingAfter(10); paragraph61.add(phrase61); document.add(paragraph61); document.add(paragraph2); PdfPTable table6 = new PdfPTable(6); table6.setWidthPercentage(400 / 5.23f); table6.setWidths(new int[] { 1, 6, 2, 2, 2, 3 }); for (int i = 0; i < listEF.size(); i++) { PdfPCell data = new PdfPCell(new Paragraph(listEF.get(i), f2)); table6.addCell(data); } document.add(table6); document.add(paragraph3); document.add(paragraph3); document.add(paragraph3); //phu luc 7 Phrase phrase7 = new Phrase("Ph lc VII: Bng tnh ton gi tr phn m?m"); Paragraph paragraph7 = new Paragraph("", f1); paragraph7.setIndentationLeft(80); paragraph7.setIndentationRight(80); paragraph7.setAlignment(Element.ALIGN_CENTER); paragraph7.setSpacingAfter(10); paragraph7.add(phrase7); document.add(paragraph7); document.add(paragraph2); PdfPTable table7 = new PdfPTable(5); table7.setWidthPercentage(400 / 5.23f); table7.setWidths(new int[] { 1, 5, 5, 4, 2 }); for (int i = 0; i < listG.size(); i++) { PdfPCell data = new PdfPCell(new Paragraph(listG.get(i), f2)); table7.addCell(data); } document.add(table7); document.add(paragraph3); document.add(paragraph3); document.add(paragraph3); // phu luc 8 Paragraph paragraph1 = new Paragraph("", f1); paragraph1.setIndentationLeft(80); paragraph1.setIndentationRight(80); paragraph1.setAlignment(Element.ALIGN_CENTER); paragraph1.setSpacingAfter(10); Phrase phrase1 = new Phrase("Ph lc VIII: Bng tng hp chi ph phn m?m"); paragraph1.add(phrase1); document.add(paragraph1); document.add(paragraph2); PdfPTable table = new PdfPTable(5); table.setWidthPercentage(400 / 5.23f); table.setWidths(new int[] { 1, 5, 3, 4, 2 }); for (int i = 0; i < list.size(); i++) { PdfPCell data = new PdfPCell(new Paragraph(list.get(i), f2)); table.addCell(data); } document.add(table); document.close(); } catch (DocumentException | FileNotFoundException e) { } }
From source file:org.sistemafinanciero.rest.impl.CuentaBancariaRESTService.java
License:Apache License
@Override public Response getEstadoCuentaPdf(BigInteger idCuentaBancaria, Long desde, Long hasta) { Date dateDesde = (desde != null ? new Date(desde) : null); Date dateHasta = (desde != null ? new Date(hasta) : null); //dando formato a las fechas SimpleDateFormat fechaformato = new SimpleDateFormat("dd/MM/yyyy"); String fechaDesde = fechaformato.format(dateDesde); String fechaHasta = fechaformato.format(dateHasta); Set<Titular> titulares = cuentaBancariaServiceNT.getTitulares(idCuentaBancaria, true); List<String> emails = new ArrayList<String>(); for (Titular titular : titulares) { PersonaNatural personaNatural = titular.getPersonaNatural(); String email = personaNatural.getEmail(); if (email != null) emails.add(email);//from ww w . j a va2 s .c o m } CuentaBancariaView cuentaBancariaView = cuentaBancariaServiceNT.findById(idCuentaBancaria); List<EstadocuentaBancariaView> list = cuentaBancariaServiceNT.getEstadoCuenta(idCuentaBancaria, dateDesde, dateHasta); /**obteniendo la moneda y dando formato**/ Moneda moneda = monedaServiceNT.findById(cuentaBancariaView.getIdMoneda()); NumberFormat df1 = NumberFormat.getCurrencyInstance(); DecimalFormatSymbols dfs = new DecimalFormatSymbols(); dfs.setCurrencySymbol(""); dfs.setGroupingSeparator(','); dfs.setMonetaryDecimalSeparator('.'); ((DecimalFormat) df1).setDecimalFormatSymbols(dfs); /**PDF**/ ByteArrayOutputStream outputStream = null; outputStream = new ByteArrayOutputStream(); Document document = new Document(); try { PdfWriter.getInstance(document, outputStream); document.open(); document.addTitle("Estado de Cuenta"); document.addSubject("Estado de Cuenta"); document.addKeywords("email"); document.addAuthor("Cooperativa de Ahorro y Crdito Caja Ventura"); document.addCreator("Cooperativa de Ahorro y Crdito Caja Ventura"); Paragraph saltoDeLinea = new Paragraph(); document.add(saltoDeLinea); } catch (DocumentException e1) { e1.printStackTrace(); } /******************* TITULO ******************/ try { //Image img = Image.getInstance("/images/logo_coop_contrato.png"); Image img = Image.getInstance("//usr//share//jboss//archivos//logoCartilla//logo_coop_contrato.png"); img.setAlignment(Image.LEFT | Image.UNDERLYING); document.add(img); Paragraph parrafoPrincipal = new Paragraph(); parrafoPrincipal.setSpacingAfter(30); //parrafoPrincipal.setSpacingBefore(50); parrafoPrincipal.setAlignment(Element.ALIGN_CENTER); parrafoPrincipal.setIndentationLeft(100); parrafoPrincipal.setIndentationRight(50); Paragraph parrafoSecundario = new Paragraph(); parrafoSecundario.setSpacingAfter(20); parrafoSecundario.setSpacingBefore(-20); parrafoSecundario.setAlignment(Element.ALIGN_LEFT); parrafoSecundario.setIndentationLeft(160); parrafoSecundario.setIndentationRight(10); Chunk titulo = new Chunk("ESTADO DE CUENTA"); Font fuenteTitulo = new Font(FontFamily.UNDEFINED, 13, Font.BOLD); titulo.setFont(fuenteTitulo); parrafoPrincipal.add(titulo); Font fuenteDatosCliente = new Font(FontFamily.UNDEFINED, 10); Date fechaSistema = new Date(); SimpleDateFormat formatFecha = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); String fechaActual = formatFecha.format(fechaSistema); if (cuentaBancariaView.getTipoPersona() == TipoPersona.NATURAL) { Chunk clientePNNombres = new Chunk("CLIENTE : " + cuentaBancariaView.getSocio() + "\n"); Chunk clientePNDni = new Chunk(cuentaBancariaView.getTipoDocumento() + " : " + cuentaBancariaView.getNumeroDocumento() + "\n"); //Chunk clientePNTitulares = new Chunk("TITULAR(ES): " + cuentaBancariaView.getTitulares() + "\n"); Chunk clientePNFecha = new Chunk("FECHA : " + fechaActual + "\n\n"); Chunk tipoCuentaPN = new Chunk("CUENTA " + cuentaBancariaView.getTipoCuenta() + " N " + cuentaBancariaView.getNumeroCuenta() + "\n"); Chunk tipoMonedaPN; if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ZERO) == 0) { tipoMonedaPN = new Chunk("MONEDA: " + "DOLARES AMERICANOS" + "\n"); } else if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ONE) == 0) { tipoMonedaPN = new Chunk("MONEDA: " + "NUEVOS SOLES" + "\n"); } else { tipoMonedaPN = new Chunk("MONEDA: " + "EUROS" + "\n"); } Chunk fechaEstadoCuenta = new Chunk("ESTADO DE CUENTA DEL " + fechaDesde + " AL " + fechaHasta); //obteniedo titulares /*String tPN = cuentaBancariaView.getTitulares(); String[] arrayTitulares = tPN.split(","); Chunk clientePNTitulares = new Chunk("Titular(es):"); for (int i = 0; i < arrayTitulares.length; i++) { String string = arrayTitulares[i]; }*/ clientePNNombres.setFont(fuenteDatosCliente); clientePNDni.setFont(fuenteDatosCliente); //clientePNTitulares.setFont(fuenteDatosCliente); clientePNFecha.setFont(fuenteDatosCliente); tipoCuentaPN.setFont(fuenteDatosCliente); tipoMonedaPN.setFont(fuenteDatosCliente); fechaEstadoCuenta.setFont(fuenteDatosCliente); parrafoSecundario.add(clientePNNombres); parrafoSecundario.add(clientePNDni); //parrafoSecundario.add(clientePNTitulares); parrafoSecundario.add(clientePNFecha); parrafoSecundario.add(tipoCuentaPN); parrafoSecundario.add(tipoMonedaPN); parrafoSecundario.add(fechaEstadoCuenta); } else { Chunk clientePJNombre = new Chunk("CLIENTE : " + cuentaBancariaView.getSocio() + "\n"); Chunk clientePJRuc = new Chunk(cuentaBancariaView.getTipoDocumento() + " : " + cuentaBancariaView.getNumeroDocumento() + "\n"); //Chunk clientePJTitulares = new Chunk("TITULAR(ES): " + cuentaBancariaView.getTitulares() + "\n"); Chunk clientePJFecha = new Chunk("FECHA : " + fechaActual + "\n\n"); Chunk tipoCuentaPJ = new Chunk("CUENTA " + cuentaBancariaView.getTipoCuenta() + " N " + cuentaBancariaView.getNumeroCuenta() + "\n"); Chunk tipoMonedaPJ; if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ZERO) == 0) { tipoMonedaPJ = new Chunk("MONEDA: " + "DOLARES AMERICANOS" + "\n"); } else if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ONE) == 0) { tipoMonedaPJ = new Chunk("MONEDA: " + "NUEVOS SOLES" + "\n"); } else { tipoMonedaPJ = new Chunk("MONEDA: " + "EUROS" + "\n"); } Chunk fechaEstadoCuenta = new Chunk("ESTADO DE CUENTA DEL " + fechaDesde + " AL " + fechaHasta); //obteniedo titulares /*String tPN = cuentaBancariaView.getTitulares(); String[] arrayTitulares = tPN.split(","); Chunk clientePNTitulares = new Chunk("Titular(es):"); for (int i = 0; i < arrayTitulares.length; i++) { String string = arrayTitulares[i]; }*/ clientePJNombre.setFont(fuenteDatosCliente); clientePJRuc.setFont(fuenteDatosCliente); //clientePJTitulares.setFont(fuenteDatosCliente); clientePJFecha.setFont(fuenteDatosCliente); tipoCuentaPJ.setFont(fuenteDatosCliente); tipoMonedaPJ.setFont(fuenteDatosCliente); fechaEstadoCuenta.setFont(fuenteDatosCliente); parrafoSecundario.add(clientePJNombre); parrafoSecundario.add(clientePJRuc); //parrafoSecundario.add(clientePJTitulares); parrafoSecundario.add(clientePJFecha); parrafoSecundario.add(tipoCuentaPJ); parrafoSecundario.add(tipoMonedaPJ); parrafoSecundario.add(fechaEstadoCuenta); } document.add(parrafoPrincipal); document.add(parrafoSecundario); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Font fontTableCabecera = new Font(FontFamily.UNDEFINED, 9, Font.BOLD); Font fontTableCuerpo = new Font(FontFamily.UNDEFINED, 9, Font.NORMAL); float[] columnWidths = { 5f, 4f, 2.8f, 10f, 3.5f, 4f, 2.8f }; PdfPTable table = new PdfPTable(columnWidths); table.setWidthPercentage(100); PdfPCell cellFechaHoraCabecera = new PdfPCell(new Paragraph("FECHA Y HORA", fontTableCabecera)); PdfPCell cellTransaccionCabecera = new PdfPCell(new Paragraph("TIPO TRANS.", fontTableCabecera)); PdfPCell cellOperacionCabecera = new PdfPCell(new Paragraph("NUM. OP.", fontTableCabecera)); PdfPCell cellReferenciaCabecera = new PdfPCell(new Paragraph("REFERENCIA", fontTableCabecera)); PdfPCell cellMontoCabecera = new PdfPCell(new Paragraph("MONTO", fontTableCabecera)); PdfPCell cellSaldoDisponibleCabecera = new PdfPCell(new Paragraph("DISPONIBLE", fontTableCabecera)); PdfPCell cellEstado = new PdfPCell(new Paragraph("ESTADO", fontTableCabecera)); table.addCell(cellFechaHoraCabecera); table.addCell(cellTransaccionCabecera); table.addCell(cellOperacionCabecera); table.addCell(cellReferenciaCabecera); table.addCell(cellMontoCabecera); table.addCell(cellSaldoDisponibleCabecera); table.addCell(cellEstado); for (EstadocuentaBancariaView estadocuentaBancariaView : list) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm"); String fecHoraFormat = sdf.format(estadocuentaBancariaView.getHora()); PdfPCell cellFechaHora = new PdfPCell(new Paragraph(fecHoraFormat, fontTableCuerpo)); table.addCell(cellFechaHora); PdfPCell cellTipoTrasaccion = new PdfPCell( new Paragraph(estadocuentaBancariaView.getTipoTransaccionTransferencia(), fontTableCuerpo)); table.addCell(cellTipoTrasaccion); PdfPCell cellNumOperacion = new PdfPCell( new Paragraph(estadocuentaBancariaView.getNumeroOperacion().toString(), fontTableCuerpo)); table.addCell(cellNumOperacion); PdfPCell cellReferencia = new PdfPCell( new Paragraph(estadocuentaBancariaView.getReferencia(), fontTableCuerpo)); table.addCell(cellReferencia); PdfPCell cellMonto = new PdfPCell( new Paragraph(df1.format(estadocuentaBancariaView.getMonto()), fontTableCuerpo)); table.addCell(cellMonto); PdfPCell cellSaldoDisponible = new PdfPCell( new Paragraph(df1.format(estadocuentaBancariaView.getSaldoDisponible()), fontTableCuerpo)); table.addCell(cellSaldoDisponible); if (estadocuentaBancariaView.getEstado()) { PdfPCell cellEstadoActivo = new PdfPCell(new Paragraph("Activo", fontTableCuerpo)); table.addCell(cellEstadoActivo); } else { PdfPCell cellEstadoExtornado = new PdfPCell(new Paragraph("Extornado", fontTableCuerpo)); table.addCell(cellEstadoExtornado); } } Paragraph saldoDisponible = new Paragraph(); saldoDisponible.setAlignment(Element.ALIGN_CENTER); Chunk textoSaldoDisponible = new Chunk( "SALDO DISPONIBLE: " + moneda.getSimbolo() + df1.format(cuentaBancariaView.getSaldo()), fontTableCabecera); textoSaldoDisponible.setFont(fontTableCabecera); saldoDisponible.add(textoSaldoDisponible); try { document.add(table); document.add(saldoDisponible); } catch (DocumentException e) { e.printStackTrace(); } document.close(); return Response.ok(outputStream.toByteArray()).type("application/pdf").build(); }
From source file:org.sistemafinanciero.rest.impl.SocioRESTService.java
License:Apache License
@Override public Response getCartillaInformacion(BigInteger id) { OutputStream file;// www . j av a 2s . c o m // CuentaBancariaView cuentaBancaria = // cuentaBancariaServiceNT.findById(id); SocioView socio = socioServiceNT.findById(id); CuentaAporte cuentaAporte = socioServiceNT.getCuentaAporte(id); Moneda moneda = cuentaAporte.getMoneda(); SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy"); BaseColor baseColor = BaseColor.LIGHT_GRAY; Font font = FontFactory.getFont("Arial", 10f); Font fontBold = FontFactory.getFont("Arial", 10f, Font.BOLD); try { file = new FileOutputStream(new File(cartillaURL + "\\" + id + ".pdf")); Document document = new Document(PageSize.A4);// *4 PdfWriter writer = PdfWriter.getInstance(document, file); document.open(); /******************* TITULO ******************/ //Image img = Image.getInstance("/images/logo_coop_contrato.png"); Image img = Image.getInstance("//usr//share//jboss//archivos//logoCartilla//logo_coop_contrato.png"); img.setAlignment(Image.LEFT | Image.UNDERLYING); document.add(img); Paragraph parrafoPrincipal = new Paragraph(); parrafoPrincipal.setSpacingAfter(40); parrafoPrincipal.setSpacingBefore(50); parrafoPrincipal.setAlignment(Element.ALIGN_CENTER); parrafoPrincipal.setIndentationLeft(100); parrafoPrincipal.setIndentationRight(50); Chunk titulo = new Chunk("CARTILLA DE INFORMACIN\n"); Font fuenteTitulo = new Font(); fuenteTitulo.setSize(18); fuenteTitulo.setFamily("Arial"); fuenteTitulo.setStyle(Font.BOLD | Font.UNDERLINE); titulo.setFont(fuenteTitulo); parrafoPrincipal.add(titulo); Chunk subTitulo = new Chunk("APERTURA CUENTA DE APORTE\n"); Font fuenteSubtitulo = new Font(); fuenteSubtitulo.setSize(13); fuenteSubtitulo.setFamily("Arial"); fuenteSubtitulo.setStyle(Font.BOLD | Font.UNDERLINE); subTitulo.setFont(fuenteSubtitulo); parrafoPrincipal.add(subTitulo); document.add(parrafoPrincipal); /******************* DATOS BASICOS DEL SOCIO **********************/ PdfPTable table1 = new PdfPTable(4); table1.setWidthPercentage(100); PdfPCell cabecera1 = new PdfPCell(new Paragraph("DATOS BASICOS DEL SOCIO", fontBold)); cabecera1.setColspan(4); cabecera1.setBackgroundColor(baseColor); PdfPCell cellCodigoSocio = new PdfPCell(new Paragraph("Codigo Socio:", fontBold)); cellCodigoSocio.setColspan(1); cellCodigoSocio.setBorder(Rectangle.NO_BORDER); PdfPCell cellCodigoSocioValue = new PdfPCell(new Paragraph(socio.getIdsocio().toString(), font)); cellCodigoSocioValue.setColspan(3); cellCodigoSocioValue.setBorder(Rectangle.NO_BORDER); PdfPCell cellApellidosNombres = new PdfPCell(new Paragraph( socio.getTipoPersona().equals(TipoPersona.NATURAL) ? "Apellidos y Nombres:" : "Razn Social:", fontBold)); cellApellidosNombres.setColspan(1); cellApellidosNombres.setBorder(Rectangle.NO_BORDER); PdfPCell cellApellidosNombresValue = new PdfPCell(new Paragraph(socio.getSocio(), font)); cellApellidosNombresValue.setColspan(3); cellApellidosNombresValue.setBorder(Rectangle.NO_BORDER); table1.addCell(cabecera1); table1.addCell(cellCodigoSocio); table1.addCell(cellCodigoSocioValue); table1.addCell(cellApellidosNombres); table1.addCell(cellApellidosNombresValue); PdfPCell cellDNI = new PdfPCell(new Paragraph(socio.getTipoDocumento() + ":", fontBold)); cellDNI.setColspan(1); cellDNI.setBorder(Rectangle.NO_BORDER); PdfPCell cellDNIValue = new PdfPCell(new Paragraph(socio.getNumeroDocumento(), font)); cellDNIValue.setColspan(1); cellDNIValue.setBorder(Rectangle.NO_BORDER); PdfPCell cellFechaNaciemiento = new PdfPCell( new Paragraph(socio.getTipoPersona().equals(TipoPersona.NATURAL) ? "Fecha de Nacimiento:" : "Fecha de Constitucin", fontBold)); cellFechaNaciemiento.setColspan(1); cellFechaNaciemiento.setBorder(Rectangle.NO_BORDER); PdfPCell cellFechaNacimientoValue = new PdfPCell( new Paragraph(DATE_FORMAT.format(socio.getFechaNacimiento()), font)); cellFechaNacimientoValue.setColspan(1); cellFechaNacimientoValue.setBorder(Rectangle.NO_BORDER); table1.addCell(cellDNI); table1.addCell(cellDNIValue); table1.addCell(cellFechaNaciemiento); table1.addCell(cellFechaNacimientoValue); document.add(table1); document.add(new Paragraph("\n")); /******************* PRODUCTOS Y SERVICIOS **********************/ PdfPTable table3 = new PdfPTable(4); table3.setWidthPercentage(100); PdfPCell cabecera3 = new PdfPCell(new Paragraph("PRODUCTOS Y SERVICIOS", fontBold)); cabecera3.setColspan(4); cabecera3.setBackgroundColor(baseColor); table3.addCell(cabecera3); PdfPCell cellProductoCab = new PdfPCell(new Paragraph("Producto", fontBold)); PdfPCell cellMonedaCab = new PdfPCell(new Paragraph("Moneda", fontBold)); PdfPCell cellNumeroCuentaCab = new PdfPCell(new Paragraph("Nmero Cuenta", fontBold)); PdfPCell cellFechaAperturaCab = new PdfPCell(new Paragraph("Fecha Apertura", fontBold)); cellProductoCab.setBorder(Rectangle.NO_BORDER); cellMonedaCab.setBorder(Rectangle.NO_BORDER); cellNumeroCuentaCab.setBorder(Rectangle.NO_BORDER); cellFechaAperturaCab.setBorder(Rectangle.NO_BORDER); table3.addCell(cellProductoCab); table3.addCell(cellMonedaCab); table3.addCell(cellNumeroCuentaCab); table3.addCell(cellFechaAperturaCab); PdfPCell cellProducto = new PdfPCell(new Paragraph("CUENTA DE APORTE", font)); PdfPCell cellMoneda = new PdfPCell(new Paragraph(moneda.getDenominacion(), font)); PdfPCell cellNumeroCuenta = new PdfPCell(new Paragraph(cuentaAporte.getNumeroCuenta(), font)); PdfPCell cellFechaApertura = new PdfPCell( new Paragraph(DATE_FORMAT.format(socio.getFechaAsociado()), font)); cellProducto.setBorder(Rectangle.NO_BORDER); cellMoneda.setBorder(Rectangle.NO_BORDER); cellNumeroCuenta.setBorder(Rectangle.NO_BORDER); cellFechaApertura.setBorder(Rectangle.NO_BORDER); table3.addCell(cellProducto); table3.addCell(cellMoneda); table3.addCell(cellNumeroCuenta); table3.addCell(cellFechaApertura); document.add(table3); document.add(new Paragraph("\n")); /******************* DECLARACIONES Y FIRMAS **********************/ PdfPTable table4 = new PdfPTable(1); table4.setWidthPercentage(100); PdfPCell cabecera4 = new PdfPCell(new Paragraph("DECLARACIONES Y FIRMAS", fontBold)); cabecera4.setBackgroundColor(baseColor); table4.addCell(cabecera4); Paragraph parrafoDeclaraciones = new Paragraph(); Chunk parrafo1 = new Chunk( "Los aportes individuales sern pagados por los Asociados en forma peridica de conformidad con lo establecido en el Estatuto y el Reglamento de Aportes Sociales de la Cooperativa. El aporte social ordinario de cada Asociado ser mnimo de S/. 10.00 Nuevos Soles si es mayor de edad y S/. 5.00 Nuevos Soles si es menor de edad.\n\n", font); parrafo1.setLineHeight(13); parrafoDeclaraciones.add(parrafo1); Chunk parrafoDeclaracionesFinalesCab = new Chunk("DECLARACIN FINAL DEL CLIENTE: ", fontBold); Paragraph parrafoDeclaracionesFinalesValue = new Paragraph(); Chunk parrafo2 = new Chunk( "Declaro haber leido previamente las condiciones establecidas en el Contrato de Depsito y la Cartilla de Informacin, asi como haber sido instruido acerca de los alcances y significados de los trminos y condiciones establecidos en dicho documento habiendo sido absueltas y aclaradas a mi satisfaccin todas las consultas efectuadas y/o dudas, suscribe el presente documento en duplicado y con pleno y exacto conocimiento de los mismos.\n", font); parrafo2.setLineHeight(13); parrafoDeclaracionesFinalesValue.add(parrafo2); parrafoDeclaraciones.add(parrafoDeclaracionesFinalesCab); parrafoDeclaraciones.add(parrafoDeclaracionesFinalesValue); PdfPCell declaraciones = new PdfPCell(parrafoDeclaraciones); declaraciones.setBorder(Rectangle.NO_BORDER); declaraciones.setHorizontalAlignment(Element.ALIGN_JUSTIFIED); table4.addCell(declaraciones); document.add(table4); // firmas Chunk firmaP01 = new Chunk(".........................................."); Chunk firmaP02 = new Chunk("..........................................\n"); Chunk firma01 = new Chunk("Caja Ventura"); Chunk firma02 = new Chunk("El Socio "); Paragraph firmas = new Paragraph("\n\n\n\n\n\n"); firmas.setAlignment(Element.ALIGN_CENTER); firmas.add(firmaP01); firmas.add(Chunk.SPACETABBING); firmas.add(Chunk.SPACETABBING); firmas.add(firmaP02); firmas.add(firma01); firmas.add(Chunk.SPACETABBING); firmas.add(Chunk.SPACETABBING); firmas.add(Chunk.SPACETABBING); firmas.add(Chunk.SPACETABBING); firmas.add(firma02); document.add(firmas); document.close(); file.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } PdfReader reader; try { reader = new PdfReader(cartillaURL + "\\" + id + ".pdf"); ByteArrayOutputStream out = new ByteArrayOutputStream(); PdfStamper pdfStamper = new PdfStamper(reader, out); AcroFields acroFields = pdfStamper.getAcroFields(); acroFields.setField("field_title", "test"); pdfStamper.close(); reader.close(); return Response.ok(out.toByteArray()).type("application/pdf").build(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Jsend.getErrorJSend("No encontrado")) .build(); }