Example usage for com.lowagie.text.pdf PdfPCell setMinimumHeight

List of usage examples for com.lowagie.text.pdf PdfPCell setMinimumHeight

Introduction

In this page you can find the example usage for com.lowagie.text.pdf PdfPCell setMinimumHeight.

Prototype

public void setMinimumHeight(float minimumHeight) 

Source Link

Document

Set a minimum height for the cell.

Usage

From source file:airportpainter.util.AirportPainter.java

License:Open Source License

private void createSheetsAddSvg(Airport airport, PdfWriter writer, Document document, String imageFileName) {
    // FREQs Nearest Navaid
    notifyAction("createSheetsAddSvg");
    PdfPTable table = new PdfPTable(1);
    {//w ww .  j  av  a2 s  .co m
        PdfPCell cell = new PdfPCell();
        cell.setMinimumHeight(height);

        {
            Paragraph p = new Paragraph();
            com.lowagie.text.Font fontWarning = new com.lowagie.text.Font(com.lowagie.text.Font.TIMES_ROMAN,
                    com.lowagie.text.Font.DEFAULTSIZE, com.lowagie.text.Font.BOLD);
            p.add(new Chunk(" ", fontWarning));
            cell.addElement(p);
        }

        cell.setBorderWidth(borderWidth);
        cell.setVerticalAlignment(Element.ALIGN_CENTER);

        table.addCell(cell);
    }

    table.setWidthPercentage(100);
    try {
        document.add(table);
    } catch (DocumentException ex) {
        Logger.getLogger(AirportPainter.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:airportpainter.util.AirportPainter.java

License:Open Source License

private void createSheetsFakeShops(Airport airport, Document document) {
    // FREQs Nearest Navaid
    notifyAction("createSheetsFakeShops");
    PdfPTable table = new PdfPTable(1);
    {//from w  w w  .jav  a 2s.co  m
        PdfPCell cell = new PdfPCell();

        cell.setVerticalAlignment(Element.ALIGN_TOP);
        cell.setMinimumHeight(20);

        boolean addWorker = false;
        for (final Runway runway : airport.getRunways()) {
            if (runway.getLength() > 1200 / FEET_PER_METER) {
                addWorker = true;
            }
        }

        boolean addFork = (airport.hasTower());

        Paragraph p = new Paragraph();
        p.setLeading((p.leading() / 2) + 4);
        if (addWorker) {
            try {
                p.add(new Chunk("   "));
                p.add(new Chunk(Image.getInstance(getClass().getResource(Main.imgFolder + "avail_work.png")), 0,
                        -3));
            } catch (BadElementException ex) {
                Logger.getLogger(AirportPainter.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(AirportPainter.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        if (addFork) {
            try {
                p.add(new Chunk("   "));
                p.add(new Chunk(Image.getInstance(getClass().getResource(Main.imgFolder + "avail_fork.png")), 0,
                        -3));
            } catch (BadElementException ex) {
                Logger.getLogger(AirportPainter.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(AirportPainter.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        cell.addElement(p);

        //cell.setBorder(com.lowagie.text.Rectangle.NO_BORDER);
        cell.setBorderWidth(borderWidth);
        cell.setVerticalAlignment(Element.ALIGN_TOP);

        table.addCell(cell);
    }

    table.setWidthPercentage(100);
    try {
        document.add(table);
    } catch (DocumentException ex) {
        Logger.getLogger(AirportPainter.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:airportpainter.util.AirportPainter.java

License:Open Source License

private void createSheetsLights(Airport airport, Document document) {
    // FREQs Nearest Navaid
    notifyAction("createSheetsLights");
    PdfPTable table = new PdfPTable(1);
    {/*from   w ww .  j  av  a 2s .c  o  m*/
        PdfPCell cell = new PdfPCell();

        cell.setVerticalAlignment(Element.ALIGN_TOP);
        cell.setMinimumHeight(20);

        Paragraph p = new Paragraph();
        p.setLeading((p.leading() / 2) + 4);
        com.lowagie.text.Font font = new com.lowagie.text.Font(com.lowagie.text.Font.TIMES_ROMAN, 10,
                com.lowagie.text.Font.NORMAL);

        oneLightDone = false;

        try {
            p.add(new Chunk("   ", font));
            p.add(new Chunk(Image.getInstance(getClass().getResource(Main.imgFolder + "light.png")), 0, 0));
            p.add(new Chunk("   ", font));
        } catch (BadElementException ex) {
            Logger.getLogger(AirportPainter.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(AirportPainter.class.getName()).log(Level.SEVERE, null, ex);
        }

        boolean addABN = airport.hasBeacon();
        if (addABN) {
            p.add(addOneLight("ABN", font));
        }

        boolean addALS = false;
        boolean addPAPI = false;
        for (final Runway runway : airport.getRunways()) {
            if ((runway.hasALSF_I(false) || runway.hasALSF_I(true))
                    || (runway.hasALSF_II(false) || runway.hasALSF_II(true))) {
                addALS = true;
            }

            if ((runway.hasPapi(false) || runway.hasPapi(true))) {
                addPAPI = true;
            }
        }
        if (addALS) {
            p.add(addOneLight("ALS", font));
        }

        if (addPAPI) {
            p.add(addOneLight("PAPI ", font));
            String separ = "";
            for (final Runway runway : airport.getRunways()) {
                if (runway.hasPapi(false)) {
                    p.add(new Chunk(separ + runway.getNumber() + " (3.5)" + degrees + " ", font));
                    separ = ", ";
                }
                if (runway.hasPapi(true)) {
                    p.add(new Chunk(separ + runway.getOppositeNumber() + " (3.5)" + degrees + " ", font));
                    separ = ", ";
                }
            }
        }

        cell.addElement(p);

        //cell.setBorder(com.lowagie.text.Rectangle.NO_BORDER);
        cell.setBorderWidth(borderWidth);
        cell.setVerticalAlignment(Element.ALIGN_CENTER);

        table.addCell(cell);
    }

    table.setWidthPercentage(100);
    try {
        document.add(table);
    } catch (DocumentException ex) {
        Logger.getLogger(AirportPainter.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:ambit.data.qmrf.Qmrf_Xml_Pdf.java

License:Open Source License

public void headerTable(Document pdfdoc, org.w3c.dom.Document xmldoc) {
    try {/*from w  w  w  .  j  a  v  a2  s.  c  o m*/
        int header_font_size = 10;
        Image png_left = Image
                .getInstance(Qmrf_Xml_Pdf.class.getClassLoader().getResource("ambit/data/qmrf/logo.png"));
        Image png_right = Image
                .getInstance(Qmrf_Xml_Pdf.class.getClassLoader().getResource("ambit/data/qmrf/logo.png"));
        png_left.setAlignment(Image.LEFT);
        png_right.setAlignment(Image.RIGHT);
        png_left.scalePercent(60);
        png_right.scalePercent(60);
        //png.scaleAbsolute(76, 67);
        //png.setAlignment(Image.MIDDLE);

        PdfPCell cell;

        float[] widths = { 1f, 5f, 1f };
        float[] widths1 = { 1f };
        PdfPTable table = new PdfPTable(widths);
        PdfPTable table1 = new PdfPTable(widths1);

        table.setWidthPercentage(100);

        cell = new PdfPCell();
        cell.setMinimumHeight(70);
        cell.addElement(new Chunk(png_left, +14, -40));
        table.addCell(cell);

        String Text = "";
        try {

            Text = findNodeValue(xml_QMRF_number, xmldoc);
            Chunk ident_title = new Chunk("QMRF identifier (JRC Inventory):");
            Chunk ident_text = new Chunk(Text);

            Font bi_font = new Font(baseFont, header_font_size, Font.BOLDITALIC);
            Font i_font = new Font(baseFont, header_font_size, Font.ITALIC);

            ident_title.setFont(bi_font);
            ident_text.setFont(i_font);
            Paragraph p = new Paragraph();
            p.add(ident_title);
            p.add(ident_text);
            cell = new PdfPCell(p);
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table1.addCell(cell);

            ident_title = new Chunk("QMRF Title:");
            Phrase textPhrase = new Phrase();
            createNodePhrase("QSAR_title", xmldoc, textPhrase, i_font);
            ident_title.setFont(bi_font);

            p = new Paragraph();
            p.add(ident_title);
            p.add(textPhrase);
            cell = new PdfPCell(p);
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table1.addCell(cell);

            java.util.Date now = new java.util.Date();
            java.text.DateFormat df = java.text.DateFormat.getDateInstance();
            String date = df.format(now);
            ident_title = new Chunk("Printing Date:");
            ident_text = new Chunk(date);
            ident_title.setFont(bi_font);
            ident_text.setFont(i_font);
            p = new Paragraph();
            p.add(ident_title);
            p.add(ident_text);

            cell = new PdfPCell(p);
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table1.addCell(cell);

            p = new Paragraph("");
            cell = new PdfPCell(p);
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table1.addCell(cell);
            cell = new PdfPCell(table1);
            cell.setPadding(0f);
            table.addCell(cell);

        } catch (Throwable x) {
            x.printStackTrace();

        }

        //table.addCell(new PdfPCell(png, true));
        cell.addElement(new Chunk(png_right, +14, -40));
        table.addCell(cell);
        pdfdoc.add(table);
        pdfdoc.add(new Paragraph(16));

    } catch (Exception x) {
        x.printStackTrace();
    }
}

From source file:ambit.io.PDFWriter.java

License:Open Source License

public void writeMolecule(IMolecule molecule) {
    Object value;/*from   ww  w.  j a va2  s.  c  o  m*/

    try {

        //give it a chance to create a header just before the first write
        if (!writingStarted) {
            if (header == null)
                setHeader(molecule.getProperties());
            writeHeader();
            writingStarted = true;
        }

        Paragraph p = new Paragraph("");
        String s;
        for (int i = 0; i < header.size(); i++) {
            StringBuffer b = new StringBuffer();
            b.append(header.getList().get(i));
            b.append(" = ");
            value = molecule.getProperty(header.getList().get(i));
            if (i == smilesIndex) {

                if (value == null) //no SMILES available
                    try {
                        value = ""; //sg.createSMILES(molecule);
                    } catch (Exception x) {
                        logger.error("Error while createSMILES\t", x.getMessage());
                        value = "";
                    }
            }
            if (value != null) {
                if (value instanceof Number) {
                    s = value.toString();
                } else {
                    s = value.toString();

                }

                b.append(s);
                p.add(new Paragraph(b.toString()));
            }

        }
        BufferedImage image = imageTools.getImage(molecule);
        image.flush();

        Image png_struc = Image.getInstance(image, Color.white);
        png_struc.setAlignment(Image.LEFT);
        png_struc.scalePercent(100);

        PdfPCell cell = new PdfPCell();
        cell.setMinimumHeight(cell.height());
        cell.addElement(png_struc);
        table.addCell(cell);

        cell = new PdfPCell(p);
        cell.setBackgroundColor(Color.white);
        table.addCell(cell);

    } catch (Exception x) {
        logger.error("ERROR while writing Molecule: ", x.getMessage());
        logger.debug(x);
        x.printStackTrace();
    }

}

From source file:ambit2.core.io.PDFWriter.java

License:Open Source License

public void writeMolecule(IMolecule molecule) {
    Object value;//  w w w . j  av a 2 s. co m

    try {

        //give it a chance to create a header just before the first write
        if (!writingStarted) {
            if (header == null)
                setHeader(molecule.getProperties());
            writeHeader();
            writingStarted = true;
        }

        Paragraph p = new Paragraph("");
        String s;
        for (int i = 0; i < header.size(); i++) {
            StringBuffer b = new StringBuffer();
            b.append(header.get(i));
            b.append(" = ");
            value = molecule.getProperty(header.get(i));
            if (i == smilesIndex) {

                if (value == null) //no SMILES available
                    try {
                        value = ""; //sg.createSMILES(molecule);
                    } catch (Exception x) {
                        logger.log(Level.WARNING, "Error while createSMILES\t", x);
                        value = "";
                    }
            }
            if (value != null) {
                if (value instanceof Number) {
                    s = value.toString();
                } else {
                    s = value.toString();

                }

                b.append(s);
                p.add(new Paragraph(b.toString()));
            }

        }
        BufferedImage image = imageTools.getImage(molecule);
        image.flush();

        Image png_struc = Image.getInstance(image, Color.white);
        png_struc.setAlignment(Image.LEFT);
        png_struc.scalePercent(100);

        PdfPCell cell = new PdfPCell();
        cell.setMinimumHeight(cell.height());
        cell.addElement(png_struc);
        table.addCell(cell);

        cell = new PdfPCell(p);
        cell.setBackgroundColor(Color.white);
        table.addCell(cell);

    } catch (Exception x) {
        logger.log(Level.SEVERE, "Error while writing molecule", x);
    }

}

From source file:ambit2.data.qmrf.Qmrf_Xml_Pdf.java

License:Open Source License

public void headerTable(Document pdfdoc, org.w3c.dom.Document xmldoc) {
    try {//ww w  .j a  v  a2 s .  c om
        int header_font_size = 10;
        Image png_left = Image
                .getInstance(Qmrf_Xml_Pdf.class.getClassLoader().getResource("ambit/data/qmrf/logo.png"));
        Image png_right = Image
                .getInstance(Qmrf_Xml_Pdf.class.getClassLoader().getResource("ambit/data/qmrf/logo.png"));
        png_left.setAlignment(Image.LEFT);
        png_right.setAlignment(Image.RIGHT);
        png_left.scalePercent(60);
        png_right.scalePercent(60);
        //png.scaleAbsolute(76, 67);
        //png.setAlignment(Image.MIDDLE);

        PdfPCell cell;

        float[] widths = { 1f, 5f, 1f };
        float[] widths1 = { 1f };
        PdfPTable table = new PdfPTable(widths);
        PdfPTable table1 = new PdfPTable(widths1);

        table.setWidthPercentage(100);

        cell = new PdfPCell();
        cell.setMinimumHeight(70);
        cell.addElement(new Chunk(png_left, +14, -40));
        table.addCell(cell);

        String Text = "";
        try {

            Text = findNodeValue(xml_QMRF_number, xmldoc);
            Chunk ident_title = new Chunk("QMRF identifier (ECB Inventory):");
            Chunk ident_text = new Chunk(Text);

            Font bi_font = new Font(baseFont, header_font_size, Font.BOLDITALIC);
            Font i_font = new Font(baseFont, header_font_size, Font.ITALIC);

            ident_title.setFont(bi_font);
            ident_text.setFont(i_font);
            Paragraph p = new Paragraph();
            p.add(ident_title);
            p.add(ident_text);
            cell = new PdfPCell(p);
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table1.addCell(cell);

            ident_title = new Chunk("QMRF Title:");
            Phrase textPhrase = new Phrase();
            createNodePhrase("QSAR_title", xmldoc, textPhrase, i_font);
            ident_title.setFont(bi_font);

            p = new Paragraph();
            p.add(ident_title);
            p.add(textPhrase);
            cell = new PdfPCell(p);
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table1.addCell(cell);

            java.util.Date now = new java.util.Date();
            java.text.DateFormat df = java.text.DateFormat.getDateInstance();
            String date = df.format(now);
            ident_title = new Chunk("Printing Date:");
            ident_text = new Chunk(date);
            ident_title.setFont(bi_font);
            ident_text.setFont(i_font);
            p = new Paragraph();
            p.add(ident_title);
            p.add(ident_text);

            cell = new PdfPCell(p);
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table1.addCell(cell);

            p = new Paragraph("");
            cell = new PdfPCell(p);
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table1.addCell(cell);
            cell = new PdfPCell(table1);
            cell.setPadding(0f);
            table.addCell(cell);

        } catch (Throwable x) {
            x.printStackTrace();

        }

        //table.addCell(new PdfPCell(png, true));
        cell.addElement(new Chunk(png_right, +14, -40));
        table.addCell(cell);
        pdfdoc.add(table);
        pdfdoc.add(new Paragraph(16));

    } catch (Exception x) {
        x.printStackTrace();
    }
}

From source file:ambit2.db.reporters.PDFReporter.java

protected void writeMolecule(IAtomContainer molecule) {
    Object value;/*from ww w  .  j  a  va2s.  co  m*/

    try {

        Paragraph p = new Paragraph("");

        String s;

        for (Property property : header) {
            StringBuffer b = new StringBuffer();
            b.append(property.getLabel());
            b.append(" = ");
            value = molecule.getProperty(property);

            if (value != null) {
                if (value instanceof Number) {
                    s = value.toString();
                } else {
                    s = value.toString();
                }
                b.append(s);

                Chunk chunk = new Chunk(b.toString());
                chunk.setFont(font);
                p.add(new Paragraph(chunk));
            }

        }

        BufferedImage image = depict.getImage(molecule);
        image.flush();

        Image png_struc = Image.getInstance(image, Color.white);
        png_struc.setAlignment(Image.LEFT);
        png_struc.scalePercent(100);

        PdfPCell cell = new PdfPCell();
        cell.setMinimumHeight(cell.height());
        cell.addElement(png_struc);
        table.addCell(cell);

        cell = new PdfPCell(p);
        cell.setBackgroundColor(Color.white);
        table.addCell(cell);

    } catch (Exception x) {
        logger.log(java.util.logging.Level.FINE, x.getMessage(), x);
    }

}

From source file:ambit2.io.PDFWriter.java

License:Open Source License

public void writeMolecule(IMolecule molecule) {
    Object value;/*from   ww  w .  j  a va 2 s  .  c om*/

    try {

        //give it a chance to create a header just before the first write
        if (!writingStarted) {
            if (header == null)
                setHeader(molecule.getProperties());
            writeHeader();
            writingStarted = true;
        }

        Paragraph p = new Paragraph("");
        String s;
        for (int i = 0; i < header.size(); i++) {
            StringBuffer b = new StringBuffer();
            b.append(header.get(i));
            b.append(" = ");
            value = molecule.getProperty(header.get(i));
            if (i == smilesIndex) {

                if (value == null) //no SMILES available
                    try {
                        value = ""; //sg.createSMILES(molecule);
                    } catch (Exception x) {
                        logger.error("Error while createSMILES\t", x.getMessage());
                        value = "";
                    }
            }
            if (value != null) {
                if (value instanceof Number) {
                    s = value.toString();
                } else {
                    s = value.toString();

                }

                b.append(s);
                p.add(new Paragraph(b.toString()));
            }

        }
        BufferedImage image = imageTools.getImage(molecule);
        image.flush();

        Image png_struc = Image.getInstance(image, Color.white);
        png_struc.setAlignment(Image.LEFT);
        png_struc.scalePercent(100);

        PdfPCell cell = new PdfPCell();
        cell.setMinimumHeight(cell.height());
        cell.addElement(png_struc);
        table.addCell(cell);

        cell = new PdfPCell(p);
        cell.setBackgroundColor(Color.white);
        table.addCell(cell);

    } catch (Exception x) {
        logger.error("ERROR while writing Molecule: ", x.getMessage());
        logger.debug(x);
        x.printStackTrace();
    }

}

From source file:candelaria.presentacion.beans.DetalleFacturaControlador.java

public void imprimirFac() {
    //DateFormat dfDateFull = DateFormat.getDateInstance(DateFormat.FULL);
    try {//from   w w  w. j  ava  2s  .co m

        //Generamos el archivo PDF
        String directorioArchivos;
        ServletContext ctx = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
                .getContext();
        directorioArchivos = ctx.getRealPath("/") + "reports";
        String name = directorioArchivos + "/document-factura.pdf";
        Document document = new Document();
        PdfWriter.getInstance(document, new FileOutputStream(name));
        //PdfWriter writer = PdfWriter.getInstance(document,
        //new FileOutputStream("C:"));

        Paragraph paragraph = new Paragraph();
        Paragraph paragraph1 = new Paragraph();
        PdfPTable table = new PdfPTable(4);
        PdfPTable table1 = new PdfPTable(2);
        PdfPTable table2 = new PdfPTable(1);
        PdfPTable table3 = new PdfPTable(2);
        PdfPTable table5 = new PdfPTable(4);
        PdfPTable tablaF = new PdfPTable(1);
        PdfPTable tablaF1 = new PdfPTable(3);
        PdfPTable tablaF2 = new PdfPTable(3);

        paragraph.add("\n\n\n");
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);

        paragraph.add("YUQUI OLGA");
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);
        paragraph.add("\n");
        paragraph.add("Dir. La Candelaria Barrio Nuevo");
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);
        paragraph.add("\n");
        paragraph.add("Telf: 3014019");
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);
        paragraph.add("\n");
        paragraph.add("Penipe - Ecuador");
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);
        paragraph.add("\n");
        paragraph.add("\n");
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);
        paragraph.add("AUTORIZACION SRI __________ - RUC.: 0600750897001");
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);
        paragraph.add("\n");
        paragraph.add("FACTURA: " + facturaSel.getId_factura());
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);

        paragraph.add("\n\n\n");
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);

        paragraph1.add("\n\n");
        paragraph.setAlignment(Paragraph.ALIGN_CENTER);

        document.open();

        //primera linea   
        PdfPCell cell5 = new PdfPCell(new Paragraph("Fecha: " + fecha_cambiada));
        //PdfPCell cell6 = new PdfPCell(new Paragraph("Factura #: " + facturaSel.getId_factura()));
        PdfPCell cell7 = new PdfPCell(new Paragraph("Cedula: " + facturaSel.getId_cliente().getRuc_cliente()));
        //segunda linea
        PdfPCell cell8 = new PdfPCell(
                new Paragraph("Nombre Cliente: " + facturaSel.getId_cliente().getNombres_cliente()
                        + facturaSel.getId_cliente().getApellidos_cliente()));
        //tercera fila
        PdfPCell cell9 = new PdfPCell(
                new Paragraph("Direccin: " + facturaSel.getId_cliente().getDireccion_cliente()));
        PdfPCell cell10 = new PdfPCell(
                new Paragraph("Tlefono: " + facturaSel.getId_cliente().getTelefono_cliente()));

        PdfPCell cellf1 = new PdfPCell(new Paragraph("SubTotal     " + totalHoja));
        PdfPCell cellf2 = new PdfPCell(new Paragraph("Impuesto Iva " + impuestoFactura));
        PdfPCell cellf21 = new PdfPCell(new Paragraph("___________________"));
        PdfPCell cellf22 = new PdfPCell(new Paragraph("___________________"));
        PdfPCell cellf3 = new PdfPCell(new Paragraph("TOTAL        " + totalFactura));
        PdfPCell cellf31 = new PdfPCell(new Paragraph("FIRMA AUTORIZADA"));
        PdfPCell cellf32 = new PdfPCell(new Paragraph("FIRMA CLIENTE"));
        PdfPCell cell11 = new PdfPCell(new Paragraph("Cantidad"));
        PdfPCell cell12 = new PdfPCell(new Paragraph("Descripcin"));
        PdfPCell cell13 = new PdfPCell(new Paragraph("V. Unitario"));
        PdfPCell cell14 = new PdfPCell(new Paragraph("V. Total"));

        cell5.setHorizontalAlignment(Element.ALIGN_LEFT);
        //cell6.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell7.setHorizontalAlignment(Element.ALIGN_RIGHT);

        cellf1.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cellf2.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cellf3.setHorizontalAlignment(Element.ALIGN_RIGHT);

        cellf21.setHorizontalAlignment(Element.ALIGN_CENTER);
        cellf31.setHorizontalAlignment(Element.ALIGN_CENTER);
        cellf22.setHorizontalAlignment(Element.ALIGN_CENTER);
        cellf32.setHorizontalAlignment(Element.ALIGN_CENTER);

        cell8.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell9.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell10.setHorizontalAlignment(Element.ALIGN_RIGHT);

        cellf21.setBorder(Rectangle.NO_BORDER);
        cellf31.setBorder(Rectangle.NO_BORDER);
        cellf22.setBorder(Rectangle.NO_BORDER);
        cellf32.setBorder(Rectangle.NO_BORDER);

        cell5.setBorder(Rectangle.NO_BORDER);
        //cell6.setBorder(Rectangle.NO_BORDER);
        cell7.setBorder(Rectangle.NO_BORDER);
        cell8.setBorder(Rectangle.NO_BORDER);

        cell9.setBorder(Rectangle.NO_BORDER);
        cell10.setBorder(Rectangle.NO_BORDER);
        //cell7.setBorder(Rectangle.NO_BORDER);
        //cell8.setBorder(Rectangle.NO_BORDER);

        cell11.setBorder(Rectangle.NO_BORDER);
        cell12.setBorder(Rectangle.NO_BORDER);
        cell13.setBorder(Rectangle.NO_BORDER);
        cell14.setBorder(Rectangle.NO_BORDER);

        cellf1.setBorder(Rectangle.NO_BORDER);
        cellf2.setBorder(Rectangle.NO_BORDER);
        cellf3.setBorder(Rectangle.NO_BORDER);

        cell11.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell12.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell13.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell14.setHorizontalAlignment(Element.ALIGN_RIGHT);

        table1.addCell(cell5);
        //table1.addCell(cell6);
        table1.addCell(cell7);
        //aadir segunda fila
        table2.addCell(cell8);
        //aadir tercera fila
        table3.addCell(cell9);
        table3.addCell(cell10);
        //aadir cuarta fila
        table5.addCell(cell11);
        table5.addCell(cell12);
        table5.addCell(cell13);
        table5.addCell(cell14);
        tablaF.addCell(cellf1);

        tablaF1.addCell(cellf21);
        tablaF1.addCell(cellf22);
        tablaF1.addCell(cellf2);
        tablaF2.addCell(cellf31);
        tablaF2.addCell(cellf32);
        tablaF2.addCell(cellf3);

        for (int x = 0; x < lstDetalleFactura.size(); x++) {

            PdfPCell cell1 = new PdfPCell(new Paragraph("" + lstDetalleFactura.get(x).getCantidad()));
            PdfPCell cell2 = new PdfPCell(new Paragraph(
                    "" + lstDetalleFactura.get(x).getId_producto().getId_categoria().getNombre_producto()));
            PdfPCell cell3 = new PdfPCell(new Paragraph(
                    "" + lstDetalleFactura.get(x).getId_producto().getId_categoria().getPrecio_producto()));
            PdfPCell cell4 = new PdfPCell(new Paragraph("" + lstDetalleFactura.get(x).getValor_total()));
            /* Chunk chunk = new Chunk(
             "\n" + lstDetalles.get(x).getCantidadDet() + "       " + lstDetalles.get(x).getIdSer().getNombreSer() + "             " + lstDetalles.get(x).getIdSer().getPrecioSer()
             + "                          " + lstDetalles.get(x).getPrecio());*/

            cell1.setBorder(Rectangle.NO_BORDER);
            cell2.setBorder(Rectangle.NO_BORDER);
            cell3.setBorder(Rectangle.NO_BORDER);
            cell4.setBorder(Rectangle.NO_BORDER);

            cell1.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell2.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell3.setHorizontalAlignment(Element.ALIGN_RIGHT);
            cell4.setHorizontalAlignment(Element.ALIGN_RIGHT);

            cell1.setMinimumHeight(10f);
            cell2.setMinimumHeight(5f);

            table.setTotalWidth(100f);
            table.addCell(cell1);
            table.addCell(cell2);
            table.addCell(cell3);
            table.addCell(cell4);

            //aadir primera fila
            table.setSpacingBefore(30f);
            table.setSpacingAfter(50f);

            //paragraph4.add(chunk);
            //paragraph4.setAlignment(Paragraph.ALIGN_JUSTIFIED_ALL);
        }

        document.add(paragraph);
        document.add(table1);
        document.add(table2);
        document.add(table3);
        document.add(paragraph1);
        document.add(table5);
        document.add(table);
        document.add(tablaF);
        document.add(tablaF1);
        document.add(tablaF2);
        //document.setFooter(event);

        document.close();
        //----------------------------
        //Abrimos el archivo PDF
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
        response.setContentType("application/pdf");
        response.setHeader("Content-disposition", "inline=filename=" + name);
        try {
            response.getOutputStream().write(Util.getBytesFromFile(new File(name)));
            response.getOutputStream().flush();
            response.getOutputStream().close();
            context.responseComplete();

        } catch (IOException e) {
            e.printStackTrace();
        }

    } catch (Exception e) {
        e.printStackTrace();
    }

}