List of usage examples for com.itextpdf.text Chunk Chunk
public Chunk(final DrawInterface separator)
From source file:org.sharegov.cirm.utils.PDFViewReport.java
License:Apache License
private void addQuestions(Section subCatPart, Json data) throws DocumentException, UnsupportedEncodingException { PdfPTable table = new PdfPTable(2); table.setWidthPercentage(100);// www . ja v a 2s. c o m int[] widths = { 65, 35 }; table.setWidths(widths); PdfPCell cell = null; addCell(cell, table, "SR Questions", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "Answers", Element.ALIGN_LEFT, bigBoldFont, null); subCatPart.add(table); //subCatPart.add(Chunk.NEWLINE); //subCatPart.add(new Chunk(new LineSeparator())); table = new PdfPTable(2); table.setWidthPercentage(100); table.setWidths(widths); OWLNamedIndividual typeInd = individual(legacyPrefix + data.at("type").asString()); List<Json> allServiceAnswers = new ArrayList<Json>(); LegacyEmulator.getAllServiceFields(typeInd, allServiceAnswers, true); List<Json> saList = getAllServiceAnswers(data); for (int k = 0; k < allServiceAnswers.size(); k++) { Json serviceAnswer = allServiceAnswers.get(k); BaseColor color = addColor(k); int counter = 0; addCell(cell, table, serviceAnswer.at("hasServiceField").at("label").asString(), Element.ALIGN_LEFT, normalFont, color); for (Json sa : saList) { if (sa.at("hasServiceField").at("iri").asString() .equals(serviceAnswer.at("hasServiceField").at("iri").asString())) { OWLIndividual qtn = individual(sa.at("hasServiceField").at("iri").asString()); OWLObjectProperty cvl = objectProperty(legacyPrefix + "hasChoiceValueList"); if (sa.has("hasAnswerValue")) { if (sa.at("hasAnswerValue").at("literal").isArray()) { List<Json> literalList = sa.at("hasAnswerValue").at("literal").asJsonList(); for (int i = 0; i < literalList.size(); i++) { String eachAns = literalList.get(i).asString(); addCell(cell, table, eachAns, Element.ALIGN_LEFT, normalFont, color); if (i != literalList.size() - 1) addCell(cell, table, blankField, Element.ALIGN_LEFT, normalFont, color); } } else { String ans = sa.at("hasAnswerValue").at("literal").asString(); if (serviceAnswer.at("hasDataType").asString().equals("NUMBER")) ans = Long.toString(new BigDecimal(ans).longValue()); if (serviceAnswer.at("hasDataType").asString().equals("DATE")) ans = formatDate(ans, false, false); addCell(cell, table, ans, Element.ALIGN_LEFT, normalFont, color); } } else if (sa.has("hasAnswerObject")) { if (sa.at("hasAnswerObject").isArray()) { List<Json> answerObjectList = sa.at("hasAnswerObject").asJsonList(); for (int i = 0; i < answerObjectList.size(); i++) { Json eachAnswerObject = answerObjectList.get(i); //OWL.objectProperties(qtn, cvl.getIRI().toString()); if (!OWL.collectObjectProperties(qtn, cvl).isEmpty() && !containsWhiteSpace(eachAnswerObject.at("iri").asString())) { addCell(cell, table, getEntityLabel(individual(eachAnswerObject.at("iri").asString())), Element.ALIGN_LEFT, normalFont, color); if (i != answerObjectList.size() - 1) addCell(cell, table, blankField, Element.ALIGN_LEFT, normalFont, color); } } } else { String ans = sa.at("hasAnswerObject").at("iri").asString(); if (!OWL.collectObjectProperties(qtn, cvl).isEmpty() && !containsWhiteSpace(ans)) { addCell(cell, table, getEntityLabel(individual(ans)), Element.ALIGN_LEFT, normalFont, color); } else addCell(cell, table, ans, Element.ALIGN_LEFT, normalFont, color); } } ++counter; } else continue; } if (counter == 0) addCell(cell, table, emptyField, Element.ALIGN_LEFT, normalFont, color); } subCatPart.add(table); subCatPart.add(new Chunk(new LineSeparator())); }
From source file:org.sharegov.cirm.utils.PDFViewReport.java
License:Apache License
private void addActors(Section subCatPart, Json data) throws DocumentException { if (data.at("properties").has("hasServiceCaseActor")) { int iActorHeaderColumns = 5; int iActorColumns = 6; PdfPTable table = new PdfPTable(iActorHeaderColumns); table.setWidthPercentage(100);/*from ww w . jav a2 s . c om*/ int[] headerWidths = { 15, 15, 25, 18, 22 }; int[] widths = { 15, 15, 25, 18, 5, 17 }; table.setWidths(headerWidths); PdfPCell cell = null; addCell(cell, table, "Customer", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "Name", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "Address", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "e-Mail", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "Contact No", Element.ALIGN_LEFT, bigBoldFont, null); subCatPart.add(table); //subCatPart.add(Chunk.NEWLINE); //subCatPart.add(new Chunk(new LineSeparator())); table = new PdfPTable(iActorColumns); table.setWidthPercentage(100); table.setWidths(widths); if (!data.at("properties").at("hasServiceCaseActor").isArray()) { data.at("properties").set("hasServiceCaseActor", Json.array().add(data.at("properties").at("hasServiceCaseActor"))); } for (int k = 0; k < data.at("properties").at("hasServiceCaseActor").asJsonList().size(); k++) { Json actor = data.at("properties").at("hasServiceCaseActor").at(k); BaseColor color = addColor(k); OWLNamedIndividual act = individual(actor, "hasServiceActor"); String actorType = getEntityLabel(act); StringBuilder actorName = new StringBuilder(); if (actor.has("Name")) actorName.append(actor.at("Name").asString()); if (actor.has("LastName")) { if (actorName.toString().isEmpty()) actorName.append(actor.at("LastName").asString()); else actorName.append(" ").append(actor.at("LastName").asString()); } if (actorName.toString().isEmpty()) actorName.append(blankField); StringBuilder actorAddr = new StringBuilder(); if (actor.has("atAddress")) { Json addr = actor.at("atAddress"); if (addr.has("fullAddress")) actorAddr.append(addr.at("fullAddress").asString()); if (addr.has("Street_Unit_Number")) actorAddr.append(", #").append(addr.at("Street_Unit_Number").asString()); if (addr.has("Street_Address_City")) { OWLNamedIndividual cityInd = individual(addr, "Street_Address_City"); OWLLiteral city = dataProperty(cityInd, "Name"); if (city == null) city = dataProperty(cityInd, "Alias"); if (city != null) actorAddr.append(", ").append(city.getLiteral()); } if (addr.has("fullAddress") && addr.has("Street_Address_State")) { OWLNamedIndividual stateInd = individual(addr, "Street_Address_State"); OWLLiteral state = dataProperty(stateInd, "USPS_Abbreviation"); if (state != null) actorAddr.append(", ").append(state.getLiteral()); } if (addr.has("Zip_Code")) actorAddr.append(" - ").append(addr.at("Zip_Code").asString()); } else actorAddr.append(blankField); String eMail = actor.has("hasEmailAddress") ? actor.at("hasEmailAddress").isObject() ? actor.at("hasEmailAddress").at("iri").asString().split(":")[1] : actor.at("hasEmailAddress").asString().split(":")[1] : blankField; addCell(cell, table, actorType, Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, actorName.toString(), Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, actorAddr.toString(), Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, eMail, Element.ALIGN_LEFT, normalFont, color); boolean isFirstContactNo = true; String actorHmPh = actor.has("HomePhoneNumber") ? actor.at("HomePhoneNumber").asString() : null; String actorCellNo = actor.has("CellPhoneNumber") ? actor.at("CellPhoneNumber").asString() : null; String actorBizNo = actor.has("BusinessPhoneNumber") ? actor.at("BusinessPhoneNumber").asString() : null; String actorFaxNo = actor.has("FaxNumber") ? actor.at("FaxNumber").asString() : null; String actorOtherNo = actor.has("OtherPhoneNumber") ? actor.at("OtherPhoneNumber").asString() : null; if (actorHmPh != null) isFirstContactNo = addActorsContactNumbers(table, cell, actorHmPh, "Home ", iActorColumns, color, isFirstContactNo); if (actorCellNo != null) isFirstContactNo = addActorsContactNumbers(table, cell, actorCellNo, "Cell ", iActorColumns, color, isFirstContactNo); if (actorBizNo != null) isFirstContactNo = addActorsContactNumbers(table, cell, actorBizNo, "Biz ", iActorColumns, color, isFirstContactNo); if (actorFaxNo != null) isFirstContactNo = addActorsContactNumbers(table, cell, actorFaxNo, "Fax ", iActorColumns, color, isFirstContactNo); if (actorOtherNo != null) isFirstContactNo = addActorsContactNumbers(table, cell, actorOtherNo, "Other ", iActorColumns, color, isFirstContactNo); if (actorHmPh == null && actorCellNo == null && actorBizNo == null && actorFaxNo == null && actorOtherNo == null) { addCell(cell, table, blankField, Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, blankField, Element.ALIGN_LEFT, normalFont, color); } } subCatPart.add(table); subCatPart.add(new Chunk(new LineSeparator())); } }
From source file:org.sharegov.cirm.utils.PDFViewReport.java
License:Apache License
private void addActivities(Section subCatPart, Json data) throws DocumentException { if (data.at("properties").has("hasServiceActivity")) { if (!data.at("properties").at("hasServiceActivity").isArray()) { data.at("properties").set("hasServiceActivity", Json.array().add(data.at("properties").at("hasServiceActivity"))); }/*from w ww.j ava 2 s . com*/ Json filteredActivities = Json.array(); //Do not add any StatusChangeActivity Activities to the report for (Json act : data.at("properties").at("hasServiceActivity").asJsonList()) { OWLNamedIndividual actInd = individual(act, "hasActivity"); if (!actInd.getIRI().getFragment().equals("StatusChangeActivity")) filteredActivities.add(act); } if (filteredActivities.asJsonList().size() > 0) { //PdfPTable table = new PdfPTable(7); PdfPTable table = new PdfPTable(6); table.setWidthPercentage(100); //int[] widths = {17, 13, 12, 12, 13, 13, 20}; int[] widths = { 25, 20, 13, 12, 13, 17 }; table.setWidths(widths); PdfPCell cell = null; addCell(cell, table, "Activity", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "Assigned To", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "Created Date", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "Due Date", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "Completed Date", Element.ALIGN_LEFT, bigBoldFont, null); addCell(cell, table, "Outcome", Element.ALIGN_LEFT, bigBoldFont, null); //addCell(cell, table, "Details", Element.ALIGN_LEFT, bigBoldFont); subCatPart.add(table); //subCatPart.add(Chunk.NEWLINE); //subCatPart.add(new Chunk(new LineSeparator())); //table = new PdfPTable(7); //table = new PdfPTable(6); //table.setWidthPercentage(100); //table.setWidths(widths); //Store all outcome iris(key), labels(value). //Because in case of duplicate outcomes all outcome values (except the first) will be a string and not object Map<String, String> outcomeMap = new HashMap<String, String>(10); //for (int k = 0; k < data.at("properties").at("hasServiceActivity").asJsonList().size(); k++) for (int k = 0; k < filteredActivities.asJsonList().size(); k++) { Json activity = filteredActivities.at(k); BaseColor color = addColor(k); OWLIndividual act = individual(activity, "hasActivity"); OWLLiteral typeLabel = null; for (OWLAnnotation ann : OWL.annotations(act.asOWLNamedIndividual())) { if (ann.getProperty().isLabel()) typeLabel = (OWLLiteral) ann.getValue(); } String activityType = typeLabel == null ? "" : typeLabel.getLiteral(); String assignedTo = activity.has("isAssignedTo") ? activity.at("isAssignedTo").asString() : blankField; String createdDate = activity.has("hasDateCreated") ? activity.at("hasDateCreated").asString() : blankField; String dueDate = activity.has("hasDueDate") ? activity.at("hasDueDate").asString() : blankField; String completedDate = activity.has("hasCompletedTimestamp") ? activity.at("hasCompletedTimestamp").asString() : blankField; String details = activity.has("hasDetails") ? activity.at("hasDetails").asString() : blankField; StringBuilder outcome = new StringBuilder(""); if (activity.has("hasOutcome")) { if (activity.at("hasOutcome").isObject()) { if (!outcomeMap.containsKey(activity.at("hasOutcome").at("iri").asString())) { outcomeMap.put(activity.at("hasOutcome").at("iri").asString(), activity.at("hasOutcome").at("label").asString()); outcome.append(activity.at("hasOutcome").at("label").asString()); } } else if (activity.at("hasOutcome").isString()) { if (outcomeMap.containsKey(activity.at("hasOutcome").asString())) outcome.append(outcomeMap.get(activity.at("hasOutcome").asString())); else outcome.append(OWL.fullIri(activity.at("hasOutcome").asString()).getFragment()); } } //table = new PdfPTable(7); table = new PdfPTable(6); table.setWidthPercentage(100); table.setWidths(widths); addCell(cell, table, activityType, Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, getEmployeeName(assignedTo), Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, formatDate(createdDate, false, false), Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, formatDate(dueDate, false, false), Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, formatDate(completedDate, true, false), Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, outcome.toString(), Element.ALIGN_LEFT, normalFont, color); subCatPart.add(table); if (!details.equals(blankField)) { table = new PdfPTable(2); table.setWidthPercentage(100); int[] detailsWitdh = { 10, 90 }; table.setWidths(detailsWitdh); addCell(cell, table, "Details: ", Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, details, Element.ALIGN_LEFT, normalFont, color); subCatPart.add(table); } } //subCatPart.add(table); subCatPart.add(new Chunk(new LineSeparator())); } } }
From source file:org.sistemafinanciero.rest.impl.CuentaBancariaRESTService.java
License:Apache License
@Override public Response getCertificado(BigInteger id) { OutputStream file;/*from ww w.ja v a 2 s . c o m*/ CuentaBancariaView cuentaBancaria = cuentaBancariaServiceNT.findById(id); String codigoAgencia = ProduceObject.getCodigoAgenciaFromNumeroCuenta(cuentaBancaria.getNumeroCuenta()); Agencia agencia = agenciaServiceNT.findByCodigo(codigoAgencia); if (agencia == null) { JsonObject model = Json.createObjectBuilder().add("message", "Agencia no encontrado").build(); return Response.status(Response.Status.NOT_FOUND).entity(model).build(); } try { file = new FileOutputStream(new File(certificadoURL + "\\" + id + ".pdf")); //Document document = new Document(PageSize.A5.rotate()); Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, file); document.open(); //recuperando moneda, redondeando y dando formato Moneda moneda = monedaServiceNT.findById(cuentaBancaria.getIdMoneda()); BigDecimal saldo = cuentaBancaria.getSaldo(); BigDecimal decimalValue = saldo.subtract(saldo.setScale(0, RoundingMode.FLOOR)) .movePointRight(saldo.scale()); Long integerValue = saldo.longValue(); String decimalString = decimalValue.toString(); if (decimalString.length() < 2) decimalString = "0" + decimalString; NumberFormat df1 = NumberFormat.getCurrencyInstance(); DecimalFormatSymbols dfs = new DecimalFormatSymbols(); dfs.setCurrencySymbol(""); dfs.setGroupingSeparator(','); dfs.setMonetaryDecimalSeparator('.'); ((DecimalFormat) df1).setDecimalFormatSymbols(dfs); //recuperando el plazo en dias Date fechaApertura = cuentaBancaria.getFechaApertura(); Date fechaCierre = cuentaBancaria.getFechaCierre(); LocalDate localDateApertura = new LocalDate(fechaApertura); LocalDate localDateCierre = new LocalDate(fechaCierre); Days days = Days.daysBetween(localDateApertura, localDateCierre); //fuentes Font fontTitulo = FontFactory.getFont("Times New Roman", 14, Font.BOLD); Font fontSubTitulo = FontFactory.getFont("Times New Roman", 8); Font fontContenidoNegrita = FontFactory.getFont("Times New Roman", 10, Font.BOLD); Font fontContenidoNormal = FontFactory.getFont("Times New Roman", 10); //dando formato a las fechas DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); String fechaAperturaString = df.format(cuentaBancaria.getFechaApertura()); String fechaVencimientoString = df.format(cuentaBancaria.getFechaCierre()); //ingresando datos al documento document.add(new Paragraph("\n")); document.add(new Paragraph("\n")); //parrafo titulo Paragraph parrafoTitulo = new Paragraph(); parrafoTitulo.setFont(fontTitulo); parrafoTitulo.setSpacingBefore(30); parrafoTitulo.setAlignment(Element.ALIGN_CENTER); //parrafo subtitulo Paragraph parrafoSubTitulo = new Paragraph(); parrafoSubTitulo.setFont(fontSubTitulo); parrafoSubTitulo.setSpacingAfter(30); parrafoSubTitulo.setAlignment(Element.ALIGN_CENTER); //parrafo contenido Paragraph parrafoContenido = new Paragraph(); parrafoContenido.setIndentationLeft(50); parrafoContenido.setAlignment(Element.ALIGN_LEFT); //parrafo firmas Paragraph parrafoFirmas = new Paragraph(); parrafoFirmas.setAlignment(Element.ALIGN_CENTER); //agregar titulo al documento Chunk titulo = new Chunk("CERTIFICADO DE PLAZO FIJO"); parrafoTitulo.add(titulo); //agregar titulo al documento Chunk subTitulo; if (cuentaBancaria.getIdMoneda().compareTo(BigInteger.ZERO) == 0) { subTitulo = new Chunk("DEPSITO A PLAZO FIJO - DOLARES AMERICANOS"); } else if (cuentaBancaria.getIdMoneda().compareTo(BigInteger.ONE) == 0) { subTitulo = new Chunk("DEPSITO A PLAZO FIJO - NUEVOS SOLES"); } else { subTitulo = new Chunk("DEPSITO A PLAZO FIJO - EUROS"); } parrafoSubTitulo.add(subTitulo); //agregando contenido al documento //Agencia Chunk agencia1 = new Chunk("AGENCIA", fontContenidoNegrita); Chunk agencia2 = new Chunk(": " + agencia.getCodigo() + " - " + agencia.getDenominacion().toUpperCase(), fontContenidoNormal); parrafoContenido.add(agencia1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(agencia2); parrafoContenido.add("\n"); //cuenta Chunk numeroCuenta1 = new Chunk("N CUENTA", fontContenidoNegrita); Chunk numeroCuenta2 = new Chunk(": " + cuentaBancaria.getNumeroCuenta(), fontContenidoNormal); parrafoContenido.add(numeroCuenta1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(numeroCuenta2); parrafoContenido.add("\n"); //codigo cliente Chunk codigoSocio1 = new Chunk("CODIGO CLIENTE", fontContenidoNegrita); Chunk codigoSocio2 = new Chunk(": " + cuentaBancaria.getIdSocio().toString(), fontContenidoNormal); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(codigoSocio1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(codigoSocio2); parrafoContenido.add("\n"); //cliente Chunk socio1 = new Chunk("CLIENTE", fontContenidoNegrita); Chunk socio2 = new Chunk(": " + cuentaBancaria.getSocio(), fontContenidoNormal); parrafoContenido.add(socio1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(socio2); parrafoContenido.add("\n"); //tipo cuenta Chunk tipoCuenta1 = new Chunk("TIPO CUENTA", fontContenidoNegrita); Chunk tipoCuenta2 = new Chunk(": " + "INDIVIDUAL", fontContenidoNormal); parrafoContenido.add(tipoCuenta1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(tipoCuenta2); parrafoContenido.add("\n"); //tipo moneda Chunk tipoMoneda1 = new Chunk("TIPO MONEDA", fontContenidoNegrita); Chunk tipoMoneda2; if (cuentaBancaria.getIdMoneda().compareTo(BigInteger.ZERO) == 0) { tipoMoneda2 = new Chunk(": " + "DOLARES AMERICANOS", fontContenidoNormal); } else if (cuentaBancaria.getIdMoneda().compareTo(BigInteger.ONE) == 0) { tipoMoneda2 = new Chunk(": " + "NUEVOS SOLES", fontContenidoNormal); } else { tipoMoneda2 = new Chunk(": " + "EUROS", fontContenidoNormal); } parrafoContenido.add(tipoMoneda1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(tipoMoneda2); parrafoContenido.add("\n"); //Monto Chunk monto1 = new Chunk("MONTO", fontContenidoNegrita); Chunk monto2 = new Chunk(": " + moneda.getSimbolo() + df1.format(saldo) + " - " + NumLetrasJ.Convierte(integerValue.toString() + "", Tipo.Pronombre).toUpperCase() + " Y " + decimalString + "/100 " + moneda.getDenominacion(), fontContenidoNormal); parrafoContenido.add(monto1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(monto2); parrafoContenido.add("\n"); //Plazo Chunk plazo1 = new Chunk("PLAZO", fontContenidoNegrita); Chunk plazo2 = new Chunk(": " + days.getDays() + " D?AS", fontContenidoNormal); parrafoContenido.add(plazo1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(plazo2); parrafoContenido.add("\n"); //Fecha Apertura Chunk fechaApertura1 = new Chunk("FEC. APERTURA", fontContenidoNegrita); Chunk fechaApertura2 = new Chunk(": " + fechaAperturaString, fontContenidoNormal); parrafoContenido.add(fechaApertura1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(fechaApertura2); parrafoContenido.add("\n"); //Fecha Vencimiento Chunk fechaVencimiento1 = new Chunk("FEC. VENCIMIENTO", fontContenidoNegrita); Chunk fechaVencimiento2 = new Chunk(": " + fechaVencimientoString, fontContenidoNormal); parrafoContenido.add(fechaVencimiento1); parrafoContenido.add(Chunk.SPACETABBING); parrafoContenido.add(fechaVencimiento2); parrafoContenido.add("\n"); //tasa efectiva anual Chunk tasaEfectivaAnual1 = new Chunk("TASA EFECTIVA ANUAL", fontContenidoNegrita); Chunk tasaEfectivaAnual2 = new Chunk( ": " + cuentaBancaria.getTasaInteres().multiply(new BigDecimal(100)).toString() + "%", fontContenidoNormal); parrafoContenido.add(tasaEfectivaAnual1); parrafoContenido.add(tasaEfectivaAnual2); parrafoContenido.add("\n"); //frecuencia de capitalizacion Chunk frecuenciaCapitalizacion1 = new Chunk("FREC. CAPITALIZACION", fontContenidoNegrita); Chunk frecuenciaCapitalizacion2 = new Chunk(": " + "DIARIA", fontContenidoNormal); parrafoContenido.add(frecuenciaCapitalizacion1); parrafoContenido.add(frecuenciaCapitalizacion2); parrafoContenido.add("\n"); parrafoContenido.add("\n"); parrafoContenido.add("\n"); //importante Chunk importante = new Chunk("IMPORTANTE: ", fontContenidoNegrita); Chunk importanteDetalle1 = new Chunk( "DEPSITO CUBIERTO POR EL FONDO DE SEGURO DE DEPOSITOS ESTABLECIDO POR EL BANCO CENTRAL DE RESERVA DEL PER HASTA S/.82,073.00.", fontSubTitulo); Chunk importanteDetalle2 = new Chunk( "LAS PERSONAS JUR?DICAS SIN FINES DE LUCRO SON CUBIERTAS POR EL FONDO DE SEGURO DE DEPSITOS.", fontSubTitulo); parrafoContenido.add(importante); parrafoContenido.add(importanteDetalle1); parrafoContenido.add("\n"); parrafoContenido.add(importanteDetalle2); parrafoContenido.add("\n"); parrafoContenido.add("\n"); parrafoContenido.add("\n"); //certificado intranferible Chunk certificadoIntransferible = new Chunk("CERTIFICADO INTRANSFERIBLE.", fontContenidoNegrita); parrafoContenido.add(certificadoIntransferible); parrafoContenido.add("\n"); parrafoContenido.add("\n"); parrafoContenido.add("\n"); parrafoContenido.add("\n"); parrafoContenido.add("\n"); parrafoContenido.add("\n"); parrafoContenido.add("\n"); parrafoContenido.add("\n"); parrafoContenido.add("\n"); //Firmas Chunk subGion = new Chunk("___________________", fontContenidoNormal); Chunk firmaCajero = new Chunk("CAJERO", fontContenidoNormal); Chunk firmaCliente = new Chunk("CLIENTE", fontContenidoNormal); parrafoFirmas.add(subGion); parrafoFirmas.add(Chunk.SPACETABBING); parrafoFirmas.add(Chunk.SPACETABBING); parrafoFirmas.add(subGion); parrafoFirmas.add("\n"); parrafoFirmas.add(firmaCajero); parrafoFirmas.add(Chunk.SPACETABBING); parrafoFirmas.add(Chunk.SPACETABBING); parrafoFirmas.add(Chunk.SPACETABBING); parrafoFirmas.add(firmaCliente); //agregando los parrafos al documento document.add(parrafoTitulo); document.add(parrafoSubTitulo); document.add(parrafoContenido); document.add(parrafoFirmas); 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(certificadoURL + "\\" + 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(); }
From source file:org.sistemafinanciero.rest.impl.CuentaBancariaRESTService.java
License:Apache License
@Override public Response getCartillaInformacion(BigInteger id) { OutputStream file;//from w w w . ja v a2s. com CuentaBancariaView cuentaBancaria = cuentaBancariaServiceNT.findById(id); SocioView socio = socioServiceNT.findById(cuentaBancaria.getIdSocio()); Set<Titular> listTitulares = cuentaBancariaServiceNT.getTitulares(id, false); Moneda moneda = monedaServiceNT.findById(cuentaBancaria.getIdMoneda()); 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(30); parrafoPrincipal.setSpacingBefore(50); parrafoPrincipal.setAlignment(Element.ALIGN_CENTER); 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); if (cuentaBancaria.getTipoCuenta().toString() == "AHORRO") { /******************* TIPO CUENTA Y TEXTO DE INTRODUCCION CUENTA AHORRO **********************/ Chunk subTituloAhorro = new Chunk("APERTURA CUENTA DE AHORRO\n"); Font fuenteSubtituloAhorro = new Font(); fuenteSubtituloAhorro.setSize(13); fuenteSubtituloAhorro.setFamily("Arial"); fuenteSubtituloAhorro.setStyle(Font.BOLD | Font.UNDERLINE); subTituloAhorro.setFont(fuenteSubtituloAhorro); parrafoPrincipal.add(subTituloAhorro); document.add(parrafoPrincipal); Chunk mensajeIntroAhorro = new Chunk( "La apertura de una cuenta de ahorro generar intereses y dems beneficios complementarios de acuerdo al saldo promedio mensual o saldo diario establecido en la Cartilla de Informacin. Para estos efectos, se entiende por saldo promedio mensual, la suma del saldo diario dividida entre el nmero de das del mes. La cuenta de ahorro podr generar comisiones y gastos de acuerdo a las condiciones aceptadas en la Cartilla de Informacin.\n\n", font); mensajeIntroAhorro.setLineHeight(13); Paragraph parrafoIntroAhorro = new Paragraph(); parrafoIntroAhorro.setLeading(11f); parrafoIntroAhorro.add(mensajeIntroAhorro); parrafoIntroAhorro.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafoIntroAhorro); } if (cuentaBancaria.getTipoCuenta().toString() == "PLAZO_FIJO") { /******************* TIPO CUENTA Y TEXTO DE INTRODUCCION CUENTA AHORRO **********************/ Chunk subTituloPF = new Chunk("APERTURA CUENTA A PLAZO FIJO\n"); Font fuenteSubtituloPF = new Font(); fuenteSubtituloPF.setSize(13); fuenteSubtituloPF.setFamily("Arial"); fuenteSubtituloPF.setStyle(Font.BOLD | Font.UNDERLINE); subTituloPF.setFont(fuenteSubtituloPF); parrafoPrincipal.add(subTituloPF); document.add(parrafoPrincipal); Chunk mensajeIntroPF = new Chunk( "La presente cartilla de informacin forma parte integrante de las condiciones aplicables a los contratos de depsitos y servicios complementarios suscritos por las partes y tiene por finalidad establecer el detalle de las tareas de inters que se retribuir al cliente.\n\n", font); mensajeIntroPF.setLineHeight(12); Paragraph parrafoIntroPF = new Paragraph(); parrafoIntroPF.setLeading(11f); parrafoIntroPF.add(mensajeIntroPF); parrafoIntroPF.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafoIntroPF); } if (cuentaBancaria.getTipoCuenta().toString() == "CORRIENTE") { /******************* TIPO CUENTA Y TEXTO DE INTRODUCCION CUENTA CORRIENTE **********************/ Chunk subTituloCC = new Chunk("APERTURA CUENTA CORRIENTE\n"); Font fuenteSubtituloCC = new Font(); fuenteSubtituloCC.setSize(13); fuenteSubtituloCC.setFamily("Arial"); fuenteSubtituloCC.setStyle(Font.BOLD | Font.UNDERLINE); subTituloCC.setFont(fuenteSubtituloCC); parrafoPrincipal.add(subTituloCC); document.add(parrafoPrincipal); Chunk mensajeIntroCC = new Chunk( "El cliente podr disponer del saldo de su cuenta en cualquier momento a travs de ventanillas (en horarios de atencin al pblico de las Agencias y Oficinas de la Casa de Cambios Ventura). Asimismo, podr realizar abonos en su cuenta en efectivo, a travs de cheques u rdenes de pago en cualquier momento a travs de las ventanillas.\n\n", font); mensajeIntroCC.setLineHeight(12); Paragraph parrafoIntroCC = new Paragraph(); parrafoIntroCC.setLeading(11f); parrafoIntroCC.add(mensajeIntroCC); parrafoIntroCC.setAlignment(Element.ALIGN_JUSTIFIED); document.add(parrafoIntroCC); } /******************* DATOS BASICOS DEL SOCIO **********************/ PdfPTable table1 = new PdfPTable(4); table1.setWidthPercentage(100); PdfPCell cabecera1 = new PdfPCell(new Paragraph("DATOS B?SICOS DEL CLIENTE", fontBold)); cabecera1.setColspan(4); cabecera1.setBackgroundColor(baseColor); PdfPCell cellCodigoSocio = new PdfPCell(new Paragraph("Codigo Cliente:", 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( cuentaBancaria.getTipoPersona().equals(TipoPersona.NATURAL) ? "Apellidos y Nombres:" : "Razn Social:", fontBold)); cellApellidosNombres.setColspan(1); cellApellidosNombres.setBorder(Rectangle.NO_BORDER); PdfPCell cellApellidosNombresValue = new PdfPCell(new Paragraph(cuentaBancaria.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.setBorder(Rectangle.NO_BORDER); PdfPCell cellDNIValue = new PdfPCell(new Paragraph(socio.getNumeroDocumento(), font)); cellDNIValue.setBorder(Rectangle.NO_BORDER); PdfPCell cellFechaNaciemiento = new PdfPCell(new Paragraph( cuentaBancaria.getTipoPersona().equals(TipoPersona.NATURAL) ? "Fecha de Nacimiento:" : "Fecha de Constitucin", fontBold)); cellFechaNaciemiento.setBorder(Rectangle.NO_BORDER); PdfPCell cellFechaNacimientoValue = new PdfPCell( new Paragraph(DATE_FORMAT.format(socio.getFechaNacimiento()), font)); 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")); /******************* TITULARES **********************/ PdfPTable table2 = new PdfPTable(7); table2.setWidthPercentage(100); PdfPCell cabecera2 = new PdfPCell(new Paragraph("TITULARES", fontBold)); cabecera2.setColspan(7); cabecera2.setBackgroundColor(baseColor); table2.addCell(cabecera2); PdfPCell cellTipoDocumentoCab = new PdfPCell(new Paragraph("Tipo Doc.", fontBold)); PdfPCell cellNumeroDocumentoCab = new PdfPCell(new Paragraph("Num. Doc.", fontBold)); PdfPCell cellApellidoPaternoCab = new PdfPCell(new Paragraph("Ap. Paterno", fontBold)); PdfPCell cellApellidoMaternoCab = new PdfPCell(new Paragraph("Ap. Materno", fontBold)); PdfPCell cellNombresCab = new PdfPCell(new Paragraph("Nombres", fontBold)); PdfPCell cellSexoCab = new PdfPCell(new Paragraph("Sexo", fontBold)); PdfPCell cellFechaNacimientoCab = new PdfPCell(new Paragraph("Fec. Nac.", fontBold)); cellTipoDocumentoCab.setBorder(Rectangle.NO_BORDER); cellNumeroDocumentoCab.setBorder(Rectangle.NO_BORDER); cellApellidoPaternoCab.setBorder(Rectangle.NO_BORDER); cellApellidoMaternoCab.setBorder(Rectangle.NO_BORDER); cellNombresCab.setBorder(Rectangle.NO_BORDER); cellSexoCab.setBorder(Rectangle.NO_BORDER); cellFechaNacimientoCab.setBorder(Rectangle.NO_BORDER); table2.addCell(cellTipoDocumentoCab); table2.addCell(cellNumeroDocumentoCab); table2.addCell(cellApellidoPaternoCab); table2.addCell(cellApellidoMaternoCab); table2.addCell(cellNombresCab); table2.addCell(cellSexoCab); table2.addCell(cellFechaNacimientoCab); for (Titular titular : listTitulares) { PersonaNatural personaNatural = titular.getPersonaNatural(); PdfPCell cellTipoDocumento = new PdfPCell( new Paragraph(personaNatural.getTipoDocumento().getAbreviatura(), font)); PdfPCell cellNumeroDocumento = new PdfPCell( new Paragraph(personaNatural.getNumeroDocumento(), font)); PdfPCell cellApellidoPaterno = new PdfPCell( new Paragraph(personaNatural.getApellidoPaterno(), font)); PdfPCell cellApellidoMaterno = new PdfPCell( new Paragraph(personaNatural.getApellidoMaterno(), font)); PdfPCell cellNombres = new PdfPCell(new Paragraph(personaNatural.getNombres(), font)); PdfPCell cellSexo = new PdfPCell(new Paragraph(personaNatural.getSexo().toString(), font)); PdfPCell cellFechaNacimiento = new PdfPCell( new Paragraph(DATE_FORMAT.format(personaNatural.getFechaNacimiento()), font)); cellTipoDocumento.setBorder(Rectangle.NO_BORDER); cellNumeroDocumento.setBorder(Rectangle.NO_BORDER); cellApellidoPaterno.setBorder(Rectangle.NO_BORDER); cellApellidoMaterno.setBorder(Rectangle.NO_BORDER); cellNombres.setBorder(Rectangle.NO_BORDER); cellSexo.setBorder(Rectangle.NO_BORDER); cellFechaNacimiento.setBorder(Rectangle.NO_BORDER); table2.addCell(cellTipoDocumento); table2.addCell(cellNumeroDocumento); table2.addCell(cellApellidoPaterno); table2.addCell(cellApellidoMaterno); table2.addCell(cellNombres); table2.addCell(cellSexo); table2.addCell(cellFechaNacimiento); } document.add(table2); if (cuentaBancaria.getTipoCuenta().toString() == "AHORRO" || cuentaBancaria.getTipoCuenta().toString() == "CORRIENTE") { Paragraph modalidadCuenta = new Paragraph(); String value; Chunk modalidad = new Chunk("Modalidad de la Cuenta: ", fontBold); if (cuentaBancaria.getCantidadRetirantes() == 1) value = "INDIVIDUAL"; else value = "MANCOMUNADA"; Chunk modalidadValue = new Chunk(value + "\n\n", font); modalidadCuenta.add(modalidad); modalidadCuenta.add(modalidadValue); document.add(modalidadCuenta); } if (cuentaBancaria.getTipoCuenta().toString() == "PLAZO_FIJO") { 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 " + cuentaBancaria.getTipoCuenta().toString(), font)); PdfPCell cellMoneda = new PdfPCell(new Paragraph(moneda.getDenominacion(), font)); PdfPCell cellNumeroCuenta = new PdfPCell(new Paragraph(cuentaBancaria.getNumeroCuenta(), font)); PdfPCell cellFechaApertura = new PdfPCell( new Paragraph(DATE_FORMAT.format(cuentaBancaria.getFechaApertura()), 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(); // Declaraciones Finales Chunk parrafoDeclaracionesFinalesCab = new Chunk("\nDECLARACIONES FINALES: ", fontBold); Paragraph parrafoDeclaracionesFinalesValue = new Paragraph(); Chunk declaracionFinal = new Chunk( "EL CLIENTE, declara expresamente que previamente a la suscripcin del presente Contrato y la Cartilla de Informacin? que le ha sido entregada para su lectura, ha recibido toda la informacin necesaria acerca de las Condiciones Generales y Especiales aplicables al tipo de servicio contratado, tasas de inters, comisiones y gastos, habindosele absuelto todas sus consultas y/o dudas, por lo que declara tener pleno y exacto conocimiento de las condiciones de el(los) servicio(s) contratado(s).\n", font); declaracionFinal.setLineHeight(13); parrafoDeclaracionesFinalesValue.add(declaracionFinal); 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("Casa de Cambios Ventura"); Chunk firma02 = new Chunk(" El Cliente "); Paragraph firmas = new Paragraph("\n\n\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(firma02); document.add(firmas); // Contrato de Cuentas bancarias DateFormat df = DateFormat.getDateInstance(DateFormat.LONG); String fechaAhora = df.format(cuentaBancaria.getFechaApertura()); Font fontTituloContrato = FontFactory.getFont("Arial", 12f, Element.ALIGN_CENTER); Font fontSubtituloContrato = FontFactory.getFont("Arial", 10f, Font.BOLD); Font fontDescripcionContrato = FontFactory.getFont("Arial", 10f); Paragraph tituloContrato = new Paragraph("\n\n\n\n\n\n\n\n"); Paragraph contenidoContrato = new Paragraph(); Paragraph piePaginaContrato = new Paragraph(); tituloContrato.setAlignment(Element.ALIGN_CENTER); tituloContrato.setSpacingAfter(10f); contenidoContrato.setAlignment(Element.ALIGN_JUSTIFIED); contenidoContrato.setLeading(11f); piePaginaContrato.setAlignment(Element.ALIGN_RIGHT); if (cuentaBancaria.getTipoCuenta().toString() == "AHORRO") { //titulo y descripcion Chunk tituloContratoAhorro = new Chunk( "CONTRATO DE CUENTA DE AHORROS Y SERVICIOS FINANCIEROS CONEXOS\n", fontTituloContrato); Chunk descripcionContratoAhorro = new Chunk( "Conste por el presente documento el CONTRATO DE CUENTA DE AHORROS Y SERVICIOS FINANCIEROS CONEXOS, que celebran, de una parte CASA DE CAMBIOS VENTURA?, a quien en adelante se le denominar CAMBIOS VENTURA, y de la otra parte EL CLIENTE, cuyas generales de Ley y su firma puesta en seal de conformidad y aceptacin de todos los trminos del presente contrato, constan en el presente instrumento.\n" + "Los trminos y condiciones de este contrato que constan a continuacin, sern de observancia y aplicacin respecto de la/s cuenta/s de ahorros y servicios financieros conexos, as como las transacciones y operaciones sobre la cuenta de ahorros que mantenga EL CLIENTE con CAMBIOS VENTURA (en conjunto los Servicios Financieros?), en tanto no se contrapongan a otros de carcter especfico contenidos y/o derivados de contratos y/o solicitudes suscritas y/o aceptadas bajo cualquier medio o mecanismo entre EL CLIENTE y CAMBIOS VENTURA.\n" + "Ninguno de los trminos de este contrato exonera a EL CLIENTE de cumplir los requisitos y formalidades que la ley y/o CAMBIOS VENTURA exijan para la prestacin y/o realizacin de determinados servicios, y/o productos y/u operaciones y/o transacciones.\n\n", fontDescripcionContrato); //primer subtitulo y descripcion Chunk subtitulo1ContratoAhorro = new Chunk("OPERACIONES Y SERVICIOS FINANCIEROS EN GENERAL\n", fontSubtituloContrato); Chunk contenido1ContratoAhorro = new Chunk( "1. El presente contrato, concede a EL CLIENTE, el derecho de usar los productos y servicios de CAMBIOS VENTURA, que integran sus canales terminales de depsitos y/o retiros y Consulta, banca telefnica, banca Internet y aquellos otros que CAMBIOS VENTURA pudiera poner a disposicin de EL CLIENTE cualquier canal de distribucin que estime pertinente, tales como pgina Web, e-mail, mensaje de texto, mensajes, entre otros.\n" + "EL CLIENTE declara que CAMBIOS VENTURA ha cumplido con las disposiciones legales sobre transparencia en la informacin y en ese sentido le ha brindado en forma previa toda la informacin relevante.\n" + "2. Las partes acuerdan que la(s) cuenta(s) y/o el(los) depsito(s) que EL CLIENTE tuviese abiertos o constituidos y/o que abra o constituya en el futuro, podrn ser objeto de afiliaciones a prestaciones adicionales o de ampliaciones de los servicios que ofrece CAMBIOS VENTURA.\n\n", fontDescripcionContrato); //segundo subtitulo y descripcion Chunk subtitulo2ContratoAhorro = new Chunk("DISPOSICIONES GENERALES\n", fontSubtituloContrato); Chunk contenido2ContratoAhorro = new Chunk( "3. Queda acordado por las partes que, como consecuencia de variaciones en las condiciones de mercado, cambios en las estructuras de costos, decisiones comerciales internas, CAMBIOS VENTURA podr modificar las tasas de inters, que son fijas, comisiones y gastos aplicables a los Servicios Financieros, y en general, cualquiera de las condiciones aqu establecidas, debiendo comunicar la modificacin a EL CLIENTE con una anticipacin no menor a cuarenta y cinco (45) das calendario a la fecha o momento a partir de la cual entrar en vigencia la respectiva modificacin.\n" + "De no estar EL CLIENTE conforme con las modificaciones comunicadas tendr la facultad de dar por concluido el presente contrato de pleno derecho, sin penalizacin alguna cursando una comunicacin escrita a CAMBIOS VENTURA.\n" + "4. En caso que EL CLIENTE sea persona jurdica o persona natural representada por apoderados o representantes legales debidamente autorizados y registrados en CAMBIOS VENTURA, este ltimo no asumir responsabilidad alguna por las consecuencias de las operaciones que los citados representantes o apoderados hubieren efectuado en su representacin, an cuando sus poderes hubieren sido revocados o modificados, salvo que tales revocaciones o modificaciones hubieren sido puestas en conocimiento de CAMBIOS VENTURA por escrito y adjuntando los instrumentos pertinentes.\n" + "5. CAMBIOS VENTURA no asume responsabilidad alguna si por caso fortuito o de fuerza mayor no pudiera cumplir con cualquiera de las obligaciones materia del presente contrato y/o con las instrucciones de EL CLIENTE que tengan relacin con los Servicios Financieros, materia del presente contrato. En tales casos CAMBIOS VENTURA, sin responsabilidad alguna para s, dar cumplimiento a la obligacin y/o instruccin tan pronto desaparezca la causa que impidiera su atencin oportuna.\n" + "Se consideran como causas de fuerza mayor o caso fortuito, sin que la enumeracin sea limitativa, las siguientes: a) Interrupcin del sistema de cmputo, red de teleproceso local o de telecomunicaciones; b) Falta de fluido elctrico; c) Terremotos, incendios, inundaciones y otros similares; d) Actos y consecuencias de vandalismo, terrorismo y conmocin civil; e) Huelgas y paros; f) Actos y consecuencias imprevisibles debidamente justificadas por CAMBIOS VENTURA; g) Suministros y abastecimientos a sistemas y canales de distribucin de productos y servicios.\n\n", fontDescripcionContrato); //tercer subtitulo y descripcion Chunk subtitulo3ContratoAhorro = new Chunk( "CONDICIONES ESPECIALES APLICABLES A LAS CUENTAS DE AHORROS\n", fontSubtituloContrato); Chunk contenido3ContratoAhorro = new Chunk( "6. Las cuentas de depsito de ahorro estn sujetas a las disposiciones contenidas en el Art. 229 de la Ley 26702. CAMBIOS VENTURA entrega al titular de la cuenta su correspondiente comprobante de apertura. Toda cantidad que se abone y/o retire de la cuenta de depsito de ahorros constar en hojas sueltas o soportes mecnicos y/o informticos que se entregue a EL CLIENTE.\n\n", fontDescripcionContrato); //pie pagina contrato Chunk piePagina = new Chunk("Ayacucho" + ", " + fechaAhora, fontDescripcionContrato); tituloContrato.add(tituloContratoAhorro); contenidoContrato.add(descripcionContratoAhorro); contenidoContrato.add(subtitulo1ContratoAhorro); contenidoContrato.add(contenido1ContratoAhorro); contenidoContrato.add(subtitulo2ContratoAhorro); contenidoContrato.add(contenido2ContratoAhorro); contenidoContrato.add(subtitulo3ContratoAhorro); contenidoContrato.add(contenido3ContratoAhorro); piePaginaContrato.add(piePagina); document.add(tituloContrato); document.add(contenidoContrato); document.add(piePaginaContrato); } if (cuentaBancaria.getTipoCuenta().toString() == "PLAZO_FIJO") { //titulo y descripcion Chunk tituloContratoPF = new Chunk("CONTRATO DE DEPOSITO A PLAZO FIJO\n", fontTituloContrato); Chunk descripcionContratoPF = new Chunk( "El presente contrato regula las Condiciones que CASA DE CAMBIOS VENTURA?, en adelante CAMBIOS VENTURA, establece para el servicio de DEPOSITO A PLAZO FIJO que brindar a favor de EL CLIENTE, cuyas generales de ley y domicilio constan al final del presente documento.\n\n", fontDescripcionContrato); //primer subtitulo y descripcion Chunk subtitulo1ContratoPF = new Chunk("CONDICIONES GENERALES\n\n", fontSubtituloContrato); Chunk contenido1ContratoPF = new Chunk( "1. CAMBIOS VENTURA abre la cuenta de depsito a plazo fijo a solicitud de EL CLIENTE, con la informacin necesaria proporcionada por EL CLIENTE para su identificacin y manejo, la misma que tiene el carcter de declaracin jurada y que se obliga actualizar cuando exista algn cambio.\n" + "CAMBIOS VENTURA, se reserva el derecho de aceptar o denegar la solicitud de apertura de la(s) cuenta(s), as como verificar la informacin proporcionada. Tratndose de personas naturales, la(s) cuenta(s) de depsito podr(n) ser: i) Individuales; ii) Mancomunadas o conjuntas, a eleccin y libre decisin de EL CLIENTE. Las personas naturales, se identificarn y presentarn copia de su documento oficial de identidad y las Personas Jurdicas presentarn copia del Registro nico del Contribuyente, del documento de su constitucin y la acreditacin de sus representantes legales o apoderados con facultades suficientes para abrir y operar cuentas bancarias.\n" + "2. La(s) cuenta(s), sin excepcin alguna, que mantenga EL CLIENTE en CAMBIOS VENTURA, deber(n) ser manejada(s) personalmente por l o por sus representantes legales acreditados ante CAMBIOS VENTURA. Los menores de edad, los analfabetos, los que adolezcan de incapacidad relativa o absoluta, sern representados por personas autorizadas legalmente. La(s) cuenta(s) y todas las operaciones que sobre sta(s) realice(n) directamente EL CLIENTE o a travs de sus representantes a travs de los medios proporcionados por CAMBIOS VENTURA se considerarn hechas por EL CLIENTE, bajo su responsabilidad. Ser obligacin de EL CLIENTE comunicar a CAMBIOS VENTURA de cualquier designacin, modificacin o revocacin de poderes otorgados a sus representantes, acreditndose en su caso con los instrumentos pblicos o privados que se requieran conforme a las normas sobre la materia. Tratndose de cuentas mancomunadas conjuntas el retiro proceder en ventanilla con los titulares acreditados para tal fin.\n" + "3. Las partes acuerdan que CAMBIOS VENTURA pagar a EL CLIENTE una tasa de inters compensatoria efectiva anual que tenga vigente en su tarifario, para este tipo de operaciones pasivas, por el tiempo efectivo de permanencia de su(s) depsito(s), segn el periodo de capitalizacin pactado. En los casos en que CAMBIOS VENTURA considere el cobro de comisiones por los servicios prestados a EL CLIENTE, as como los gastos que haya tenido que asumir directamente con terceros derivados de la(s) operaciones solicitado(s) por EL CLIENTE.\n" + "4. El(los) depsito(s) podr(n) efectuarse en dinero en efectivo.\n" + "5. CAMBIOS VENTURA queda facultada por EL CLIENTE respecto a su(s) cuenta(s) de depsito a plazo fijo que mantenga para cargar el costo de comisiones, seguros, tributos y otros gastos.\n" + "6. Los fondos existentes en todos los depsitos que EL CLIENTE pudiera mantener en CAMBIOS VENTURA, podrn ser afectados para respaldar las obligaciones directas o indirectas, existentes o futuras, en cualquier moneda que EL CLIENTE adeude o que expresamente haya garantizado frente a CAMBIOS VENTURA, por capital, intereses, comisiones, tributos, gastos, u otro concepto, quedando CAMBIOS VENTURA facultada a aplicarlos de manera parcial o total para la amortizacin y/o cancelacin de dichas obligaciones, para tal efecto CAMBIOS VENTURA podr en cualquier momento, y a su slo criterio, realizar la consolidacin y/o la compensacin entre los saldos deudores y acreedores que EL CLIENTE pudiera tener en los depsitos que mantenga abiertos en CAMBIOS VENTURA, conforme a la Ley General del Sistema Financiero.\n" + "7. Realizar todas las operaciones de cambio de moneda que sean necesarias, y al tipo de cambio vigente en el da en que se realiza la operacin.\n" + "8. CAMBIOS VENTURA podr cerrar o cancelar la(s) cuenta(s) de depsito: a) A solicitud de EL CLIENTE y previo pago de todo saldo deudor u obligacin que pudiera mantener pendiente; b) Cuando sea informada por escrito o tome conocimiento del fallecimiento o liquidacin del patrimonio del titular.\n\n\n\n\n\n", fontDescripcionContrato); //pie pagina contrato Chunk piePagina = new Chunk("Ayacucho" + ", " + fechaAhora, fontDescripcionContrato); tituloContrato.add(tituloContratoPF); contenidoContrato.add(descripcionContratoPF); contenidoContrato.add(subtitulo1ContratoPF); contenidoContrato.add(contenido1ContratoPF); piePaginaContrato.add(piePagina); document.add(tituloContrato); document.add(contenidoContrato); document.add(piePaginaContrato); } if (cuentaBancaria.getTipoCuenta().toString() == "CORRIENTE") { //titulo y descripcion Chunk tituloContratoCC = new Chunk("CONTRATO DE CUENTA CORRIENTE Y SERVICIOS FINANCIEROS CONEXOS\n", fontTituloContrato); Chunk descripcionContratoCC = new Chunk( "Conste por el presente documento el CONTRATO DE CUENTA CORRIENTE Y SERVICIOS FINANCIEROS CONEXOS, que celebran, de una parte CASA DE CAMBIOS VENTURA?, a quien en adelante se le denominar CAMBIOS VENTURA, y de la otra parte EL CLIENTE, cuyas generales de Ley y su firma puesta en seal de conformidad y aceptacin de todos los trminos del presente contrato, constan en el presente instrumento.\n" + "Los trminos y condiciones de este contrato que constan a continuacin, sern de observancia y aplicacin respecto de la cuenta corriente y servicios financieros conexos, as como las transacciones y operaciones sobre las cuentas corrientes que mantenga EL CLIENTE con CAMBIOS VENTURA (en conjunto los Servicios Financieros?), en tanto no se contrapongan a otros de carcter especfico contenidos y/o derivados de contratos y/o solicitudes suscritas y/o aceptadas bajo cualquier medio o mecanismo entre EL CLIENTE y CAMBIOS VENTURA.\n" + "Ninguno de los trminos de este contrato exonera a EL CLIENTE de cumplir los requisitos y formalidades que la ley y/o CAMBIOS VENTURA exijan para la prestacin y/o realizacin de determinados servicios, y/o productos y/u operaciones y/o transacciones.\n\n", fontDescripcionContrato); //primer subtitulo y descripcion Chunk subtitulo1ContratoCC = new Chunk("OPERACIONES Y SERVICIOS FINANCIEROS EN GENERAL\n", fontSubtituloContrato); Chunk contenido1ContratoCC = new Chunk( "1. El presente contrato, concede a EL CLIENTE, el derecho de usar los productos y servicios de CAMBIOS VENTURA, que integran sus canales terminales de depsitos y/o retiros y Consulta, banca telefnica, banca Internet y aquellos otros que CAMBIOS VENTURA pudiera poner a disposicin de EL CLIENTE cualquier canal de distribucin que estime pertinente, tales como pgina Web, e-mail, mensaje de texto, mensajes, entre otros.\n" + "EL CLIENTE declara que CAMBIOS VENTURA ha cumplido con las disposiciones legales sobre transparencia en la informacin y en ese sentido le ha brindado en forma previa toda la informacin relevante.\n" + "2. Las partes acuerdan que la(s) cuenta(s) y/o el(los) depsito(s) que EL CLIENTE tuviese abiertos o constituidos y/o que abra o constituya en el futuro, podrn ser objeto de afiliaciones a prestaciones adicionales o de ampliaciones de los servicios que ofrece CAMBIOS VENTURA.\n\n", fontDescripcionContrato); //segundo subtitulo y descripcion Chunk subtitulo2ContratoCC = new Chunk("DISPOSICIONES GENERALES\n", fontSubtituloContrato); Chunk contenido2ContratoCC = new Chunk( "3. Queda acordado por las partes que, como consecuencia de variaciones en las condiciones de mercado, cambios en las estructuras de costos, decisiones comerciales internas, CAMBIOS VENTURA podr modificar las tasas de inters, que son fijas, comisiones y gastos aplicables a los Servicios Financieros, y en general, cualquiera de las condiciones aqu establecidas, debiendo comunicar la modificacin a EL CLIENTE con una anticipacin no menor a cuarenta y cinco (45) das calendario a la fecha o momento a partir de la cual entrar en vigencia la respectiva modificacin.\n" + "De no estar EL CLIENTE conforme con las modificaciones comunicadas tendr la facultad de dar por concluido el presente contrato de pleno derecho, sin penalizacin alguna cursando una comunicacin escrita a CAMBIOS VENTURA.\n" + "4. En caso que EL CLIENTE sea persona jurdica o persona natural representada por apoderados o representantes legales debidamente autorizados y registrados en CAMBIOS VENTURA, este ltimo no asumir responsabilidad alguna por las consecuencias de las operaciones que los citados representantes o apoderados hubieren efectuado en su representacin, aun cuando sus poderes hubieren sido revocados o modificados, salvo que tales revocaciones o modificaciones hubieren sido puestas en conocimiento de CAMBIOS VENTURA por escrito y adjuntando los instrumentos pertinentes.\n" + "5. CAMBIOS VENTURA no asume responsabilidad alguna si por caso fortuito o de fuerza mayor no pudiera cumplir con cualquiera de las obligaciones materia del presente contrato y/o con las instrucciones de EL CLIENTE que tengan relacin con los Servicios Financieros, materia del presente contrato. En tales casos CAMBIOS VENTURA, sin responsabilidad alguna para s, dar cumplimiento a la obligacin y/o instruccin tan pronto desaparezca la causa que impidiera su atencin oportuna.\n" + "Se consideran como causas de fuerza mayor o caso fortuito, sin que la enumeracin sea limitativa, las siguientes: a) Interrupcin del sistema de cmputo, red de teleproceso local o de telecomunicaciones; b) Falta de fluido elctrico; c) Terremotos, incendios, inundaciones y otros similares; d) Actos y consecuencias de vandalismo, terrorismo y conmocin civil; e) Huelgas y paros; f) Actos y consecuencias imprevisibles debidamente justificadas por CAMBIOS VENTURA; g) Suministros y abastecimientos a sistemas y canales de distribucin de productos y servicios.\n\n", fontDescripcionContrato); //tercer subtitulo y descripcion Chunk subtitulo3ContratoCC = new Chunk( "CONDICIONES ESPECIALES APLICABLES A LAS CUENTAS CORRIENTES\n", fontSubtituloContrato); Chunk contenido3ContratoCC = new Chunk( "6. Las cuentas de depsito, estn sujetas a las disposiciones contenidas en el Art. 229 de la Ley 26702. CAMBIOS VENTURA entrega al titular de la cuenta su correspondiente comprobante de apertura. Toda cantidad que se abone y/o retire de la cuenta de depsito de ahorros constar en hojas sueltas o soportes mecnicos y/o informticos que se entregue a EL CLIENTE.\n\n\n\n", fontDescripcionContrato); //pie pagina contrato Chunk piePagina = new Chunk("Ayacucho" + ", " + fechaAhora, fontDescripcionContrato); tituloContrato.add(tituloContratoCC); contenidoContrato.add(descripcionContratoCC); contenidoContrato.add(subtitulo1ContratoCC); contenidoContrato.add(contenido1ContratoCC); contenidoContrato.add(subtitulo2ContratoCC); contenidoContrato.add(contenido2ContratoCC); contenidoContrato.add(subtitulo3ContratoCC); contenidoContrato.add(contenido3ContratoCC); piePaginaContrato.add(piePagina); document.add(tituloContrato); document.add(contenidoContrato); document.add(piePaginaContrato); } 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(); }
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);/* ww w.j a v a 2 s . co 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;// w w w. j a v a 2 s . 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(); }
From source file:org.smap.sdal.managers.PDFTableManager.java
License:Open Source License
public void createPdf(Connection sd, OutputStream outputStream, ArrayList<ArrayList<KeyValue>> dArray, SurveyViewDefn mfc, ResourceBundle localisation, String tz, boolean landscape, String remoteUser, String basePath, String title, String project) { User user = null;/* w w w .j a v a2 s .c o m*/ UserManager um = new UserManager(localisation); try { user = um.getByIdent(sd, remoteUser); // Get fonts and embed them String os = System.getProperty("os.name"); log.info("Operating System:" + os); if (os.startsWith("Mac")) { FontFactory.register("/Library/Fonts/fontawesome-webfont.ttf", "Symbols"); FontFactory.register("/Library/Fonts/Arial Unicode.ttf", "default"); FontFactory.register("/Library/Fonts/NotoNaskhArabic-Regular.ttf", "arabic"); FontFactory.register("/Library/Fonts/NotoSans-Regular.ttf", "notosans"); } else if (os.indexOf("nix") >= 0 || os.indexOf("nux") >= 0 || os.indexOf("aix") > 0) { // Linux / Unix FontFactory.register("/usr/share/fonts/truetype/fontawesome-webfont.ttf", "Symbols"); FontFactory.register("/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf", "default"); FontFactory.register("/usr/share/fonts/truetype/NotoNaskhArabic-Regular.ttf", "arabic"); FontFactory.register("/usr/share/fonts/truetype/NotoSans-Regular.ttf", "notosans"); } Symbols = FontFactory.getFont("Symbols", BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 12); defaultFont = FontFactory.getFont("default", BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 10); ArrayList<PdfColumn> cols = getPdfColumnList(mfc, dArray, localisation); ArrayList<String> tableHeader = new ArrayList<String>(); for (PdfColumn col : cols) { tableHeader.add(col.displayName); } /* * Create a PDF without the stationary */ PdfWriter writer = null; /* * If we need to add a letter head then create document in two passes, the second pass adds the letter head * Else just create the document directly in a single pass */ Parser parser = getXMLParser(); // Step 1 - Create the underlying document as a byte array Document document = null; if (landscape) { document = new Document(PageSize.A4.rotate()); } else { document = new Document(PageSize.A4); } document.setMargins(marginLeft, marginRight, marginTop_1, marginBottom_1); writer = PdfWriter.getInstance(document, outputStream); writer.setInitialLeading(12); writer.setPageEvent(new PdfPageSizer(title, project, user, basePath, tableHeader, marginLeft, marginRight, marginTop_2, marginBottom_2)); document.open(); document.add(new Chunk("")); // Ensure there is something in the page so at least a blank document will be created processResults(parser, document, dArray, cols, basePath); document.close(); } catch (SQLException e) { log.log(Level.SEVERE, "SQL Error", e); } catch (Exception e) { log.log(Level.SEVERE, "Exception", e); } }
From source file:pdf.PdfBuilder.java
/** * Creates an accessible PDF with images and text. * @param dest the path to the resulting PDF * @throws IOException/*from w ww . jav a 2s. co m*/ * @throws DocumentException */ public String createPdf(Invoice invoice) throws IOException, DocumentException { DEST = "C://temp/"; SimpleDateFormat sdf = new SimpleDateFormat("MM"); DEST += invoice.getCar().getId() + "month" + sdf.format(invoice.getSeriesOfLocationsOnRoad().get(0).getLocations().get(0).getDate()) + ".pdf"; File file = new File(DEST); file.getParentFile().mkdirs(); Document document = new Document(PageSize.A4.rotate()); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(DEST)); writer.setPdfVersion(PdfWriter.VERSION_1_7); //TAGGED PDF //Make document tagged writer.setTagged(); //=============== //PDF/UA //Set document metadata writer.setViewerPreferences(PdfWriter.DisplayDocTitle); document.addLanguage("en-US"); document.addTitle("Factuur voor auto " + invoice.getCar().getLicensePlate()); writer.createXmpMetadata(); //===================== document.open(); Font font = FontFactory.getFont(FONT, BaseFont.WINANSI, BaseFont.EMBEDDED, 20); double amountPaidForDistance = invoice.getTotalAmount(); double amountPaidForCordons = 0; for (Cordon c : invoice.getCordonOccurrences()) { amountPaidForDistance -= c.getAmount(); amountPaidForCordons += c.getAmount(); } Paragraph p = new Paragraph("\n", font); p.add(new Chunk("Aantal gereden kilometers:")); p.add(new Chunk("\n")); p.add(new Chunk(String.valueOf(invoice.getTotalDistance()) + " kilometer")); p.add(new Chunk("\n")); p.add(new Chunk("Met een gemiddeld tarief van " + (amountPaidForDistance / invoice.getTotalDistance() * 100) + " eurocent per kilometer")); p.add(new Chunk("\n")); p.add(new Chunk("Bedrag dat betaald dient te worden over de kilometers: ")); p.add(new Chunk("\n")); p.add(new Chunk(amountPaidForDistance + " euro")); document.add(p); p = new Paragraph("\n\n", font); p.add(new Chunk(invoice.cordonOccurrencesString())); p.add(new Chunk("\n")); p.add(new Chunk("Bedrag dat betaald dient te worden over de cordons: ")); p.add(new Chunk("\n")); p.add(new Chunk(amountPaidForCordons + " euro")); document.add(p); p = new Paragraph("\n\n", font); p.add(new Chunk("Totaal bedrag dat betaald dient te worden: ")); p.add(new Chunk("\n")); p.add(new Chunk(String.valueOf(invoice.getTotalAmount()) + " euro")); document.add(p); document.close(); return DEST; }
From source file:Report.RelatorioBanca.java
/** * funcao para gerar o stream do relatorio * * @param banca/*from ww w . j av a 2 s. c om*/ * @param listaConvidados * @param coordenador * @param campus * @return ByteArrayOutputStream */ public ByteArrayOutputStream relatorioAtaDeDefesa(Banca banca, List<Convidado> listaConvidados, Professor coordenador, Campus campus) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); FacesContext faces = FacesContext.getCurrentInstance(); //pega o contexto da aplicacao String realPath = faces.getExternalContext().getRealPath("/"); try { BaseFont fHelvetica = BaseFont.createFont(BaseFont.HELVETICA, "Cp1252", false); //---------------------------------------------------------------------- // creation of the document with a certain size and certain margins // may want to use PageSize.LETTER instead Document document = new Document(PageSize.A4, 40, 40, 20, 50); document.addAuthor("SisGES"); // optional document.addSubject("Relatrio"); // opcional document.addKeywords("SisGES"); document.addCreator("iText"); //---------------------------------------------------------------------- // creation of the different writers //PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("web/resources/report/alunosMatriculados.pdf")); PdfWriter writer = PdfWriter.getInstance(document, baos); writer.setBoxSize("header", new Rectangle(36, 54, 559, 788)); //---------------------------------------------------------------------- // ADICIONA HEADER E FOOTER //---------------------------------------------------------------------- HeaderFooter headerFooter = new HeaderFooter(); headerFooter.setY(760f); writer.setPageEvent(headerFooter); //---------------------------------------------------------------------- // ABRE DOCUMENTO PARA ESCRITA //---------------------------------------------------------------------- document.open(); //---------------------------------------------------------------------- //ADICIONAR LOGO NO DOCUMENTO //---------------------------------------------------------------------- Image logoUfu = Image.getInstance(realPath + "/resources/images/logoUFUAta.png"); logoUfu.scaleAbsolute(155, 39);//(largura,altura) logoUfu.isImgTemplate(); //add no template document.add(logoUfu); //---------------------------------------------------------------------- //ADICIONAR CABEALHO //---------------------------------------------------------------------- PdfContentByte univ = writer.getDirectContentUnder(); univ.beginText(); univ.setFontAndSize(fHelvetica, 10); univ.setTextMatrix(349, 816); // x e y univ.showText("UNIVERSIDADE FEDERAL DE UBERLNDIA"); univ.setTextMatrix(405, 802); // x e y univ.showText("FACULDADE DE COMPUTAO"); univ.setTextMatrix(403, 788); // x e y univ.showText("COORDENADORIA DE ESTGIO "); univ.endText(); String info = "Campus Universitrio - " + campus.getNomecampus() + " - CEP " + campus.getCep() + " - " + campus.getCidade() + " - " + campus.getEstadosigla().toUpperCase(); Chunk txtCampus = new Chunk(info); Paragraph paragraph0 = new Paragraph(); paragraph0.setSpacingBefore(-10); paragraph0.setFont(new Font(fHelvetica, 7)); paragraph0.add(txtCampus); paragraph0.setAlignment(Element.ALIGN_RIGHT); document.add(paragraph0); info = "Telefone: " + coordenador.getTelefone() + " Email: " + coordenador.getEmail(); Chunk txtCoordenador = new Chunk(info); Paragraph paragraph1 = new Paragraph(); paragraph1.setSpacingBefore(-5); paragraph1.setSpacingAfter(10); paragraph1.setFont(new Font(fHelvetica, 7)); paragraph1.add(txtCoordenador); paragraph1.setAlignment(Element.ALIGN_RIGHT); document.add(paragraph1); // PdfContentByte univ = writer.getDirectContentUnder(); // univ.beginText(); // univ.setFontAndSize(fHelvetica, 12); // univ.setTextMatrix(200, 815); // x e y // univ.showText("UNIVERSIDADE FEDERAL DE UBERLNDIA"); // univ.setTextMatrix(235, 800); // x e y // univ.showText("FACULDADE DE COMPUTAO"); // univ.endText(); // // PdfContentByte univEnd = writer.getDirectContentUnder(); // univEnd.beginText(); // univEnd.setFontAndSize(fHelvetica, 7); // univEnd.setTextMatrix(210, 785); // x e y // univEnd.showText("Campus Universitrio - Santa Mnica - CEP 38408-100 - Uberlndia - MG"); // univEnd.setTextMatrix(260, 775); // x e y // univEnd.showText("Telefone: (34) 3239-4144 ou 3239-4393"); // univEnd.endText(); //---------------------------------------------------------------------- //ADICIONAR TITULO //---------------------------------------------------------------------- PdfContentByte curso = writer.getDirectContentUnder(); curso.beginText(); curso.setFontAndSize(fHelvetica, 14); curso.setTextMatrix(140, 720); // x e y String cursoAluno; //curso.showText("Curso de Bacharelado em Cincia da Computao"); cursoAluno = banca.getTrabalhoidtrabalho().getAlunomatricula().getCursoidcurso().getNomecurso(); if (cursoAluno.contains("sistema")) { cursoAluno = "Bacharelado em Sistemas de Informao"; } else { cursoAluno = "Bacharelado em Cincia da Computao"; } curso.showText("Curso de " + cursoAluno); curso.endText(); PdfContentByte titulo = writer.getDirectContentUnder(); titulo.beginText(); titulo.setFontAndSize(fHelvetica, 12); titulo.setTextMatrix(160, 660); // x e y titulo.showText("Ata de Defesa de Trabalho de Estgio Supervisionado"); titulo.endText(); //----------------------------------------------------------------------] String texto = "Ata da ___________ de defesa de Trabalho de Estgio Supervisionado, do Curso de Bacharelado " + "em Cincia da Computao, realizada em " + CalendarFormat.getDataBRtoDate(banca.getDatabanca()) + ", na " + banca.getLocalbanca() + ", s " + CalendarFormat.parseDateToTimeString(banca.getHorario()) + " horas, pelo aluno " + banca.getTrabalhoidtrabalho().getAlunomatricula().getNome() + " (" + banca.getTrabalhoidtrabalho().getAlunomatricula().getMatricula() + "). O trabalho " + "intitulado \"" + banca.getTrabalhoidtrabalho().getTitulo() + "\" foi apresentado pelo aluno em sesso pblica " + "com cerca de 1 hora de durao. Na ocasio, o aluno foi arguido oralmente pelos membros " + "da banca, sendo considerado ________________________ (aprovado/reprovado)."; Chunk chunk1 = new Chunk(texto); Paragraph paragraph = new Paragraph(); paragraph.setFont(new Font(fHelvetica, 12)); paragraph.setSpacingBefore(170); paragraph.add(chunk1); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraph); document.add(Chunk.NEWLINE); texto = "Carga horria total do estgio: ____________ horas (preenchido pela coordenao de estgios)"; Paragraph paragraph2 = new Paragraph(); paragraph2.setSpacingBefore(15); paragraph2.setFont(new Font(fHelvetica, 10)); paragraph2.add(texto); paragraph2.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraph2); document.add(Chunk.NEWLINE); Paragraph paragraph3 = new Paragraph(); paragraph3.setSpacingBefore(25); paragraph3.add("Uberlndia, " + CalendarFormat.getDataPorExtenso(banca.getDatabanca()) + "."); paragraph3.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraph3); document.add(Chunk.NEWLINE); //---------------------------------------------------------------------- PdfContentByte tituloMembros = writer.getDirectContentUnder(); tituloMembros.beginText(); tituloMembros.setFontAndSize(fHelvetica, 12); tituloMembros.setTextMatrix(220, 350); // x e y tituloMembros.showText("Membros da Banca Examinadora"); tituloMembros.endText(); //---------------------------------------------------------------------- float x = 160f; float y = 300f; // distancia do fim da pagina //retorna orientador //----------------------------------------------------- //linha PdfContentByte linhaOrientador = writer.getDirectContentUnder(); linhaOrientador.setLineWidth(1f); // mostrar linha linhaOrientador.setGrayStroke(0.5f); // 0 = preto, 1 = branco linhaOrientador.moveTo(x, y); linhaOrientador.lineTo(450f, y); // ate onde a linha vai linhaOrientador.stroke(); //------------------------------------------------------ //nome orientador PdfContentByte orientador = writer.getDirectContentUnder(); orientador.beginText(); orientador.setFontAndSize(fHelvetica, 12); orientador.setTextMatrix(x, y - 20); // x e y orientador.showText("Prof.Orientador - " + banca.getTrabalhoidtrabalho().getProfessorsiape().getNome()); orientador.setTextMatrix(x, y - 35); // x e y orientador.showText("Presidente da banca"); orientador.endText(); y = y - 100; //retorna convidados for (int i = 0; i < listaConvidados.size(); i++) { Convidado convidado = listaConvidados.get(i); if (convidado.getConfirmado() == true) { //----------------------------------------------------- //linha PdfContentByte linha = writer.getDirectContentUnder(); linha.setLineWidth(1f); // mostrar linha linha.setGrayStroke(0.5f); // 0 = preto, 1 = branco linha.moveTo(x, y); linha.lineTo(450f, y); // ate onde a linha vai linha.stroke(); //------------------------------------------------------ //nome convidado PdfContentByte conv = writer.getDirectContentUnder(); conv.beginText(); conv.setFontAndSize(fHelvetica, 12); conv.setTextMatrix(x, y - 20); // x e y conv.showText("Prof.Convidado - " + convidado.getProfessorsiape().getNome()); conv.endText(); //------------------------------------------------------ y = y - 80; } } //add nova pagina document.newPage(); //close document document.close(); } catch (DocumentException | IOException ex) { Logger.getLogger(RelatorioBanca.class.getName()).log(Level.SEVERE, null, ex); } //return stream return baos; }