Example usage for com.itextpdf.text.pdf PdfPTable addCell

List of usage examples for com.itextpdf.text.pdf PdfPTable addCell

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfPTable addCell.

Prototype

public void addCell(final Phrase phrase) 

Source Link

Document

Adds a cell element.

Usage

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

private void crearPdfClienteCreditoDisponible(Document doc, List<CreditoDisponibleCliente> reporte) {
    Paragraph parrafo;//from w w w  . ja v  a 2  s.  c om
    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;// w w w .  j av  a 2s .  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;//www. j a  va 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 crearPdfClientesFreq(Document doc, List<ClienteReporte> reporteCompras, PdfWriter writer) {
    Paragraph parrafo;/*from   www.j av  a 2 s . co 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.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();//w w w .j  a  va 2 s .  co m

    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.mobicage.rogerthat.enterprise.samples.hr.bizz.GenerateExpenseNote.java

License:Open Source License

private void addHeader(PdfPTable table, String title) {
    PdfPCell c1 = new PdfPCell(new Phrase(title));
    c1.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(c1);
}

From source file:com.mss.msp.util.DataSourceDataProvider.java

License:Open Source License

public PdfPTable getITextPDFTable(String gridData, PdfPTable table) throws ServiceLocatorException {

    if (!"".equals(gridData)) {

        // int Count = stk.countTokens();
        //  System.out.println("Total Count-->" + Count);
        String[] s = gridData.split("\\^");
        for (int i = 0; i < s.length; i++) {
            System.out.println("stk.split;-->" + s[i]);
            String ss = s[i];/*from  w  w  w.  j  a v a2  s  . c o  m*/
            String[] inner = ss.split("\\|");
            //  System.out.println("inner--->"+inner);
            for (int j = 0; j < inner.length; j++) {
                System.out.println("inner.split;-->" + inner[j]);
                if (i == 0) {
                    PdfPCell cell = new PdfPCell(new Paragraph(inner[j]));
                    cell.setBackgroundColor(BaseColor.ORANGE);
                    table.addCell(cell);
                } else {
                    table.addCell(inner[j]);
                }
            }
        }
    }

    return table;

}

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

License:Open Source License

private static PdfPTable createTable() throws DocumentException {
    PdfPTable table = new PdfPTable(6);
    table.setTotalWidth(new float[] { 114, 114, 114, 114, 114, 114 });
    table.setLockedWidth(true);/*from  w  w w.j ava  2  s .  c  om*/
    PdfPCell cell;

    cell = new PdfPCell(new Phrase("Monday", smallBold));
    // cell.setVerticalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell);

    cell = new PdfPCell(new Phrase("Tuesday", smallBold));
    table.addCell(cell);

    cell = new PdfPCell(new Phrase("Wednesday", smallBold));
    table.addCell(cell);

    cell = new PdfPCell(new Phrase("Thursday", smallBold));
    table.addCell(cell);

    cell = new PdfPCell(new Phrase("Friday", smallBold));
    table.addCell(cell);

    cell = new PdfPCell(new Phrase("Saturday", smallBold));
    table.addCell(cell);

    table.setHeaderRows(1);

    while (cells.size() > 0) { // rows
        for (int i = 0; i < weekdays_array.length; i++) { // columns
            boolean cell_empty = true;
            // scan all cell objects:
            for (int j = 0; j < cells.size(); j++) {
                // if there is a cell on this day:
                if (cells.get(j).getWeekDay().equalsIgnoreCase(weekdays_array[i])) {
                    Phrase phrase = new Phrase(
                            cells.get(j).getTimeFrom() + " - " + cells.get(j).getTimeTo() + "\n"
                                    + cells.get(j).getStudentName() + "\n" + cells.get(j).getPhoneNumber(),
                            smallFont);
                    // add it to the table:
                    table.addCell(phrase);
                    cell_empty = false;
                    cells.remove(j);
                    break;
                }
            }
            if (cell_empty) {
                // otherwise add an empty cell:
                table.addCell(new Phrase("\n" + "\n" + "\n", smallFont));
            }
        }
    }

    return table;
}

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

