Example usage for com.itextpdf.text Document add

List of usage examples for com.itextpdf.text Document add

Introduction

In this page you can find the example usage for com.itextpdf.text Document add.

Prototype


public boolean add(Element element) throws DocumentException 

Source Link

Document

Adds an Element to the Document.

Usage

From source file:com.miraflorescarwash.controller.PdfController.java

private void crearPdfCliente(Document doc, Cliente cliente) {
    Paragraph parrafo;/*from   www.j  a  v a 2 s  . c om*/
    PdfPTable tabla;
    String txt;
    PdfPCell cell;
    Phrase frase;
    String fuente;
    int i;

    fuente = "arial";
    try {
        //

        // Se abre el documento.
        doc.open();

        txt = "Miraflores Car Wash";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 10, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        txt = "Cliente: " + cliente.getNombres();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 30, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_CENTER);

        doc.add(parrafo);
        LineSeparator ls = new LineSeparator();
        doc.add(new Chunk(ls));

        doc.add(Chunk.NEWLINE);

        txt = "Datos del Cliente";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 20, Font.UNDERLINE, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Id: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getId() + "";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Nombres: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getNombres();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Apellidos: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getApellidos();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Dni: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getDni();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Email: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getEmail();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Telefono: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getTelefono();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Carros:";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        tabla = new PdfPTable(4);
        frase = new Phrase("Id", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Modelo", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Marca", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Placa", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        i = 1;
        for (Carro carro : cliente.getCarros()) {

            if (i % 2 == 0) {
                cell = new PdfPCell();
                cell.setBackgroundColor(new BaseColor(244, 119, 119));

                frase = new Phrase(carro.getId() + "");
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(carro.getModelo().getNombre());
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(carro.getMarca());
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(carro.getPlaca());
                cell.setPhrase(frase);
                tabla.addCell(cell);
            } else {
                tabla.addCell(carro.getId() + "");
                tabla.addCell(carro.getModelo().getNombre());
                tabla.addCell(carro.getMarca());
                tabla.addCell(carro.getPlaca());
            }
            i++;
        }
        doc.add(tabla);
        doc.close();
    } catch (DocumentException ex) {

    }
}

From source file:com.miraflorescarwash.controller.PdfController.java

private void crearPdfClienteCreditoDisponible(Document doc, List<CreditoDisponibleCliente> reporte) {
    Paragraph parrafo;// ww w. j  a  v a 2s.  co m
    PdfPTable tabla;
    String txt;
    PdfPCell cell;
    Phrase frase;
    String fuente;
    CreditoDisponibleCliente cliente;
    int i;

    fuente = "arial";
    if (reporte.isEmpty()) {
        return;
    }
    cliente = reporte.get(0);
    try {
        //

        // Se abre el documento.
        doc.open();

        txt = "Miraflores Car Wash";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 10, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        txt = "Cliente: " + cliente.getNombres();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 30, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_CENTER);

        doc.add(parrafo);
        LineSeparator ls = new LineSeparator();
        doc.add(new Chunk(ls));

        doc.add(Chunk.NEWLINE);

        txt = "Crdito Disponible";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 20, Font.UNDERLINE, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Nombres: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getNombres();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Apellidos: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getApellidos();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Dni: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getDni();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);

        txt = "Crdito Disponible:";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        doc.add(Chunk.NEWLINE);
        tabla = new PdfPTable(2);

        frase = new Phrase("Modelo", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Lavadas Disponibles", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        i = 1;
        for (CreditoDisponibleCliente cre : reporte) {

            if (i % 2 == 0) {
                cell = new PdfPCell();
                cell.setBackgroundColor(new BaseColor(244, 119, 119));

                frase = new Phrase(cre.getModeloCarro());
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(cre.getLavadas());
                cell.setPhrase(frase);
                tabla.addCell(cell);
            } else {
                tabla.addCell(cre.getModeloCarro());
                tabla.addCell(cre.getLavadas() + "");
            }
            i++;
        }
        doc.add(tabla);
        doc.close();
    } catch (DocumentException ex) {

    }
}

