Example usage for com.itextpdf.text Document open

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

Introduction

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

Prototype

boolean open

To view the source code for com.itextpdf.text Document open.

Click Source Link

Document

Is the document open or not?

Usage

From source file:com.linksinnovation.elearning.utils.ppt2pdf.Ppt2Pdf.java

public static void convert(FileInputStream inputStream, FileOutputStream out)
        throws IOException, DocumentException {
    XMLSlideShow ppt = new XMLSlideShow(inputStream);
    inputStream.close();//  w  w w.j a  v  a2  s  . c om
    Dimension pgsize = ppt.getPageSize();

    Document document = new Document();
    PdfWriter pdfWriter = PdfWriter.getInstance(document, out);
    document.setPageSize(new Rectangle((float) pgsize.getWidth(), (float) pgsize.getHeight()));
    document.open();
    for (XSLFSlide slide : ppt.getSlides()) {
        System.out.println(pgsize.getWidth() + " " + pgsize.getHeight());
        PdfGraphics2D graphics = (PdfGraphics2D) pdfWriter.getDirectContent()
                .createGraphics((float) pgsize.getWidth(), (float) pgsize.getHeight());
        slide.draw(graphics);
        graphics.dispose();
        document.newPage();
    }
    document.close();
}

From source file:com.masscustsoft.service.ToPdf.java

License:Open Source License

private void createPdf(Map rpt, Map<String, String> i18n, File pdf) throws Exception {
    OutputStream out = new FileOutputStream(pdf);

    ThreadHelper.set("_fonts_", new HashMap<String, BaseFont>());
    ThreadHelper.set("_defaultFont_", BaseFont.createFont());

    String pageSize = MapUtil.getStr(rpt, "pageSize", "A4");
    int defaultFontSize = MapUtil.getInt(rpt, "defaultFontSize", 6);
    ThreadHelper.set("_defaultFontSize_", defaultFontSize);
    ThreadHelper.set("_rpt_", rpt);

    int i = pageSize.indexOf(';');
    String margins = "36 36 36 36";
    if (i > 0) {
        margins = pageSize.substring(i + 1);
        pageSize = pageSize.substring(0, i);
    }//www .  j ava 2  s  .  com
    boolean rotate = false;
    if (pageSize.startsWith("@")) {
        rotate = true;
        pageSize = pageSize.substring(1);
    }
    Rectangle pSize = PageSize.getRectangle(pageSize);
    if (rotate)
        pSize = pSize.rotate();

    String mars[] = margins.split(" ");
    float ml = 0, mt = 0, mr = 0, mb = 0;
    mr = mt = mb = ml = LightUtil.decodeFloat(mars[0]);
    if (mars.length > 1) {
        mt = mb = LightUtil.decodeFloat(mars[1]);
    }
    if (mars.length > 2) {
        mr = LightUtil.decodeFloat(mars[2]);
    }
    if (mars.length > 3) {
        mb = LightUtil.decodeFloat(mars[3]);
    }
    Document doc = new Document(pSize, ml, mr, mt, mb);
    MapUtil.setIfStr(rpt, "author", doc, "addAuthor");
    MapUtil.setIfStr(rpt, "creator", doc, "addCreator");
    MapUtil.setIfStr(rpt, "title", doc, "addTitle");
    MapUtil.setIfStr(rpt, "keyWords", doc, "addKeywords");
    MapUtil.setIfStr(rpt, "subject", doc, "addSubject");

    PdfWriter writer = PdfWriter.getInstance(doc, out);
    writer.setPageEvent(this);
    writer.setStrictImageSequence(true);
    ThreadHelper.set("_writer_", writer);
    ThreadHelper.set("_doc_", doc);
    doc.open();

    List<Map> items = (List) rpt.get("items");
    for (Map row : items) {
        Element el = getElement(row);
        if (el != null)
            doc.add(el);
    }
    doc.close();
    out.close();
    writer.close();

    ThreadHelper.set("_writer_", null);
    ThreadHelper.set("_doc_", null);

}