public PdfPTable Tabla_Simple() throws BadElementException, IOException {
    Paragraph paragraph1 = new Paragraph();
    Font nomb = FontFactory.getFont(FontFactory.TIMES_BOLD, 9, Font.NORMAL, BaseColor.DARK_GRAY);
    Image image;//from w w  w . j a  v a 2  s .c  o  m

    // Obtenemos el logo de datojava
    image = Image.getInstance(getClass().getResource("/com/ipn/mx/imagenes/logo.png"));
    image.scaleAbsolute(70f, 60f);

    //creamos la tabla con 3 columnas
    PdfPTable mitablasimple = new PdfPTable(2);
    PdfPCell cellimage = new PdfPCell(image);

    // Propiedades de la celda

    cellimage.setBorderColor(BaseColor.WHITE);
    cellimage.setHorizontalAlignment(Element.ALIGN_CENTER);

    paragraph1.add(new Phrase("1. Nombre completo Y/O Razn Social.", nomb));
    paragraph1.add(new Phrase(Chunk.NEWLINE));
    paragraph1.add(new Phrase("2. Direccin.", nomb));
    paragraph1.add(new Phrase(Chunk.NEWLINE));
    paragraph1.add(new Phrase("3. Registro Federal de Contribuyentes Y/O CURP.", nomb));
    paragraph1.add(new Phrase(Chunk.NEWLINE));
    paragraph1.add(new Phrase("4. Telfonos de Oficina y mviles.", nomb));
    paragraph1.add(new Phrase(Chunk.NEWLINE));
    paragraph1.add(new Phrase("5. Actividad econmica e ingreso promedio.", nomb));
    paragraph1.add(new Phrase(Chunk.NEWLINE));
    paragraph1.add(new Phrase("6. Correo Electrnico. ", nomb));
    paragraph1.add(new Phrase(Chunk.NEWLINE));
    PdfPCell cell = new PdfPCell(paragraph1);

    // Propiedades de la celda

    cell.setBorderColor(BaseColor.WHITE);
    cell.setHorizontalAlignment(Element.ALIGN_JUSTIFIED);
    mitablasimple.addCell(cell);
    mitablasimple.addCell(cellimage);
    //retornamos la tabla

    return mitablasimple;
}

From source file:com.myapp.struts.transaction.transactionAction.java

