List of usage examples for com.itextpdf.text Element ALIGN_LEFT
int ALIGN_LEFT
To view the source code for com.itextpdf.text Element ALIGN_LEFT.
Click Source Link
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 . j a v a 2 s. c o m*/ 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 boolean addActorsContactNumbers(PdfPTable table, PdfPCell cell, String contactNumber, String contactNoType, int iActorColumns, BaseColor color, boolean isFirstContactNo) { String[] contactNumberList = contactNumber.split(","); if (contactNumberList.length == 1) { if (isFirstContactNo) { addCell(cell, table, contactNoType, Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, contactNumberList[0], Element.ALIGN_LEFT, normalFont, color); isFirstContactNo = false;//from w w w . java2s . c o m } else { for (int j = 1; j < iActorColumns - 1; j++) addCell(cell, table, blankField, Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, contactNoType, Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, contactNumberList[0], Element.ALIGN_LEFT, normalFont, color); } } else if (contactNumberList.length > 1) { for (int i = 0; i < contactNumberList.length; i++) { if (i == 0 && isFirstContactNo) { addCell(cell, table, contactNoType, Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, contactNumberList[i], Element.ALIGN_LEFT, normalFont, color); isFirstContactNo = false; } else { for (int j = 1; j < iActorColumns - 1; j++) addCell(cell, table, blankField, Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, contactNoType, Element.ALIGN_LEFT, normalFont, color); addCell(cell, table, contactNumberList[i], Element.ALIGN_LEFT, normalFont, color); } } } return isFirstContactNo; }
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 ww w . j a v a2 s . c om*/ 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 2s . 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 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);/*w ww. ja v a2s .c o m*/ } CuentaBancariaView cuentaBancariaView = cuentaBancariaServiceNT.findById(idCuentaBancaria); List<EstadocuentaBancariaView> list = cuentaBancariaServiceNT.getEstadoCuenta(idCuentaBancaria, dateDesde, dateHasta); /**obteniendo la moneda y dando formato**/ Moneda moneda = monedaServiceNT.findById(cuentaBancariaView.getIdMoneda()); NumberFormat df1 = NumberFormat.getCurrencyInstance(); DecimalFormatSymbols dfs = new DecimalFormatSymbols(); dfs.setCurrencySymbol(""); dfs.setGroupingSeparator(','); dfs.setMonetaryDecimalSeparator('.'); ((DecimalFormat) df1).setDecimalFormatSymbols(dfs); /**PDF**/ ByteArrayOutputStream outputStream = null; outputStream = new ByteArrayOutputStream(); Document document = new Document(); try { PdfWriter.getInstance(document, outputStream); document.open(); document.addTitle("Estado de Cuenta"); document.addSubject("Estado de Cuenta"); document.addKeywords("email"); document.addAuthor("Cooperativa de Ahorro y Crdito Caja Ventura"); document.addCreator("Cooperativa de Ahorro y Crdito Caja Ventura"); Paragraph saltoDeLinea = new Paragraph(); document.add(saltoDeLinea); } catch (DocumentException e1) { e1.printStackTrace(); } /******************* TITULO ******************/ try { //Image img = Image.getInstance("/images/logo_coop_contrato.png"); Image img = Image.getInstance("//usr//share//jboss//archivos//logoCartilla//logo_coop_contrato.png"); img.setAlignment(Image.LEFT | Image.UNDERLYING); document.add(img); Paragraph parrafoPrincipal = new Paragraph(); parrafoPrincipal.setSpacingAfter(30); //parrafoPrincipal.setSpacingBefore(50); parrafoPrincipal.setAlignment(Element.ALIGN_CENTER); parrafoPrincipal.setIndentationLeft(100); parrafoPrincipal.setIndentationRight(50); Paragraph parrafoSecundario = new Paragraph(); parrafoSecundario.setSpacingAfter(20); parrafoSecundario.setSpacingBefore(-20); parrafoSecundario.setAlignment(Element.ALIGN_LEFT); parrafoSecundario.setIndentationLeft(160); parrafoSecundario.setIndentationRight(10); Chunk titulo = new Chunk("ESTADO DE CUENTA"); Font fuenteTitulo = new Font(FontFamily.UNDEFINED, 13, Font.BOLD); titulo.setFont(fuenteTitulo); parrafoPrincipal.add(titulo); Font fuenteDatosCliente = new Font(FontFamily.UNDEFINED, 10); Date fechaSistema = new Date(); SimpleDateFormat formatFecha = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); String fechaActual = formatFecha.format(fechaSistema); if (cuentaBancariaView.getTipoPersona() == TipoPersona.NATURAL) { Chunk clientePNNombres = new Chunk("CLIENTE : " + cuentaBancariaView.getSocio() + "\n"); Chunk clientePNDni = new Chunk(cuentaBancariaView.getTipoDocumento() + " : " + cuentaBancariaView.getNumeroDocumento() + "\n"); //Chunk clientePNTitulares = new Chunk("TITULAR(ES): " + cuentaBancariaView.getTitulares() + "\n"); Chunk clientePNFecha = new Chunk("FECHA : " + fechaActual + "\n\n"); Chunk tipoCuentaPN = new Chunk("CUENTA " + cuentaBancariaView.getTipoCuenta() + " N " + cuentaBancariaView.getNumeroCuenta() + "\n"); Chunk tipoMonedaPN; if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ZERO) == 0) { tipoMonedaPN = new Chunk("MONEDA: " + "DOLARES AMERICANOS" + "\n"); } else if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ONE) == 0) { tipoMonedaPN = new Chunk("MONEDA: " + "NUEVOS SOLES" + "\n"); } else { tipoMonedaPN = new Chunk("MONEDA: " + "EUROS" + "\n"); } Chunk fechaEstadoCuenta = new Chunk("ESTADO DE CUENTA DEL " + fechaDesde + " AL " + fechaHasta); //obteniedo titulares /*String tPN = cuentaBancariaView.getTitulares(); String[] arrayTitulares = tPN.split(","); Chunk clientePNTitulares = new Chunk("Titular(es):"); for (int i = 0; i < arrayTitulares.length; i++) { String string = arrayTitulares[i]; }*/ clientePNNombres.setFont(fuenteDatosCliente); clientePNDni.setFont(fuenteDatosCliente); //clientePNTitulares.setFont(fuenteDatosCliente); clientePNFecha.setFont(fuenteDatosCliente); tipoCuentaPN.setFont(fuenteDatosCliente); tipoMonedaPN.setFont(fuenteDatosCliente); fechaEstadoCuenta.setFont(fuenteDatosCliente); parrafoSecundario.add(clientePNNombres); parrafoSecundario.add(clientePNDni); //parrafoSecundario.add(clientePNTitulares); parrafoSecundario.add(clientePNFecha); parrafoSecundario.add(tipoCuentaPN); parrafoSecundario.add(tipoMonedaPN); parrafoSecundario.add(fechaEstadoCuenta); } else { Chunk clientePJNombre = new Chunk("CLIENTE : " + cuentaBancariaView.getSocio() + "\n"); Chunk clientePJRuc = new Chunk(cuentaBancariaView.getTipoDocumento() + " : " + cuentaBancariaView.getNumeroDocumento() + "\n"); //Chunk clientePJTitulares = new Chunk("TITULAR(ES): " + cuentaBancariaView.getTitulares() + "\n"); Chunk clientePJFecha = new Chunk("FECHA : " + fechaActual + "\n\n"); Chunk tipoCuentaPJ = new Chunk("CUENTA " + cuentaBancariaView.getTipoCuenta() + " N " + cuentaBancariaView.getNumeroCuenta() + "\n"); Chunk tipoMonedaPJ; if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ZERO) == 0) { tipoMonedaPJ = new Chunk("MONEDA: " + "DOLARES AMERICANOS" + "\n"); } else if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ONE) == 0) { tipoMonedaPJ = new Chunk("MONEDA: " + "NUEVOS SOLES" + "\n"); } else { tipoMonedaPJ = new Chunk("MONEDA: " + "EUROS" + "\n"); } Chunk fechaEstadoCuenta = new Chunk("ESTADO DE CUENTA DEL " + fechaDesde + " AL " + fechaHasta); //obteniedo titulares /*String tPN = cuentaBancariaView.getTitulares(); String[] arrayTitulares = tPN.split(","); Chunk clientePNTitulares = new Chunk("Titular(es):"); for (int i = 0; i < arrayTitulares.length; i++) { String string = arrayTitulares[i]; }*/ clientePJNombre.setFont(fuenteDatosCliente); clientePJRuc.setFont(fuenteDatosCliente); //clientePJTitulares.setFont(fuenteDatosCliente); clientePJFecha.setFont(fuenteDatosCliente); tipoCuentaPJ.setFont(fuenteDatosCliente); tipoMonedaPJ.setFont(fuenteDatosCliente); fechaEstadoCuenta.setFont(fuenteDatosCliente); parrafoSecundario.add(clientePJNombre); parrafoSecundario.add(clientePJRuc); //parrafoSecundario.add(clientePJTitulares); parrafoSecundario.add(clientePJFecha); parrafoSecundario.add(tipoCuentaPJ); parrafoSecundario.add(tipoMonedaPJ); parrafoSecundario.add(fechaEstadoCuenta); } document.add(parrafoPrincipal); document.add(parrafoSecundario); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Font fontTableCabecera = new Font(FontFamily.UNDEFINED, 9, Font.BOLD); Font fontTableCuerpo = new Font(FontFamily.UNDEFINED, 9, Font.NORMAL); float[] columnWidths = { 5f, 4f, 2.8f, 10f, 3.5f, 4f, 2.8f }; PdfPTable table = new PdfPTable(columnWidths); table.setWidthPercentage(100); PdfPCell cellFechaHoraCabecera = new PdfPCell(new Paragraph("FECHA Y HORA", fontTableCabecera)); PdfPCell cellTransaccionCabecera = new PdfPCell(new Paragraph("TIPO TRANS.", fontTableCabecera)); PdfPCell cellOperacionCabecera = new PdfPCell(new Paragraph("NUM. OP.", fontTableCabecera)); PdfPCell cellReferenciaCabecera = new PdfPCell(new Paragraph("REFERENCIA", fontTableCabecera)); PdfPCell cellMontoCabecera = new PdfPCell(new Paragraph("MONTO", fontTableCabecera)); PdfPCell cellSaldoDisponibleCabecera = new PdfPCell(new Paragraph("DISPONIBLE", fontTableCabecera)); PdfPCell cellEstado = new PdfPCell(new Paragraph("ESTADO", fontTableCabecera)); table.addCell(cellFechaHoraCabecera); table.addCell(cellTransaccionCabecera); table.addCell(cellOperacionCabecera); table.addCell(cellReferenciaCabecera); table.addCell(cellMontoCabecera); table.addCell(cellSaldoDisponibleCabecera); table.addCell(cellEstado); for (EstadocuentaBancariaView estadocuentaBancariaView : list) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm"); String fecHoraFormat = sdf.format(estadocuentaBancariaView.getHora()); PdfPCell cellFechaHora = new PdfPCell(new Paragraph(fecHoraFormat, fontTableCuerpo)); table.addCell(cellFechaHora); PdfPCell cellTipoTrasaccion = new PdfPCell( new Paragraph(estadocuentaBancariaView.getTipoTransaccionTransferencia(), fontTableCuerpo)); table.addCell(cellTipoTrasaccion); PdfPCell cellNumOperacion = new PdfPCell( new Paragraph(estadocuentaBancariaView.getNumeroOperacion().toString(), fontTableCuerpo)); table.addCell(cellNumOperacion); PdfPCell cellReferencia = new PdfPCell( new Paragraph(estadocuentaBancariaView.getReferencia(), fontTableCuerpo)); table.addCell(cellReferencia); PdfPCell cellMonto = new PdfPCell( new Paragraph(df1.format(estadocuentaBancariaView.getMonto()), fontTableCuerpo)); table.addCell(cellMonto); PdfPCell cellSaldoDisponible = new PdfPCell( new Paragraph(df1.format(estadocuentaBancariaView.getSaldoDisponible()), fontTableCuerpo)); table.addCell(cellSaldoDisponible); if (estadocuentaBancariaView.getEstado()) { PdfPCell cellEstadoActivo = new PdfPCell(new Paragraph("Activo", fontTableCuerpo)); table.addCell(cellEstadoActivo); } else { PdfPCell cellEstadoExtornado = new PdfPCell(new Paragraph("Extornado", fontTableCuerpo)); table.addCell(cellEstadoExtornado); } } Paragraph saldoDisponible = new Paragraph(); saldoDisponible.setAlignment(Element.ALIGN_CENTER); Chunk textoSaldoDisponible = new Chunk( "SALDO DISPONIBLE: " + moneda.getSimbolo() + df1.format(cuentaBancariaView.getSaldo()), fontTableCabecera); textoSaldoDisponible.setFont(fontTableCabecera); saldoDisponible.add(textoSaldoDisponible); try { document.add(table); document.add(saldoDisponible); } catch (DocumentException e) { e.printStackTrace(); } document.close(); return Response.ok(outputStream.toByteArray()).type("application/pdf").build(); }
From source file:org.tvd.thptty.management.report.Report.java
private void addContent(Document document, int kind) throws DocumentException { //Anchor anchor = new Anchor(tableTitle, tahomaLargeFont); //anchor.setName("Bang Diem"); // Second parameter is the number of the chapter //Chapter catPart = new Chapter(new Paragraph(anchor), 1); //Paragraph subPara = new Paragraph(createdBy, tahomaLargeFont); Paragraph header = new Paragraph(tableTitle, tahomaLargeFont); header.setAlignment(Element.ALIGN_LEFT); header.add(new Paragraph(createdBy, tahomaLargeFont)); addEmptyLine(header, 1);//from w w w. j a v a2s .c o m //Section subCatPart = catPart.addSection(subPara); Paragraph paragraph = new Paragraph(); // Add a table if (kind == 1) { paragraph.add(createSubjectPointTable()); } else if (kind == 2) { paragraph.add(createStatisticsStudentPointTable()); } header.add(paragraph); // Now add all this to the document document.add(header); }
From source file:org.yougi.web.report.EventAttendeeCertificate.java
License:Open Source License
public void generateCertificate(Attendee attendee) throws DocumentException { Font helvetica = new Font(Font.FontFamily.HELVETICA, 12); BaseFont baseFont = helvetica.getCalculatedBaseFont(false); canvas.saveState();//from w ww. j a va 2 s. co m canvas.beginText(); canvas.setFontAndSize(baseFont, 12); canvas.showTextAligned(Element.ALIGN_LEFT, "Validation code: " + attendee.getCertificateCode() + " ( http://www.cejug.net/certificate_validation.xhtml) ", 30, 30, 0); canvas.endText(); canvas.restoreState(); String[] contentLine = new String[8]; contentLine[0] = "Certificamos que"; contentLine[1] = attendee.getCertificateFullname(); contentLine[2] = "participou do evento"; contentLine[3] = attendee.getCertificateEvent(); contentLine[4] = "realizado na"; contentLine[5] = attendee.getCertificateVenue(); contentLine[6] = "no dia " + DateTimeUtils.getFormattedDate(attendee.getCertificateDate(), "dd.MM.yyyy"); Font normalFont = new Font(Font.FontFamily.HELVETICA, 24); Font largeFont = new Font(Font.FontFamily.HELVETICA, 28, Font.FontStyle.BOLD.ordinal()); Paragraph p; for (int i = 0; i < 5; i++) { p = new Paragraph(" ", normalFont); this.document.add(p); } Font currentFont = normalFont; for (int i = 0; i < contentLine.length; i++) { p = new Paragraph(contentLine[i], currentFont); p.setAlignment(Element.ALIGN_CENTER); this.document.add(p); currentFont = currentFont.equals(normalFont) ? largeFont : normalFont; } }
From source file:Output.QuotePDf.java
private PdfPTable shipperInformationTable(String personnelInformation) throws DocumentException { PdfPTable table = new PdfPTable(4); table.setHorizontalAlignment(Element.ALIGN_LEFT); float[] columnWidths = new float[] { 30f, 70f, 20f, 80f }; table.setWidths(columnWidths);/*from ww w .j a va 2s .com*/ cell = new PdfPCell(new Phrase("Quote ID:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(quoteID, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Date:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(date, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Company:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(company, textFont)); cell.setColspan(3); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Customer:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(customerName, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Email:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(customerEmail, emailTextFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Quote Type:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(status, textFont)); cell.setColspan(3); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Quoted By:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(personnelInformation, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Email:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(groupEmail, emailTextFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); return table; }
From source file:Output.QuotePDf.java
private PdfPTable commodityTable() throws DocumentException { PdfPTable table = new PdfPTable(4); table.setHorizontalAlignment(Element.ALIGN_LEFT); float[] columnWidths = new float[] { 55f, 70f, 55f, 65f }; table.setWidths(columnWidths);/* ww w. jav a2 s .c o m*/ cell = new PdfPCell(new Phrase("Port(s) of Load:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(pol, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("via:", labelFont)); cell.setColspan(1); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(tship, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Port(s) of Discharge:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(pod, textFont)); cell.setColspan(3); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Commodity:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(commodityClass, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Handling:", labelFont)); cell.setColspan(1); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(cargoHandling, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Accompanying:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); if (accessories) { cell = new PdfPCell(new Phrase(accessories_accompanying, textFont)); cell.setColspan(3); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); } else { cell = new PdfPCell(new Phrase("N/A", textFont)); cell.setColspan(3); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); } cell = new PdfPCell(new Phrase("Description", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(description, textFont)); cell.setColspan(3); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); return table; }
From source file:Output.QuotePDf.java
private PdfPTable rateTable() throws DocumentException { PdfPTable table = new PdfPTable(2); table.setHorizontalAlignment(Element.ALIGN_LEFT); float[] columnWidths = new float[] { 35f, 75f }; table.setWidths(columnWidths);/*from w w w.jav a2 s .c om*/ table.setSpacingAfter(10f); cell = new PdfPCell(new Phrase("Base Ocean Freight:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(oft, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("MAFI Minimum Charge:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); if (includeMafiMinimum) { cell = new PdfPCell(new Phrase("$" + mafiMinimum + " per MAFI unit.", textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); } else { cell = new PdfPCell(new Phrase("N/A", textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); } cell = new PdfPCell(new Phrase("Subject To:", subjectToFont)); cell.setColspan(2); cell.setBorder(Rectangle.NO_BORDER); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); cell = new PdfPCell(new Phrase("Bunker Adjustment Factor:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(baf, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("ECA Surcharge:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(eca, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Terminal Handling (Origin):", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(thc, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Wharfage (Origin):", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(wfg, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("Documentation Fee:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(doc, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase("War Risk Surcharge:", labelFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); if (includeWarRisk) { cell = new PdfPCell(new Phrase(wRsk, textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); } else { cell = new PdfPCell(new Phrase("N/A", textFont)); cell.setColspan(1); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); } return table; }