From source file:com.maxl.java.amikodesk.SaveBasket.java

License:Open Source License

public void generatePdf(Author author, String filename, String type) {
    // A4: 8.267in x 11.692in => 595.224units x 841.824units (72units/inch)

    // marginLeft, marginRight, marginTop, marginBottom
    Document document = new Document(PageSize.A4, 50, 50, 80, 50);
    try {//from   ww w.  j  a  va  2  s  .co m
        if (m_shopping_basket.size() > 0) {
            PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename));
            writer.setBoxSize("art", new Rectangle(50, 50, 560, 790));

            HeaderFooter event = new HeaderFooter();
            writer.setPageEvent(event);

            document.open();

            PdfContentByte cb = writer.getDirectContent();

            document.addAuthor("ywesee GmbH");
            document.addCreator("AmiKo for Windows");
            document.addCreationDate();

            // Logo
            String logoImageStr = m_prefs.get(LogoImageID, Constants.IMG_FOLDER + "empty_logo.png");
            File logoFile = new File(logoImageStr);
            if (!logoFile.exists())
                logoImageStr = Constants.IMG_FOLDER + "empty_logo.png";

            Image logo = Image.getInstance(logoImageStr);
            logo.scalePercent(30);
            logo.setAlignment(Rectangle.ALIGN_RIGHT);
            document.add(logo);
            document.add(Chunk.NEWLINE);

            // Bestelladresse
            // --> String bestellAdrStr = m_prefs.get(BestellAdresseID, m_rb.getString("noaddress1")); 
            String bestellAdrStr = getAddressAsString(BestellAdresseID);
            Paragraph p = new Paragraph(12);
            // p.setIndentationLeft(60);
            p.add(new Chunk(bestellAdrStr, font_norm_10));
            document.add(p);
            document.add(Chunk.NEWLINE);

            // Title
            p = new Paragraph(m_rb.getString("order"), font_bold_16);
            document.add(p);

            // Date
            DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
            Date date = new Date();
            p = new Paragraph(m_rb.getString("date") + ": " + dateFormat.format(date), font_bold_10);
            p.setSpacingAfter(20);
            document.add(p);

            // document.add(Chunk.NEWLINE);

            // Add addresses (Lieferadresse + Rechnungsadresse)
            /* --> OLD
            String lieferAdrStr = m_prefs.get(LieferAdresseID, m_rb.getString("noaddress2"));
            String rechnungsAdrStr = m_prefs.get(RechnungsAdresseID, m_rb.getString("noaddress3"));              
            */
            // --> NEW
            String lieferAdrStr = getAddressAsString(LieferAdresseID);
            String rechnungsAdrStr = getAddressAsString(RechnungsAdresseID);

            PdfPTable addressTable = new PdfPTable(new float[] { 1, 1 });
            addressTable.setWidthPercentage(100f);
            addressTable.getDefaultCell().setPadding(5);
            addressTable.setSpacingAfter(5f);
            addressTable.addCell(getStringCell(m_rb.getString("shipaddress"), font_bold_10, PdfPCell.NO_BORDER,
                    Element.ALIGN_MIDDLE, 1));
            addressTable.addCell(getStringCell(m_rb.getString("billaddress"), font_bold_10, PdfPCell.NO_BORDER,
                    Element.ALIGN_MIDDLE, 1));
            addressTable.addCell(
                    getStringCell(lieferAdrStr, font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1));
            addressTable.addCell(
                    getStringCell(rechnungsAdrStr, font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1));
            document.add(addressTable);

            document.add(Chunk.NEWLINE);

            // Add shopping basket
            if (type.equals("specific"))
                document.add(getShoppingBasketForAuthor(author, cb));
            else if (type.equals("all"))
                document.add(getFullShoppingBasket(cb, "all"));
            else if (type.equals("rest"))
                document.add(getFullShoppingBasket(cb, "rest"));
            LineSeparator separator = new LineSeparator();
            document.add(separator);
        }
    } catch (IOException e) {

    } catch (DocumentException e) {

    }

    document.close();
    // System.out.println("Saved PDF to " + filename);
}