From source file:com.miraflorescarwash.controller.PdfController.java

private void crearPdfCombos(Document doc, List<ComboPorModelo> combos) {
    Paragraph parrafo;/*from w  w  w. j  ava2  s . co  m*/
    PdfPTable tabla;
    String txt;
    PdfPCell cell;
    Phrase frase;
    String fuente;
    int i;

    fuente = "arial";
    if (combos.isEmpty()) {
        return;
    }
    try {
        //

        // Se abre el documento.
        doc.open();

        txt = "Miraflores Car Wash";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 10, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        txt = "Combos";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 30, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_CENTER);

        doc.add(parrafo);
        LineSeparator ls = new LineSeparator();
        doc.add(new Chunk(ls));

        doc.add(Chunk.NEWLINE);

        tabla = new PdfPTable(5);

        frase = new Phrase("Id", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Nombre", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Lavadas", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Modelo", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Precio", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        i = 1;

        for (ComboPorModelo combo : combos) {

            if (i % 2 == 0) {
                cell = new PdfPCell();
                cell.setBackgroundColor(new BaseColor(244, 119, 119));

                frase = new Phrase(combo.getId());
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(combo.getCombo().getNombre());
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(combo.getCombo().getNumeroLavadas());
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(combo.getModelo().getNombre());
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase("S/. " + combo.getPrecio() + "0");
                cell.setPhrase(frase);
                tabla.addCell(cell);
            } else {
                tabla.addCell(combo.getId() + "");
                tabla.addCell(combo.getCombo().getNombre());
                tabla.addCell(combo.getCombo().getNumeroLavadas() + "");
                tabla.addCell(combo.getModelo().getNombre());
                tabla.addCell("S/. " + combo.getPrecio() + "0");
            }
            i++;
        }
        doc.add(tabla);
        doc.close();
    } catch (DocumentException ex) {

    }
}

From source file:com.miraflorescarwash.controller.PdfController.java

private void crearPdfCombosReporte(Document doc, List<ComboReporte> combos, PdfWriter writer) {
    Paragraph parrafo;//  w w  w. j  a  v a  2s  .co  m
    PdfPTable tabla;
    String txt;
    PdfPCell cell;
    Phrase frase;
    String fuente;
    int i;
    JFreeChart chart;
    int w, h;
    int pos;
    pos = 0;
    w = h = 500;

    fuente = "arial";
    if (combos.isEmpty()) {
        return;
    }
    try {
        //

        // Se abre el documento.
        doc.open();

        txt = "Miraflores Car Wash";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 10, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        txt = "Reporte de Combos";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 30, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_CENTER);

        doc.add(parrafo);
        LineSeparator ls = new LineSeparator();
        doc.add(new Chunk(ls));

        tabla = new PdfPTable(3);

        frase = new Phrase("Id", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Nombre", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Dinero Recaudado", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        i = 1;

        for (ComboReporte combo : combos) {

            if (i % 2 == 0) {
                cell = new PdfPCell();
                cell.setBackgroundColor(new BaseColor(244, 119, 119));

                frase = new Phrase(combo.getId() + "");
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(combo.getNombre());
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase("S/. " + combo.getCantidad() + "0");
                cell.setPhrase(frase);
                tabla.addCell(cell);

            } else {
                tabla.addCell(combo.getId() + "");
                tabla.addCell(combo.getNombre());
                tabla.addCell("S/. " + combo.getCantidad() + "0");
            }
            i++;
        }
        doc.add(tabla);
        doc.newPage();
        txt = "Miraflores Car Wash";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 10, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        chart = comboService.generarChartReporte(combos);

        w = 500;
        h = 500;

        PdfContentByte cb = writer.getDirectContent();
        PdfTemplate tp = cb.createTemplate(w, h);
        Graphics2D g2d = tp.createGraphics(w, h, new DefaultFontMapper());
        Rectangle2D r2d = new Rectangle2D.Double(0, 0, w, h);
        chart.draw(g2d, r2d);
        cb.addTemplate(tp, 50, 250);
        g2d.dispose();
        doc.close();
    } catch (DocumentException ex) {

    }
}