public ActionForward generatememberreport(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws SQLException, Exception {
    if (Constants.isSessionActive(request)) {
        transactionForm transactionForm = (transactionForm) form;
        try {// w  ww. ja  va2 s  .  co  m
            Date utilDate = new Date();
            java.sql.Date date = new java.sql.Date(utilDate.getTime());
            Font bigFont = FontFactory.getFont(FontFactory.HELVETICA, "Windows-1254", 12, Font.BOLD,
                    BaseColor.BLACK);
            Font bigFont_Uderline = FontFactory.getFont(FontFactory.HELVETICA, "Windows-1254", 12,
                    Font.BOLD | Font.UNDERLINE, BaseColor.BLACK);
            Font boldfont = FontFactory.getFont(FontFactory.HELVETICA, "Windows-1254", 9, Font.BOLD);

            Document document = new Document();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            PdfWriter.getInstance(document, baos);
            document.open();

            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); //Or whatever format fits best your needs.

            Paragraph para1 = new Paragraph("PALKE JEWELLERS", bigFont);
            para1.setAlignment(Element.ALIGN_CENTER);
            document.add(para1);

            para1 = new Paragraph("MEMBER ACCOUNT DETAILS", bigFont);
            para1.setAlignment(Element.ALIGN_CENTER);
            document.add(para1);

            para1 = new Paragraph(transactionForm.getSelectedmember(), boldfont);
            para1.setAlignment(Element.ALIGN_LEFT);
            document.add(para1);

            para1 = new Paragraph(
                    transactionForm.getMemberaddress() + "\n" + transactionForm.getMembercontactno(), boldfont);
            para1.setAlignment(Element.ALIGN_LEFT);
            document.add(para1);
            Groups obj = (Groups) hmGroups.get(transactionForm.getGroupid() + "");
            if (obj != null) {
                para1 = new Paragraph("Group : " + obj.getGroupname(), font);
                para1.setAlignment(Element.ALIGN_LEFT);
                document.add(para1);

                para1 = new Paragraph("Paid Amount : " + transactionForm.getTotalpaidamount(), font);
                para1.setAlignment(Element.ALIGN_LEFT);
                document.add(para1);

                para1 = new Paragraph("Prize Amount : " + transactionForm.getDrawamount(), font);
                para1.setAlignment(Element.ALIGN_LEFT);
                document.add(para1);

                para1 = new Paragraph("Total Amount : " + transactionForm.getTotalamount(), boldfont);
                para1.setAlignment(Element.ALIGN_LEFT);
                document.add(para1);

                para1 = new Paragraph("Status : " + transactionForm.getStatus(), boldfont);
                para1.setAlignment(Element.ALIGN_RIGHT);
                document.add(para1);

                if (transactionForm.getStatus().equalsIgnoreCase("Settled")) {
                    para1 = new Paragraph(transactionForm.getSettlementcomment(), boldfont);
                    para1.setAlignment(Element.ALIGN_RIGHT);
                    document.add(para1);
                }

                String dateStr = sdf.format(date);
                para1 = new Paragraph("DATED:" + dateStr, font);
                para1.setAlignment(Element.ALIGN_RIGHT);
                document.add(para1);

                // add a couple of blank lines
                document.add(Chunk.NEWLINE);

                if (transactionForm.getLstPayment() != null && transactionForm.getLstPayment().size() > 0) {
                    PdfPTable table2 = new PdfPTable(7);
                    float[] columnWidths = { 1.5f, 1.5f, 3f, 4f, 4f, 7f, 2f };

                    table2.setWidthPercentage(100);
                    table2.setWidths(columnWidths);

                    para1 = new Paragraph("Sl No.", font);
                    para1.setAlignment(Element.ALIGN_CENTER);
                    PdfPCell cell = new PdfPCell(para1);
                    table2.addCell(cell);

                    para1 = new Paragraph("Term", font);
                    para1.setAlignment(Element.ALIGN_CENTER);
                    cell = new PdfPCell(para1);
                    table2.addCell(cell);

                    para1 = new Paragraph("Receipt No.", font);
                    para1.setAlignment(Element.ALIGN_CENTER);
                    cell = new PdfPCell(para1);
                    table2.addCell(cell);

                    para1 = new Paragraph("Receipt Date", font);
                    para1.setAlignment(Element.ALIGN_CENTER);
                    cell = new PdfPCell(para1);
                    table2.addCell(cell);

                    para1 = new Paragraph("Payment Mode", font);
                    para1.setAlignment(Element.ALIGN_CENTER);
                    cell = new PdfPCell(para1);
                    table2.addCell(cell);

                    para1 = new Paragraph("Remarks", font);
                    para1.setAlignment(Element.ALIGN_CENTER);
                    cell = new PdfPCell(para1);
                    table2.addCell(cell);

                    para1 = new Paragraph("Paid Amount", font);
                    para1.setAlignment(Element.ALIGN_CENTER);
                    cell = new PdfPCell(para1);
                    table2.addCell(cell);

                    int x = 1;
                    double total = 0;
                    //Iterator it = hmPayments.entrySet().iterator();
                    //while (it.hasNext()) {
                    if (hmPayments.size() > 0) {
                        for (int i = 1; i <= obj.getNoofinstallment(); i++) {
                            //float f = columnWidths[i];
                            Payment f1 = (Payment) hmPayments.get(i + "");
                            //}
                            //Map.Entry pairs = (Map.Entry) it.next();
                            //Payment f1 = (Payment) pairs.getValue();
                            String term = i + "";

                            para1 = new Paragraph(Integer.toString(x), font);
                            para1.setAlignment(Element.ALIGN_CENTER);
                            cell = new PdfPCell(para1);
                            table2.addCell(cell);
                            x++;

                            para1 = new Paragraph(term, font);
                            para1.setAlignment(Element.ALIGN_CENTER);
                            cell = new PdfPCell(para1);
                            table2.addCell(cell);

                            para1 = new Paragraph(f1.getPaymentid() + "", font);
                            para1.setAlignment(Element.ALIGN_CENTER);
                            cell = new PdfPCell(para1);
                            table2.addCell(cell);

                            para1 = new Paragraph(sdf.format(f1.getPaiddate()), font);
                            para1.setAlignment(Element.ALIGN_CENTER);
                            cell = new PdfPCell(para1);
                            table2.addCell(cell);

                            para1 = new Paragraph(f1.getPaymentmode() == 1 ? "Cash" : "Cheque/NEFT", font);
                            para1.setAlignment(Element.ALIGN_CENTER);
                            cell = new PdfPCell(para1);
                            table2.addCell(cell);

                            para1 = new Paragraph(f1.getRemarks(), font);
                            para1.setAlignment(Element.ALIGN_CENTER);
                            cell = new PdfPCell(para1);
                            table2.addCell(cell);

                            //para1 = new Paragraph(f1.getPaidamount() + "", boldfont);
                            para1 = new Paragraph((int) obj.getInstallmentamount() + "", boldfont);
                            para1.setAlignment(Element.ALIGN_CENTER);
                            cell = new PdfPCell(para1);
                            table2.addCell(cell);
                            total = total + obj.getInstallmentamount();
                            if (hmPayments.size() == i) {
                                break;
                            }
                        }

                        para1 = new Paragraph("Total", boldfont);
                        para1.setAlignment(Element.ALIGN_LEFT);
                        cell = new PdfPCell(para1);
                        cell.setColspan(6);
                        table2.addCell(cell);

                        //String numberStr = String.format("%.2f", total + "");
                        para1 = new Paragraph(total + "", boldfont);
                        para1.setAlignment(Element.ALIGN_CENTER);
                        cell = new PdfPCell(para1);
                        //cell.setColspan(7);
                        table2.addCell(cell);

                        table2.setHorizontalAlignment(Element.ALIGN_LEFT);
                        document.add(table2);
                    } else {
                        para1 = new Paragraph("NO PAYMENTS FOUND", boldfont);
                        para1.setAlignment(Element.ALIGN_CENTER);
                        document.add(para1);
                    }

                } else {
                    para1 = new Paragraph("NO RECORDS FOUND", boldfont);
                    para1.setAlignment(Element.ALIGN_CENTER);
                    document.add(para1);
                }
                document.add(Chunk.NEWLINE);

                //document.close();
                //fileInputStream = new FileInputStream(new File("C:\\reports\\PaymentReports.pdf"));
                document.close();
                ServletOutputStream outputStream = response.getOutputStream();
                baos.writeTo(outputStream);
                response.setHeader("Content-Disposition", "attachment; filename=\"PaymentStatusReport.pdf\"");
                response.setContentType("application/pdf");
                outputStream.flush();
                outputStream.close();
                return mapping.findForward("display");
            } else {
                para1 = new Paragraph("NO RECORDS FOUND", boldfont);
                para1.setAlignment(Element.ALIGN_CENTER);
                document.add(para1);
                document.close();
                ServletOutputStream outputStream = response.getOutputStream();
                baos.writeTo(outputStream);
                response.setHeader("Content-Disposition", "attachment; filename=\"PaymentStatusReport.pdf\"");
                response.setContentType("application/pdf");
                outputStream.flush();
                outputStream.close();
                return mapping.findForward("display");
            }
        } catch (DocumentException i) {
            System.out.println(i);
            return mapping.findForward("fail");
        } catch (IOException i) {
            System.out.println(i);
            return mapping.findForward("fail");
        }
    } else {
        return mapping.findForward("exp");
    }
}