From source file:com.microware.intrahealth.Createpdf2.java

@SuppressLint("SdCardPath")
public boolean write(Context context, String fname, String[] Header, ArrayList<HashMap<String, String>> data,
        String[] Page2, int Flag) throws Exception {
    try {//from w  ww. j a  v a  2 s .  c o  m
        //           file = new File(Environment.getExternalStorageDirectory()+IIHSPdf+ "/"+fname+".pdf");

        this.context = context;
        g = (Global) context.getApplicationContext();
        BaseFont urName = BaseFont.createFont("assets/FreeSans.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        urFontName = new Font(urName, 12);
        urName1 = FontFactory.getFont("assets/mangal.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        // urFontName = new Font(urName, 12);
        sHeader[0] = context.getResources().getString(R.string.hrpreport);
        sHeader[1] = context.getResources().getString(R.string.anmname) + " " + g.getsGlobalANMName() + " "
                + context.getResources().getString(R.string.distname);
        sHeader[2] = context.getResources().getString(R.string.Identificationcode);
        sHeader2[0] = context.getResources().getString(R.string.Identificationcode1);
        sHeader2[1] = context.getResources().getString(R.string.totalhrp);
        sHeader2[2] = context.getResources().getString(R.string.totalcheckup);
        sHeader2[3] = context.getResources().getString(R.string.anmsign);
        catFont2 = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD, new BaseColor(0, 85, 133));

        if (Flag == 2) {

            catFont = new Font(urName, 16, Font.BOLD);
            catFont1 = new Font(urName, 16, Font.BOLD, new BaseColor(0, 85, 133));
            subFont = new Font(urName, 14);
            smallBold = new Font(urName, 12, Font.BOLD, BaseColor.WHITE);
        } else {

            catFont = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD);
            catFont1 = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD, new BaseColor(0, 85, 133));
            subFont = new Font(Font.FontFamily.TIMES_ROMAN, 14);
            smallBold = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD, BaseColor.WHITE);
        }

        String fpath = "/sdcard/msakhi/Pdf";
        File path = new File(fpath);
        File file = new File(path, fname + ".pdf");

        if (!path.exists()) {
            path.mkdirs();
            if (!file.exists()) {
                file.createNewFile();
            }
        } else {
            if (!file.exists()) {
                file.createNewFile();
            }
        }

        //         Font bfBold12 = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD, new BaseColor(0, 0, 0));
        //         Font bf12 = new Font(Font.FontFamily.TIMES_ROMAN, 12);

        Document document = new Document(A4.rotate());

        PdfWriter.getInstance(document, new FileOutputStream(file.getAbsoluteFile()));

        document.open();
        //         addMetaData(document);
        //          addTitlePage(document);
        addContent(document, Header, data, sHeader2, Flag);
        document.close();
        return true;
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    } catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return false;
    }
}

From source file:com.microware.intrahealth.Createpdfall.java

