List of usage examples for com.itextpdf.text Paragraph Paragraph
public Paragraph(Phrase phrase)
Paragraph
with a certain Phrase
. From source file:com.bicitools.dao.RutasDAODecorador.java
@Override public RespuestaJson exportarRecorridosRuta(String usuario, String fechaIni, String fechaFin, String archivo) { Ruta r = new Ruta(); RespuestaJson res = new RespuestaJson(); res = getRutasDAO().exportarRecorridosRuta(usuario, fechaIni, fechaFin, archivo); Vector qresul = null;/*from w w w .j a v a2s. c o m*/ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date fechaUno, fechaDos; try { fechaUno = formatter.parse(fechaIni); fechaDos = formatter.parse(fechaFin); } catch (ParseException ex) { String inputStr = "01-01-1900 00:00:00"; DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); try { fechaUno = dateFormat.parse(inputStr); } catch (Exception miex) { fechaUno = new java.util.Date(); } fechaDos = new java.util.Date(); } try { Query query = em.createNamedQuery("Ruta.findByUsuarioFechas"); query.setParameter("usuario", usuario); query.setParameter("fechaIni", fechaUno, TemporalType.TIMESTAMP); query.setParameter("fechaFin", fechaDos, TemporalType.TIMESTAMP); qresul = (Vector) query.getResultList(); if (qresul.size() > 0) { int i; ArrayList rta = new ArrayList(); // Se crea el documento Document documento = new Document(); // Se crea el OutputStream para el fichero donde queremos dejar el pdf. FileOutputStream ficheroPdf = null; //ficheroPdf = new FileOutputStream("/Users/jhony/Documents/Uni Andes/Fabricas/Bicitools/bicitools/reporte.pdf"); DateFormat dateFormat = new SimpleDateFormat("ddMMyyyy_HHmmss"); Date fechaReporte = new Date(); ficheroPdf = new FileOutputStream(archivo + "/Reporte_RutasRecorridos_" + usuario + "_" + dateFormat.format(fechaReporte) + ".pdf"); // Se asocia el documento al OutputStream y se indica que el espaciado entre // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento PdfWriter.getInstance(documento, ficheroPdf).setInitialLeading(20); // Se abre el documento. documento.open(); documento.add(new Paragraph("Reporte de Recorridos por Ruta para " + usuario)); documento.add(new Paragraph(" ")); Date fechaSalida = fechaUno; // Create an instance of SimpleDateFormat used for formatting DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String reportDate = df.format(fechaSalida); documento.add(new Paragraph("Fecha Inicial: " + reportDate)); fechaSalida = fechaDos; reportDate = df.format(fechaSalida); documento.add(new Paragraph("Fecha Final: " + reportDate)); documento.add(new Paragraph(" ")); documento.add(new Paragraph(" ")); for (i = 0; i < qresul.size(); i++) { PdfPTable tabla = new PdfPTable(3); Ruta miRuta = (Ruta) qresul.get(i); RutaPunto puntos = new RutaPunto(); DatosRutasRecorridosJson rutaSalida = new DatosRutasRecorridosJson(); //ruta //ArrayList<DatosLugaresJson> lugares = obtenerPuntosRutaUsuario(miRuta.getNombre()); //rutaSalida.setLugares(lugares); RutaPunto puntoUno; RutaPunto puntoDos; //ruta 1 rutaSalida.setNombre(miRuta.getNombre()); // Create an instance of SimpleDateFormat used for formatting df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); rutaSalida.setFechaHora(df.format(miRuta.getFechaCreacion())); //obtiene primer y ultimo punto puntoUno = obtenerPuntoRutaIndiceUsuario(miRuta.getNombre(), 0); puntoDos = obtenerPuntoRutaIndiceUsuario(miRuta.getNombre(), -1); //consumeServicio Tiempo y distancia final Gson prettyGson = new GsonBuilder().setPrettyPrinting().create(); DatosConsumoPuntoRutaJson entrada = new DatosConsumoPuntoRutaJson(); entrada.setLatitudOrigen(Double.parseDouble(puntoUno.getLatitud())); entrada.setLongitudOrigen(Double.parseDouble(puntoUno.getLongitud())); entrada.setLatitudDestino(Double.parseDouble(puntoDos.getLatitud())); entrada.setLongitudDestino(Double.parseDouble(puntoDos.getLongitud())); final String representacionBonita = prettyGson.toJson(entrada); res = ConsumeServicios.consumeTiempoDist(representacionBonita); if (res.getCodigo() == 0) { ArrayList<TiempoDistanciaInfo> datos; TiempoDistanciaInfo infoRuta; datos = res.getDatos(); infoRuta = (TiempoDistanciaInfo) datos.get(0); //rutaSalida.setDistancia(infoRuta.getDistancia().replace("\"","")); //rutaSalida.setTiempo(infoRuta.getTiempo().replace("\"","")); documento.add(new Paragraph("Nombre: " + miRuta.getNombre())); documento.add( new Paragraph("Distancia calculada: " + infoRuta.getDistancia().replace("\"", ""))); documento.add(new Paragraph("Tiempo estimado: " + infoRuta.getTiempo().replace("\"", ""))); documento.add(new Paragraph("-------Recorridos-----")); documento.add(new Paragraph(" ")); tabla.addCell(infoRuta.getDistancia().replace("\"", "")); tabla.addCell(infoRuta.getTiempo().replace("\"", "")); rutaSalida.setRecorridos(obtenerRecoRuta(usuario, fechaIni, fechaFin, miRuta.getNombre())); documento.add(new Paragraph("---------------------")); documento.add(new Paragraph(" ")); rta.add(rutaSalida); res = ConstruyeRespuesta.construyeRespuestaOk(); //res.setDatos(rta); documento.add(tabla); } } documento.add(new Paragraph(" ")); try { Image foto = Image.getInstance( "http://1.bp.blogspot.com/-fV-ThFg9bN0/UCr4VMFrJ-I/AAAAAAAAEYQ/-_vIDIYDLz8/s1600/dibujo-pintar-doki-bicicleta.jpg"); foto.scaleToFit(100, 100); foto.setAlignment(Chunk.ALIGN_CENTER); documento.add(foto); } catch (IOException | DocumentException e) { } documento.close(); } else { res = ConstruyeRespuesta.construyeRespuestaFalla("no hay datos " + qresul.size()); } } catch (Exception ex) { res = ConstruyeRespuesta.construyeRespuestaFalla("error " + ex.getMessage()); } //res.setDescripcion("numero de datos devueltos " + qresul.size()); return res; }
From source file:com.bicitools.dao.RutasDAODecorador.java
@Override public RespuestaJson exportarReporteMetricasUsuario(String usuario, String fechaIni, String fechaFin, String archivo) {//ww w. j a va 2s . c om RespuestaJson res = new RespuestaJson(); res = getRutasDAO().exportarReporteMetricasUsuario(usuario, fechaIni, fechaFin, archivo); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date fechaUno, fechaDos; try { fechaUno = formatter.parse(fechaIni); fechaDos = formatter.parse(fechaFin); } catch (ParseException ex) { String inputStr = "01-01-1900 00:00:00"; DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); try { fechaUno = dateFormat.parse(inputStr); } catch (Exception miex) { fechaUno = new java.util.Date(); } fechaDos = new java.util.Date(); } Query query = em.createNamedQuery("Ruta.findMetricasByUsuario"); query.setParameter("usuario", usuario); query.setParameter("fechaIni", fechaUno, TemporalType.TIMESTAMP); query.setParameter("fechaFin", fechaDos, TemporalType.TIMESTAMP); List<Object[]> qresul = query.getResultList(); if (qresul.size() > 0) { try { // Se crea el documento Document documento = new Document(); // Se crea el OutputStream para el fichero donde queremos dejar el pdf. FileOutputStream ficheroPdf = null; //ficheroPdf = new FileOutputStream("/Users/jhony/Documents/Uni Andes/Fabricas/Bicitools/bicitools/reporte.pdf"); DateFormat dateFormat = new SimpleDateFormat("ddMMyyyy_HHmmss"); Date fechaReporte = new Date(); ficheroPdf = new FileOutputStream( archivo + "/Reporte_" + usuario + "_" + dateFormat.format(fechaReporte) + ".pdf"); // Se asocia el documento al OutputStream y se indica que el espaciado entre // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento PdfWriter.getInstance(documento, ficheroPdf).setInitialLeading(20); // Se abre el documento. documento.open(); documento.add(new Paragraph("Reporte de Actividad para " + usuario)); documento.add(new Paragraph(" ")); /*documento.add(new Paragraph("Este es el segundo y tiene una fuente rara", FontFactory.getFont("arial", // fuente 22, // tamao Font.ITALIC, // estilo BaseColor.CYAN))); // color */ documento.add(new Paragraph("Fecha Inicial: " + fechaUno)); documento.add(new Paragraph("Fecha Final: " + fechaDos)); documento.add(new Paragraph(" ")); documento.add(new Paragraph(" ")); PdfPTable tabla = new PdfPTable(3); tabla.addCell("Fecha"); tabla.addCell("Tiempo"); tabla.addCell("Distancia"); int distanciaTotal = 0, tiempoTotal = 0; ArrayList<DatosMetricasReportesJson> rta = new ArrayList<>(); ArrayList<DatosMetricasUsuarioJson> lista = new ArrayList<>(); DatosMetricasReportesJson salida = new DatosMetricasReportesJson(); MetricasUsuario total = new MetricasUsuario(); lista.clear(); for (Object[] object : qresul) { Date fechaSalida = (Date) object[2]; // Create an instance of SimpleDateFormat used for formatting DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String reportDate = df.format(fechaSalida); tabla.addCell(reportDate); tabla.addCell((String) object[1]); tabla.addCell((String) object[0]); distanciaTotal += Integer.parseInt((String) object[0]); tiempoTotal += Integer.parseInt((String) object[1]); } documento.add(tabla); documento.add(new Paragraph(" ")); documento.add(new Paragraph("Tiempo Total: " + tiempoTotal)); documento.add(new Paragraph("Distancia Total: " + distanciaTotal)); documento.add(new Paragraph(" ")); try { Image foto = Image.getInstance( "http://1.bp.blogspot.com/-fV-ThFg9bN0/UCr4VMFrJ-I/AAAAAAAAEYQ/-_vIDIYDLz8/s1600/dibujo-pintar-doki-bicicleta.jpg"); foto.scaleToFit(100, 100); foto.setAlignment(Chunk.ALIGN_CENTER); documento.add(foto); } catch (Exception e) { e.printStackTrace(); } res = ConstruyeRespuesta.construyeRespuestaOk(); documento.close(); //res.setDatos(rta); } catch (DocumentException ex) { Logger.getLogger(RutasDAO.class.getName()).log(Level.SEVERE, null, ex); } catch (FileNotFoundException ex) { Logger.getLogger(RutasDAO.class.getName()).log(Level.SEVERE, null, ex); } } else { res = ConstruyeRespuesta.construyeRespuestaFalla("no hay datos " + qresul.size()); } return res; }
From source file:com.chaschev.itext.ParagraphBuilder.java
License:Apache License
public ParagraphBuilder withNew(final String content, @Nullable final java.lang.String cssStyleString) { element = new Paragraph(content); b.styles().apply(element, cssStyleString); return this; }
From source file:com.coderbd.pos.pdf.BarcodePdf.java
public void generateBarcodePdf(int amount) throws UnsupportedEncodingException { try {/*from w ww.jav a 2s . c om*/ String filename = directory + "\\" + barcodeData + ".pdf"; Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename)); document.open(); PdfContentByte cb = writer.getDirectContent(); Barcode128 code25 = new Barcode128(); code25.setGenerateChecksum(true); code25.setCode(barcodeData); code25.setSize(10f); code25.setX(1.50f); PdfPTable pdfPTable = new PdfPTable(3); float[] widths = { 0.45f, .10f, .45f }; pdfPTable.setWidths(widths); String codeName = getCodeName(shop.getShopName(), shop.getShopId(), amount); System.out.println("BarCodeName:" + codeName); Image image = code25.createImageWithBarcode(cb, null, null); Paragraph paragraph = new Paragraph(codeName); paragraph.setSpacingBefore(10.0f); PdfPCell title = new PdfPCell(paragraph); title.setBorder(Rectangle.NO_BORDER); PdfPCell barcodeCell = new PdfPCell(image, true); barcodeCell.setBorder(Rectangle.NO_BORDER); PdfPCell blank = new PdfPCell(); blank.setBorder(Rectangle.NO_BORDER); Paragraph blankParagraph = new Paragraph("- -"); PdfPCell pdfPCellBlank = new PdfPCell(blankParagraph); pdfPCellBlank.setBorder(Rectangle.NO_BORDER); for (int i = 0; i < barcodeQuantity; i++) { /** * This is for barcode pdf title */ pdfPTable.addCell(title); pdfPTable.addCell(blank); pdfPTable.addCell(title); /** * This is for barcode image */ pdfPTable.addCell(barcodeCell); pdfPTable.addCell(blank); pdfPTable.addCell(barcodeCell); /** * Blank space after barcode image */ pdfPTable.addCell(pdfPCellBlank); pdfPTable.addCell(blank); pdfPTable.addCell(pdfPCellBlank); } document.add(pdfPTable); document.close(); } catch (DocumentException | FileNotFoundException dex) { System.out.println(dex.getMessage()); } }
From source file:com.coderbd.pos.pdf.BarcodePdf.java
public void generateBarcodePdf(boolean fixedRate, Product p) throws UnsupportedEncodingException { try {/*from w w w.j av a 2s . c om*/ String filename = directory + "\\" + barcodeData + ".pdf"; Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename)); document.open(); PdfContentByte cb = writer.getDirectContent(); Barcode128 code25 = new Barcode128(); code25.setGenerateChecksum(true); code25.setCode(barcodeData); code25.setSize(10f); code25.setX(1.50f); PdfPTable pdfPTable = new PdfPTable(3); float[] widths = { 0.45f, .10f, .45f }; pdfPTable.setWidths(widths); String codeName = getCodeName(shop.getShopName(), shop.getShopId(), (int) p.getProductBuyRate()); System.out.println("BarCodeName:" + codeName); Image image = code25.createImageWithBarcode(cb, null, null); Paragraph paragraph = new Paragraph(codeName); paragraph.setSpacingBefore(10.0f); PdfPCell title = new PdfPCell(paragraph); title.setBorder(Rectangle.NO_BORDER); PdfPCell barcodeCell = new PdfPCell(image, true); barcodeCell.setBorder(Rectangle.NO_BORDER); PdfPCell blank = new PdfPCell(); blank.setBorder(Rectangle.NO_BORDER); Paragraph blankParagraph = new Paragraph("- -"); PdfPCell pdfPCellBlank = new PdfPCell(blankParagraph); pdfPCellBlank.setBorder(Rectangle.NO_BORDER); for (int i = 0; i < barcodeQuantity; i++) { /** * This is for barcode pdf title */ pdfPTable.addCell(title); pdfPTable.addCell(blank); pdfPTable.addCell(title); /** * This is for barcode image */ pdfPTable.addCell(barcodeCell); pdfPTable.addCell(blank); pdfPTable.addCell(barcodeCell); /** * Blank space after barcode image */ pdfPTable.addCell(pdfPCellBlank); pdfPTable.addCell(blank); pdfPTable.addCell(pdfPCellBlank); } document.add(pdfPTable); document.close(); } catch (DocumentException | FileNotFoundException dex) { System.out.println(dex.getMessage()); } }
From source file:com.cs.sis.controller.gerador.GeradorPDF.java
private PdfPTable getTableEstoqueProdutos(boolean valoresNegativos) throws DocumentException { double total_requisitado = 381624.18; Map<String, Double[]> saida = GeradorRelatorio.getRelatorioEstoqueProdutos(valoresNegativos); PdfPTable table = new PdfPTable(4); table.setWidths(new int[] { 5, 2, 1, 1 }); table.setWidthPercentage(100f);/*from w w w .j a v a 2 s . com*/ table.setSpacingBefore(10f); table.setSpacingAfter(10f); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell("Produto"); table.addCell("Quantidade em Estoque"); table.addCell("Valor de Compra"); table.addCell("SubTotal"); table.getDefaultCell().setBackgroundColor(null); double quantidade = 0, total = 0; List<String> c = new ArrayList<String>(); c.addAll(saida.keySet()); Collections.sort(c); for (String produto : c) { Double[] val = saida.get(produto); double qt, vc, sub; qt = val[0]; vc = val[1]; sub = val[0] * val[1]; if (qt > 0 && qt < 10000) { quantidade += qt; total += (qt * vc); table.addCell(produto); table.addCell(new DecimalFormat("0.000").format(qt)); table.addCell(new DecimalFormat("0.00").format(vc)); table.addCell(new DecimalFormat("0.00").format(qt * vc)); } else { continue; //table.addCell(new DecimalFormat("0.00").format(val[1])); //table.addCell(new DecimalFormat("0.000").format(0)); //table.addCell(new DecimalFormat("0.00").format(vc)); //table.addCell(new DecimalFormat("0.00").format(0)); } if (total_requisitado - 10 <= total && total <= total_requisitado + 10) { break; } } table.getDefaultCell().setBackgroundColor(new BaseColor(60, 171, 198)); PdfPCell cell = new PdfPCell(new Paragraph("Total")); cell.setColspan(2); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell(cell); //table.addCell(OperacaoStringUtil.formatarStringValorIntegerEPonto( // saida.size()) + " Produtos"); //table.addCell(OperacaoStringUtil.formatarStringQuantidadeEPonto(quantidade) // + " Itens"); String tot = OperacaoStringUtil.formatarStringValorMoedaComDescricaoEPonto(381624.18); PdfPCell cel2 = new PdfPCell(new Paragraph(tot)); cel2.setColspan(2); cel2.setHorizontalAlignment(Element.ALIGN_CENTER); cel2.setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell(cel2); //table.addCell(OperacaoStringUtil.formatarStringValorMoedaComDescricaoEPonto(total)); //System.out.println(total); return table; }
From source file:com.cs.sis.controller.gerador.GeradorPDF.java
private PdfPTable getTableEstoqueProdutos(boolean valoresNegativos, boolean paraLista, List<String> codigos_retirados, double total_requisitado) throws DocumentException { //double total_requisitado = 381624.18; Map<String, Double[]> saida = GeradorRelatorio.getRelatorioEstoqueProdutos(valoresNegativos, codigos_retirados);//from ww w . j a v a 2 s .co m PdfPTable table = new PdfPTable(4); table.setWidths(new int[] { 5, 2, 1, 1 }); table.setWidthPercentage(100f); table.setSpacingBefore(10f); table.setSpacingAfter(10f); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell("Produto"); table.addCell("Quantidade em Estoque"); table.addCell("Valor de Compra"); table.addCell("SubTotal"); table.getDefaultCell().setBackgroundColor(null); double quantidade = 0, total = 0; List<String> c = new ArrayList<String>(); c.addAll(saida.keySet()); Collections.sort(c); for (String produto : c) { if (paraLista && total_requisitado <= total) { break; } Double[] val = saida.get(produto); double qt, vc, sub; qt = val[0]; vc = val[1]; sub = val[0] * val[1]; if (qt > 0 && qt < 10000) { quantidade += qt; total += (qt * vc); table.addCell(produto); table.addCell(new DecimalFormat("0.000").format(qt)); table.addCell(new DecimalFormat("0.00").format(vc)); table.addCell(new DecimalFormat("0.00").format(qt * vc)); } else { continue; //table.addCell(new DecimalFormat("0.00").format(val[1])); //table.addCell(new DecimalFormat("0.000").format(0)); //table.addCell(new DecimalFormat("0.00").format(vc)); //table.addCell(new DecimalFormat("0.00").format(0)); } } table.getDefaultCell().setBackgroundColor(new BaseColor(60, 171, 198)); PdfPCell cell = new PdfPCell(new Paragraph("Total")); cell.setColspan(2); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell(cell); //table.addCell(OperacaoStringUtil.formatarStringValorIntegerEPonto( // saida.size()) + " Produtos"); //table.addCell(OperacaoStringUtil.formatarStringQuantidadeEPonto(quantidade) // + " Itens"); String tot = OperacaoStringUtil.formatarStringValorMoedaComDescricaoEPonto(total_requisitado); PdfPCell cel2 = new PdfPCell(new Paragraph(tot)); cel2.setColspan(2); cel2.setHorizontalAlignment(Element.ALIGN_CENTER); cel2.setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell(cel2); //table.addCell(OperacaoStringUtil.formatarStringValorMoedaComDescricaoEPonto(total)); //System.out.println(total); return table; }
From source file:com.cs.sis.controller.gerador.GeradorPDF.java
private PdfPTable getTableBalancoProdutos(Date inicio, Date fim) throws DocumentException { Map<String, Double[]> saida = GeradorRelatorio.getRelatorioDetalhadoSaidaProduto(inicio, fim); PdfPTable table = new PdfPTable(5); table.setWidths(new int[] { 5, 1, 1, 1, 1 }); table.setWidthPercentage(100f);//w w w . jav a 2 s. co m table.setSpacingBefore(10f); table.setSpacingAfter(10f); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell("Produto"); table.addCell("Estoque"); table.addCell("Compra"); table.addCell("Venda"); table.addCell("Lucro"); table.getDefaultCell().setBackgroundColor(null); double compra = 0, venda = 0, lucro = 0, qt = 0; List<String> c = new ArrayList<String>(); c.addAll(saida.keySet()); Collections.sort(c); for (String produto : c) { table.addCell(produto); Double[] val = saida.get(produto); compra += val[0]; venda += val[1]; lucro += val[3]; qt += val[2]; table.addCell(new DecimalFormat("0.000").format(val[2])); table.addCell(new DecimalFormat("0.00").format(val[0])); table.addCell(new DecimalFormat("0.00").format(val[1])); table.addCell(new DecimalFormat("0.00").format(val[3])); } table.getDefaultCell().setBackgroundColor(new BaseColor(60, 171, 198)); PdfPCell cell = new PdfPCell(new Paragraph("Total")); cell.setColspan(5); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell(cell); table.addCell(saida.size() + " Produtos"); table.addCell(new DecimalFormat("0.000").format(qt)); table.addCell(new DecimalFormat("0.00").format(compra)); table.addCell(new DecimalFormat("0.00").format(venda)); table.addCell(new DecimalFormat("0.00").format(lucro)); return table; }
From source file:com.cs.sis.controller.gerador.GeradorPDF.java
private PdfPTable getTableDebitoClientes(double maiorQue) throws DocumentException { List<Object[]> debitos = GeradorRelatorio.getRelatorioClientesComDebitoMaiorQue(maiorQue); PdfPTable table = new PdfPTable(2); table.setWidths(new int[] { 5, 2 }); table.setWidthPercentage(100f);//from w ww . j a v a 2 s. c o m table.setSpacingBefore(10f); table.setSpacingAfter(10f); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell("Cliente"); table.addCell("Dbito"); table.getDefaultCell().setBackgroundColor(null); double total = 0; for (Object[] d : debitos) { table.addCell((String) d[0]); double val = (double) d[1]; table.addCell(OperacaoStringUtil.formatarStringValorMoedaEPonto(val)); total += val; } table.getDefaultCell().setBackgroundColor(new BaseColor(60, 171, 198)); PdfPCell cell = new PdfPCell(new Paragraph("Total")); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(new BaseColor(60, 171, 198)); table.addCell(cell); table.addCell(OperacaoStringUtil.formatarStringValorMoedaComDescricaoEPonto(total)); table.addCell("Quantidade de Clientes"); table.addCell(OperacaoStringUtil.formatarStringValorInteger(debitos.size())); return table; }
From source file:com.datamyne.charts.FinallyDemo.java
License:Apache License
/** * Creates PDf file.// w w w. j a v a 2s . c o m * @param outputStream {@link OutputStream}. * @throws DocumentException * @throws IOException */ public void create(OutputStream outputStream) throws DocumentException, IOException { Document document = null; PdfWriter writer = null; try { //instantiate document and writer document = new Document(); writer = PdfWriter.getInstance(document, outputStream); //open document document.open(); //get dummy text String text = getText(); //create text font com.itextpdf.text.Font font = new com.itextpdf.text.Font(FontFamily.TIMES_ROMAN, 10.0f); //add text before document.add(new Paragraph(new Chunk(text, font))); //add image int width = 300; int height = 300; JFreeChart chart = getChart(); //create PdfContentByte //if you work with this object, you write to //the top most layer, meaning anything behind //will be clipped PdfContentByte contentByte = writer.getDirectContent(); //create PdfTemplate from PdfContentByte PdfTemplate template = contentByte.createTemplate(width, height); //create Graphics2D from PdfTemplate Graphics2D g2 = template.createGraphics(width, height, new DefaultFontMapper()); //setup the drawing area Rectangle2D r2D = new Rectangle2D.Double(0, 0, width, height); //pass the Graphics2D and drawing area to JFreeChart chart.draw(g2, r2D, null); g2.dispose(); //always dispose this //create Image from PdfTemplate Image image = Image.getInstance(template); document.add(image); //add text after document.add(new Paragraph(new Chunk(text, font))); //release resources document.close(); document = null; writer.close(); writer = null; } catch (DocumentException de) { throw de; } finally { //release resources if (null != document) { try { document.close(); } catch (Exception ex) { } } if (null != writer) { try { writer.close(); } catch (Exception ex) { } } } }