From source file:com.miraflorescarwash.controller.PdfController.java

private void crearPdfVentasReporte(Document doc, JFreeChart chart, PdfWriter writer, String fechaInicio,
        String fechaFin) {//from   www .  j av  a2  s .  co  m
    Paragraph parrafo;
    Phrase frase;
    String txt;
    String fuente;
    int w, h;

    fuente = "arial";
    if (chart == null) {
        return;
    }
    try {
        //

        // Se abre el documento.
        doc.open();

        txt = "Miraflores Car Wash";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 10, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        txt = "Reporte de Ventas";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 30, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_CENTER);

        doc.add(parrafo);
        LineSeparator ls = new LineSeparator();
        doc.add(new Chunk(ls));

        doc.add(Chunk.NEWLINE);

        txt = "Inicio: ";
        frase = new Phrase(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        doc.add(frase);
        txt = fechaInicio;
        frase = new Phrase(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        doc.add(frase);
        doc.add(Chunk.NEWLINE);

        txt = "Fin: ";
        frase = new Phrase(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        doc.add(frase);
        txt = fechaFin;
        frase = new Phrase(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        doc.add(frase);

        w = 500;
        h = 500;

        PdfContentByte cb = writer.getDirectContent();
        PdfTemplate tp = cb.createTemplate(w, h);
        Graphics2D g2d = tp.createGraphics(w, h, new DefaultFontMapper());
        Rectangle2D r2d = new Rectangle2D.Double(0, 0, w, h);
        chart.draw(g2d, r2d);
        cb.addTemplate(tp, 50, 50);
        g2d.dispose();
        doc.close();
    } catch (DocumentException ex) {

    }
}

From source file:com.miraflorescarwash.controller.PdfController.java

private void crearPdfClientesFreq(Document doc, List<ClienteReporte> reporteCompras, PdfWriter writer) {
    Paragraph parrafo;/*from  w  w  w .java 2s. c o m*/
    PdfPTable tabla;
    String txt;
    PdfPCell cell;
    Phrase frase;
    String fuente;
    JFreeChart chart;
    int i, w, h;

    fuente = "arial";
    if (reporteCompras.isEmpty()) {
        return;
    }
    try {
        //

        // Se abre el documento.
        doc.open();

        txt = "Miraflores Car Wash";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 10, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        txt = "Clientes Frecuentes";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 30, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_CENTER);

        doc.add(parrafo);
        LineSeparator ls = new LineSeparator();
        doc.add(new Chunk(ls));

        doc.add(Chunk.NEWLINE);

        tabla = new PdfPTable(3);

        frase = new Phrase("Id", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Nombre", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        frase = new Phrase("Dinero", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

        i = 1;

        for (ClienteReporte clienteReporte : reporteCompras) {

            if (i % 2 == 0) {
                cell = new PdfPCell();
                cell.setBackgroundColor(new BaseColor(244, 119, 119));

                frase = new Phrase(clienteReporte.getId() + "");
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(clienteReporte.getApellido() + " " + clienteReporte.getNombre());
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase("S/. " + clienteReporte.getTotal() + "0");
                cell.setPhrase(frase);
                tabla.addCell(cell);

            } else {
                tabla.addCell(clienteReporte.getId() + "");
                tabla.addCell(clienteReporte.getApellido() + " " + clienteReporte.getNombre());
                tabla.addCell("S/. " + clienteReporte.getTotal() + "0");
            }
            i++;
        }
        doc.add(tabla);

        doc.newPage();
        txt = "Miraflores Car Wash";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 10, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        chart = clienteService.generarChartReporte(reporteCompras);

        w = 500;
        h = 500;

        PdfContentByte cb = writer.getDirectContent();
        PdfTemplate tp = cb.createTemplate(w, h);
        Graphics2D g2d = tp.createGraphics(w, h, new DefaultFontMapper());
        Rectangle2D r2d = new Rectangle2D.Double(0, 0, w, h);
        chart.draw(g2d, r2d);
        cb.addTemplate(tp, 50, 250);
        g2d.dispose();
        doc.close();
    } catch (DocumentException ex) {

    }
}

From source file:com.miraflorescarwash.controller.PdfController.java

private void crearPdfClientesEvolucion(Document doc, List<ClienteReporte> reporteCompras, PdfWriter writer) {
    Paragraph parrafo;/*from www.  ja v a 2 s  . com*/
    PdfPTable tabla;
    String txt;
    PdfPCell cell;
    Phrase frase;
    String fuente;
    JFreeChart chart;
    ClienteReporte cliente;
    int i, w, h;

    fuente = "arial";
    if (reporteCompras.isEmpty()) {
        return;
    }
    try {
        //
        cliente = reporteCompras.get(0);
        // Se abre el documento.
        doc.open();

        txt = "Miraflores Car Wash";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 10, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);

        txt = "Evolucin de Clientes ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 30, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_CENTER);

        doc.add(parrafo);
        LineSeparator ls = new LineSeparator();
        doc.add(new Chunk(ls));

        txt = "Id: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getId() + "";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        //            doc.add(Chunk.NEWLINE);

        txt = "Nombres: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getNombre();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        //            doc.add(Chunk.NEWLINE);

        txt = "Apellidos: ";
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.BOLD, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        txt = cliente.getApellido();
        parrafo = new Paragraph(txt, FontFactory.getFont(fuente, 14, Font.NORMAL, BaseColor.BLACK));
        parrafo.setAlignment(Element.ALIGN_LEFT);
        doc.add(parrafo);
        //            doc.add(Chunk.NEWLINE);

        chart = clienteService.generarChartReporteMes(reporteCompras);

        w = 500;
        h = 500;

        PdfContentByte cb = writer.getDirectContent();
        PdfTemplate tp = cb.createTemplate(w, h);
        Graphics2D g2d = tp.createGraphics(w, h, new DefaultFontMapper());
        Rectangle2D r2d = new Rectangle2D.Double(0, 0, w, h);
        chart.draw(g2d, r2d);
        cb.addTemplate(tp, 50, 50);
        g2d.dispose();
        doc.close();
    } catch (DocumentException ex) {

    }
}

From source file:com.mobicage.rogerthat.enterprise.samples.hr.bizz.GenerateExpenseNote.java

License:Open Source License

public int handle(final User user, final User manager, final ExpenseNote en)
        throws MalformedURLException, IOException, DocumentException {

    log.info("Building list of expenses ...");
    List<Expense> expenses = Expense.list(en);
    log.info("Retrieved " + expenses.size() + " expenses from the datastore");

    log.info("Creating ExpenseNoteDocOutputStream");
    ExpenseNoteDocOutputStream stream = new ExpenseNoteDocOutputStream(en);

    Document document = new Document();
    PdfWriter.getInstance(document, stream);
    document.open();//from w  ww  . j  a  va  2s. c  om

    document.addTitle("Expense note " + en.id + " of " + user.name);
    document.addSubject("Expense note generated by Rogerthat Enterprise!");
    document.addKeywords("expense note");
    document.addAuthor(user.name);
    document.addCreator("Rogerthat OneApp Enterprise Mobility");

    Paragraph preface = new Paragraph();

    preface.add(new Paragraph("TP Vision expense note", titleFont));
    preface.add(new Paragraph(" "));

    DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
    Date date = new Date();
    preface.add(new Paragraph("Date: " + dateFormat.format(date)));
    preface.add(new Paragraph("Requestor: " + user.name));
    preface.add(new Paragraph("Approver: " + manager.name));
    preface.add(new Paragraph(" "));

    PdfPTable table = new PdfPTable(7);
    table.setWidthPercentage(110);
    table.setWidths(new int[] { 5, 15, 15, 35, 10, 15, 10 });
    addHeader(table, "Id");
    addHeader(table, "Date");
    addHeader(table, "Nature");
    addHeader(table, "Description");
    addHeader(table, "Account");
    addHeader(table, "Amount");
    addHeader(table, "Voucher");
    table.setHeaderRows(1);

    Collections.sort(expenses, new Comparator<Expense>() {
        @Override
        public int compare(Expense e1, Expense e2) {
            return (int) (e1.date - e2.date);
        }
    });
    int i = 0;
    double total = 0;
    for (Expense expense : expenses) {
        PdfPCell c1 = new PdfPCell(new Phrase("" + ++i));
        c1.setHorizontalAlignment(Element.ALIGN_CENTER);
        table.addCell(c1);
        table.addCell(dateFormat.format(new Date(expense.date * 1000)));
        table.addCell(expense.nature);
        table.addCell(expense.description);
        table.addCell("" + expense.account);
        c1 = new PdfPCell(new Phrase(DECIMAL_FORMAT.format(expense.amount) + " " + expense.currency));
        c1.setHorizontalAlignment(Element.ALIGN_RIGHT);
        table.addCell(c1);
        table.addCell(expense.voucher);
        total += expense.amount;
    }

    preface.add(table);

    preface.add(new Paragraph(" "));
    preface.add(new Paragraph("Total: " + DECIMAL_FORMAT.format(total), titleFont));

    document.add(preface);

    i = 0;
    for (Expense expense : expenses) {
        i++;
        if (expense.receipt == null)
            continue;

        document.newPage();
        Paragraph receipt = new Paragraph();
        receipt.add(new Paragraph("Attachment " + i, titleFont));
        document.add(receipt);
        Image image = Image.getInstance(new URL(expense.receipt));
        image.setRotationDegrees(-90);
        float scaler = (document.getPageSize().getWidth() / image.getWidth()) * 100;

        image.scalePercent(scaler);
        document.add(image);
    }

    document.close();
    stream.close();

    return stream.getSize();

}

From source file:com.mstoyanov.music_lessons.pdf.CreatePDF.java

License:Open Source License

private static void addContent(Document document) throws DocumentException {
    String dateString = DateFormat.getDateInstance().format(new Date()).toString();
    Paragraph par = new Paragraph("Music Lessons Weekly Schedule", catFont);
    par.add(new Paragraph("Teacher: " + name + ", Created on: " + dateString, subFont));
    // Add an empty line:
    par.add(new Paragraph(" ", smallFont));
    // Add a table:
    par.add(createTable());//ww  w  . j  a  va 2s.  com

    document.add(par);
}

From source file:com.mx.ipn.clases.PDF.java

public void crearpdf(String nombre, String appat, String apmat)
        throws FileNotFoundException, DocumentException {
    // Creacion del documento con los margenes
    // Creacion del documento con los margenes
    Document document = new Document(PageSize.A4, 35, 30, 50, 50);
    try {//ww w.  jav  a 2s  .co m

        // El archivo pdf que vamos a generar
        FileOutputStream fileOutputStream = new FileOutputStream("AvisoPrivacidad.pdf");

        // Obtener la instancia del PdfWriter
        PdfWriter.getInstance(document, fileOutputStream);

        // Abrir el documento
        document.open();

        // Crear las fuentes para el contenido y los titulos
        Font fontContenido = FontFactory.getFont(FontFactory.TIMES_ROMAN.toString(), 9, Font.NORMAL,
                BaseColor.DARK_GRAY);
        Font fontTitulos = FontFactory.getFont(FontFactory.TIMES_BOLD, 11, Font.UNDERLINE, BaseColor.DARK_GRAY);
        Font nomb = FontFactory.getFont(FontFactory.TIMES_BOLD, 9, Font.NORMAL, BaseColor.DARK_GRAY);

        // Creacion del parrafo
        Paragraph paragraph = new Paragraph();

        // Agregar un titulo con su respectiva fuente
        paragraph.add(new Phrase("Aviso de Privacidad", fontTitulos));
        paragraph.setAlignment(Element.ALIGN_CENTER);

        // Agregar saltos de linea
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));

        // Agregar contenido con su respectiva fuente
        paragraph.add(new Phrase(
                "Con fundamento en los artculos 15, 16 y de acuerdo a lo Previsto en la Ley Federal de Proteccin de Datos"
                        + "Personales, hacemos de su conocimiento que ZERCHERS, S.A. de C.V., es una empresa legalmente"
                        + "constituido de conformidad con las leyes mexicanas, con domicilio en Av. Juan de Dios Btiz s/n, Gustavo"
                        + "A. Madero, Nueva Industrial Vallejo, 07700 Ciudad de Mxico; y como responsable del tratamiento de sus"
                        + "datos personales, del uso que se le d a los mismos y de su proteccin. Hace de su conocimiento que la"
                        + "informacin de nuestros clientes es tratada de forma estrictamente confidencial por lo que, al proporcionar"
                        + "sus datos personales. Estos sern utilizados nica y exclusivamente para los siguientes fines: "
                        + "Proveer los servicios y productos que ha solicitado; notificarle sobre nuevos servicios o productos que"
                        + "tengan relacin con los ya contratados o adquiridos; comunicarle sobre cambios en los mismos; evaluar la"
                        + "calidad de los servicios que brindamos; mantener actualizada nuestra base de datos con sus datos"
                        + "recientes y en general, para dar cumplimiento a las obligaciones que hemos contrado con usted.",
                fontContenido));

        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(
                " Para las finalidades antes mencionadas, requerimos obtener los siguientes datos personales:",
                fontContenido));
        paragraph.setAlignment(Element.ALIGN_JUSTIFIED);
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        // Agregar el parrafo al documento
        document.add(paragraph);

        document.add(Tabla_Simple());
        paragraph = new Paragraph();
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));

        paragraph.add(new Phrase(
                "Para prevenir el acceso no autorizado a sus datos personales y con el fin de asegurar que la informacin sea "
                        + "utilizada para los fines establecidos en este aviso de privacidad, hemos establecido diversos procedimientos"
                        + " con la finalidad de evitar el uso o divulgacin no autorizados de sus datos, permitindonos tratarlos debidamente."
                        + "  As mismo, le informamos que sus datos personales pueden ser Transmitidos para ser tratados por personas "
                        + "distintas a esta empresa.   Todos sus datos personales son tratados de acuerdo a la legislacin aplicable y "
                        + "vigente en el pas, por ello le informamos que usted tiene en todo momento los derechos (ARCO) de acceder, "
                        + "rectificar, cancelar u oponerse al tratamiento que le damos a sus datos personales; derecho que podr "
                        + "hacer valer a travs del ?rea de Privacidad encargada de la seguridad de datos personales en el "
                        + "Telfono 5729 6000.",
                fontContenido));
        paragraph.setAlignment(Element.ALIGN_JUSTIFIED);

        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));

        paragraph.add(new Phrase(
                " A travs de estos canales usted podr actualizar sus datos y especificar el medio por el cual desea recibir "
                        + "informacin, ya que en caso de no contar con esta especificacin de su parte, ZERCHERS, S.A. de C.V., "
                        + "establecer libremente el canal que considere pertinente para enviarle informacin.  Este aviso de"
                        + " privacidad podr ser modificado por ZERCHERS, S.A. de C.V., dichas modificaciones sern oportunamente "
                        + "informadas a travs de correo electrnico, telfono, pgina web o cualquier otro medio de comunicacin"
                        + " que ZERCHERS, S.A. de C.V., determine para tal efecto.",
                fontContenido));
        paragraph.setAlignment(Element.ALIGN_JUSTIFIED);
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));

        paragraph.add(new Phrase(" ATENTAMENTE", nomb));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(" Direccin General TT/SisPLD", nomb));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(" Consiento que mis datos personales sensibles sean tratados conforme a"
                + "los trminos y condiciones del presente aviso de privacidad.", fontContenido));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase("Nombre: " + nombre + " " + appat + " " + apmat, nomb));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase("____________________________________", fontContenido));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(Chunk.NEWLINE));
        paragraph.add(new Phrase(" ltima Fecha de Emisin:  Mayo 13, 2016", fontContenido));

        document.add(paragraph);

        // Cerrar el documento
        document.close();

        // Abrir el archivo
        File file = new File("AvisoPrivacidad.pdf");
        Desktop.getDesktop().open(file);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}