@SuppressLint("SdCardPath")
public boolean write(String fname, String[] Header1, String[] Page1, String[] Page1Value, String heading1,
        String Page1Remark,/*from   ww  w.ja va2  s  .c  o  m*/

        String[] Header2, String[] Page2_1, String[] Page2_1source, String[] Page2_1value, String[] Page2_2,
        String[] Page2_2source, String[] Page2_2value, String[] Page2_3, String[] Page2_3source,
        String[] Page2_3value, String heading2, String heading3, String heading4, String heading5,
        String Remark2Value,

        String[] Header3, String[] Page31, String[] Page3Census1, String[] Page3Value1, String[] Page32,
        String[] Page3Census2, String[] Page3Value2, String heading6, String heading7, String heading8,
        String Page3Remark,

        String[] Header4, String[] Page4_1, String[] Page4Value1, String[] Page4_2, String[] Page4Value2,
        String[] Page4_3, String[] Page4Value3, String heading9, String heading10, String heading11,
        String heading12, String Page4Remark1, String Page4Remark3,

        String[] Header5, String[] Page5Value1, String[] Page5Value2, String[] Page5Value3,
        String[] Page5Value4, String[] Page5_2, String[] Page5Value5, String[] Page5_3, String[] Page5Value6,
        String text5, String value5, String heading13, String heading14, String heading15, String Page5Remark1,
        String Page5Remark2,

        String[] Header6, String[] Page6Value1, String[] Page6Value2, String[] Page6Value3,
        String[] Page6Value4, String text6, String value6, String heading16,

        String[] Header7_1, String[] Page7Value1, String[] Page7Value2, String[] Page7Value3,
        String[] Page7Value4, String[] Page7Value5, String[] Header7_2, String[] Page7Value6,
        String[] Page7Value7, String[] Page7Value8, String[] Page7Value9, String[] Page7Value10,
        String[] Page7Value11, String text7_1, String value7_1, String text7_2, String value7_2,
        String heading17, String heading18, String heading19, String pdf1, String pdf2, int Flag)
        throws Exception {
    try {
        //           file = new File(Environment.getExternalStorageDirectory()+IIHSPdf+ "/"+fname+".pdf");

        BaseFont urName = BaseFont.createFont("assets/baamini.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        urFontName = new Font(urName, 12);

        catFont2 = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD, new BaseColor(0, 85, 133));

        if (Flag == 2) {

            catFont = new Font(urName, 16, Font.BOLD);
            catFont1 = new Font(urName, 16, Font.BOLD, new BaseColor(0, 85, 133));
            subFont = new Font(urName, 14);
            smallBold = new Font(urName, 12, Font.BOLD, BaseColor.WHITE);
        } else {

            catFont = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD);
            catFont1 = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD, new BaseColor(0, 85, 133));
            subFont = new Font(Font.FontFamily.TIMES_ROMAN, 14);
            smallBold = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD, BaseColor.WHITE);
        }

        String fpath = "/sdcard/IIHS/Pdfs";
        File path = new File(fpath);
        File file = new File(path, fname + ".pdf");

        if (!path.exists()) {
            path.mkdirs();
            if (!file.exists()) {
                file.createNewFile();
            }
        } else {
            if (!file.exists()) {
                file.createNewFile();
            }
        }

        //         Font bfBold12 = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD, new BaseColor(0, 0, 0));
        //         Font bf12 = new Font(Font.FontFamily.TIMES_ROMAN, 12);

        Document document = new Document();

        PdfWriter.getInstance(document, new FileOutputStream(file.getAbsoluteFile()));

        document.open();
        //         addMetaData(document);
        //          addTitlePage(document);
        addContent(document, Header1, Page1, Page1Value, heading1, Page1Remark,

                Header2, Page2_1, Page2_1source, Page2_1value, Page2_2, Page2_2source, Page2_2value, Page2_3,
                Page2_3source, Page2_3value, heading2, heading3, heading4, heading5, Remark2Value,

                Header3, Page31, Page3Census1, Page3Value1, Page32, Page3Census2, Page3Value2, heading6,
                heading7, heading8, Page3Remark,

                Header4, Page4_1, Page4Value1, Page4_2, Page4Value2, Page4_3, Page4Value3, heading9, heading10,
                heading11, heading12, Page4Remark1, Page4Remark3,

                Header5, Page5Value1, Page5Value2, Page5Value3, Page5Value4, Page5_2, Page5Value5, Page5_3,
                Page5Value6, text5, value5, heading13, heading14, heading15, Page5Remark1, Page5Remark2,

                Header6, Page6Value1, Page6Value2, Page6Value3, Page6Value4, text6, value6, heading16,

                Header7_1, Page7Value1, Page7Value2, Page7Value3, Page7Value4, Page7Value5, Header7_2,
                Page7Value6, Page7Value7, Page7Value8, Page7Value9, Page7Value10, Page7Value11, text7_1,
                value7_1, text7_2, value7_2, heading17, heading18, heading19, pdf1, pdf2, Flag);
        document.close();
        return true;
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    } catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return false;
    }
}

From source file:com.mim.controllers.HomeCtrl.java

public String buildReport() {

    System.out.println("orden No. " + ordenId);

    FacesContext context = FacesContext.getCurrentInstance();
    HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
    //response.setContentType("application/pdf");
    //response.setHeader("Content-disposition", "inline=filename=file.pdf");

    // Get the text that will be added to the PDF
    current = ordenFacade.find(Integer.parseInt(ordenId));
    System.out.println("equipo: " + current.getEquipoIdequipo().getLugarIdlugar().getNombre());
    // step 1// w ww .jav  a  2  s.  c o m
    Document document = new Document(new Rectangle(800, 700), 7f, 7f, 50f, 7f);

    if (ordenId.equals("n/a")) {
        current.setNumeroOrden(current.getActividad());
    }

    equipo = current.getEquipoIdequipo();
    Lugar lugar = equipo.getLugarIdlugar();

    //PdfWriter.getInstance(document, new FileOutputStream(orden.getNumeroOrden() + ".pdf"));
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {
        PdfWriter.getInstance(document, baos);

        document.open();
        ordenReport(document, lugar);
        //document.add(new Paragraph("dsadasdas"));
        document.close();

        // step 2
        // setting some response headers
        response.setHeader("Content-disposition", "attachment; filename=" + current.getNumeroOrden() + ".pdf");// esto hizo que fuera descarga directa
        //response.setHeader("Expires", "0");
        //response.setHeader("Cache-Control",
        //        "must-revalidate, post-check=0, pre-check=0");
        //response.setHeader("Pragma", "public");
        // setting the content type
        response.setContentType("application/pdf");
        // the contentlength
        response.setContentLength(baos.size());
        try ( // write ByteArrayOutputStream to the ServletOutputStream
                OutputStream os = response.getOutputStream()) {
            baos.writeTo(os);
            os.flush();
        }
    } catch (DocumentException | IOException ex) {
        Logger.getLogger(HomeCtrl.class.getName()).log(Level.SEVERE, null, ex);
    }

    context.responseComplete();
    return null;

}

From source file:com.mim.controllers.OrdenCtrl.java

public String buildReport() {

    System.out.println("orden No. " + ordenId);

    FacesContext context = FacesContext.getCurrentInstance();
    HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
    //response.setContentType("application/pdf");
    //response.setHeader("Content-disposition", "inline=filename=file.pdf");

    // Get the text that will be added to the PDF
    current = ordenFacade.find(Integer.parseInt(ordenId));
    System.out.println("lugar equipo: " + current.getEquipoIdequipo().getLugarIdlugar().getNombre());
    // step 1//w  w  w .  j a v  a 2  s .co  m
    Document document = new Document(new Rectangle(800, 700), 7f, 7f, 50f, 7f);

    if (ordenId.equals("n/a")) {
        current.setNumeroOrden(current.getActividad());
    }

    equipo = current.getEquipoIdequipo();
    Lugar lugar = equipo.getLugarIdlugar();

    //PdfWriter.getInstance(document, new FileOutputStream(orden.getNumeroOrden() + ".pdf"));
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {
        PdfWriter.getInstance(document, baos);

        document.open();
        ordenReport(document, lugar);
        //document.add(new Paragraph("dsadasdas"));
        document.close();

        // step 2
        // setting some response headers
        response.setHeader("Content-disposition", "attachment; filename=" + current.getNumeroOrden() + ".pdf");// esto hizo que fuera descarga directa
        //response.setHeader("Expires", "0");
        //response.setHeader("Cache-Control",
        //        "must-revalidate, post-check=0, pre-check=0");
        //response.setHeader("Pragma", "public");
        // setting the content type
        response.setContentType("application/pdf");
        // the contentlength
        response.setContentLength(baos.size());
        try ( // write ByteArrayOutputStream to the ServletOutputStream
                OutputStream os = response.getOutputStream()) {
            baos.writeTo(os);
            os.flush();
        }
    } catch (DocumentException | IOException ex) {
        Logger.getLogger(HomeCtrl.class.getName()).log(Level.SEVERE, null, ex);
    }

    context.responseComplete();
    return null;

}

From source file:com.mim.servlet.ReportGen.java

public String buildReport(HttpServletResponse response) {

    System.out.println("orden No. " + ordenId);

    FacesContext context = FacesContext.getCurrentInstance();

    //response.setContentType("application/pdf");
    //response.setHeader("Content-disposition", "inline=filename=file.pdf");

    // Get the text that will be added to the PDF
    current = ordenFacade.find(Integer.parseInt(ordenId));
    System.out.println("equipo: " + current.getEquipoIdequipo().getLugarIdlugar().getNombre());
    // step 1//from w  w  w  . jav a2  s  .co  m
    Document document = new Document(new Rectangle(800, 700), 7f, 7f, 50f, 7f);

    if (ordenId.equals("n/a")) {
        current.setNumeroOrden(current.getActividad());
    }

    equipo = current.getEquipoIdequipo();
    Lugar lugar = equipo.getLugarIdlugar();

    //PdfWriter.getInstance(document, new FileOutputStream(orden.getNumeroOrden() + ".pdf"));
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {
        PdfWriter.getInstance(document, baos);

        document.open();
        ordenReport(document, lugar);
        //document.add(new Paragraph("dsadasdas"));
        document.close();

        // step 2
        // setting some response headers
        response.setHeader("Content-disposition", "attachment; filename=" + current.getNumeroOrden() + ".pdf");// esto hizo que fuera descarga directa
        //response.setHeader("Expires", "0");
        //response.setHeader("Cache-Control",
        //        "must-revalidate, post-check=0, pre-check=0");
        //response.setHeader("Pragma", "public");
        // setting the content type
        response.setContentType("application/pdf");
        // the contentlength
        response.setContentLength(baos.size());
        try ( // write ByteArrayOutputStream to the ServletOutputStream
                OutputStream os = response.getOutputStream()) {
            baos.writeTo(os);
            os.flush();
        }
    } catch (DocumentException | IOException ex) {
        Logger.getLogger(HomeCtrl.class.getName()).log(Level.SEVERE, null, ex);
    }

    context.responseComplete();
    return null;

}

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

private void crearPdfLavadasPendientes(Document doc, List<Lavada> lavadas) {
    Paragraph parrafo;/*  www.  j av a 2  s  . c  om*/
    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 (lavadas.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 = "Lavadas Pendientes";
        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("Fecha", FontFactory.getFont(fuente, 12, Font.BOLD, BaseColor.WHITE));
        cell = new PdfPCell(frase);
        cell.setBackgroundColor(BaseColor.RED);
        tabla.addCell(cell);

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

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

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

        i = 1;

        for (Lavada lavada : lavadas) {

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

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

                frase = new Phrase(lavada.getFechaLavado() + "");
                cell.setPhrase(frase);
                tabla.addCell(cell);

                frase = new Phrase(lavada.getCarro().getPlaca());
                cell.setPhrase(frase);
                tabla.addCell(cell);

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

                frase = new Phrase(lavada.getCarro().getCliente().getApellidos() + ", "
                        + lavada.getCarro().getCliente().getNombres());
                cell.setPhrase(frase);
                tabla.addCell(cell);

            } else {
                tabla.addCell(lavada.getId() + "");
                tabla.addCell(lavada.getFechaLavado() + "");
                tabla.addCell(lavada.getCarro().getPlaca());
                tabla.addCell(lavada.getCarro().getModelo().getNombre());
                tabla.addCell(lavada.getCarro().getCliente().getApellidos() + ", "
                        + lavada.getCarro().getCliente().getNombres());
            }
            i++;
        }
        doc.add(tabla);

        doc.close();
    } catch (DocumentException ex) {

    }
}

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

private void crearPdfCliente(Document doc, Cliente cliente) {
    Paragraph parrafo;/*from  ww w.ja  v  a  2  s . c o m*/
    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) {

    }
}