Example usage for com.lowagie.text.pdf PdfPTable setWidthPercentage

List of usage examples for com.lowagie.text.pdf PdfPTable setWidthPercentage

Introduction

In this page you can find the example usage for com.lowagie.text.pdf PdfPTable setWidthPercentage.

Prototype

public void setWidthPercentage(float widthPercentage) 

Source Link

Document

Sets the width percentage that the table will occupy in the page.

Usage

From source file:wagwaan.reports.OrdersPdf.java

public void generatePdf() {

    try {//ww w  . j  ava2 s .  c o m

        java.io.File tempFile = java.io.File.createTempFile("REP" + label.getDateLable() + "_", ".pdf");

        tempFile.deleteOnExit();

        java.lang.Runtime rt = java.lang.Runtime.getRuntime();

        java.lang.String debitTotal = null;

        java.lang.String creditTotal = null;
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document(PageSize.A4.rotate());

        try {

            try {

                com.lowagie.text.pdf.PdfWriter.getInstance(docPdf, new java.io.FileOutputStream(tempFile));

                String date = null;
                try {
                    java.sql.Statement st4 = connectDB.createStatement();

                    java.sql.ResultSet rset4 = st4.executeQuery("SELECT date(now()) as Date");
                    while (rset4.next())
                        date = rset4.getObject(1).toString();

                } catch (java.sql.SQLException SqlExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), SqlExec.getMessage());

                }

                com.lowagie.text.HeaderFooter footer = new com.lowagie.text.HeaderFooter(
                        new Phrase("Orders List - Page: "), true);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 12, Font.BOLDITALIC,java.awt.Color.blue));

                docPdf.setFooter(footer);

                docPdf.open();

                try {
                    ReportUtil.addCenteredTitlePage(docPdf, connectDB);

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(10);

                    int headerwidths[] = { 5, 10, 13, 10, 13, 10, 10, 10, 10, 10 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));
                    table.getDefaultCell().setBorder(Rectangle.BOTTOM);

                    table.getDefaultCell().setColspan(5);

                    Phrase phrase;

                    java.text.DateFormat dateFormat = java.text.DateFormat
                            .getDateInstance(java.text.DateFormat.MEDIUM);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Items Ordered");
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                    phrase = new Phrase("Printed On  :" + date, pFontHeader);
                    table.addCell(phrase);

                    String order_nuos = null;

                    Statement sta = connectDB.createStatement();
                    ResultSet rst = sta
                            .executeQuery("select order_id from stock_orders where order_id='" + orders + "'");
                    while (rst.next()) {
                        order_nuos = rst.getString(1);
                    }

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setColspan(10);
                    phrase = new Phrase(order_nuos, pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(1);
                    table.getDefaultCell()
                            .setBorder(PdfCell.TOP | PdfCell.LEFT | PdfCell.BOTTOM | PdfCell.RIGHT);
                    phrase = new Phrase("Count", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Code", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Name", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Quantity", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Price", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Date Ordered", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Expected Delivery", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Supplier", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Ordered By", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Total", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);

                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    try {
                        Statement s = connectDB.createStatement();
                        ResultSet r = s.executeQuery(
                                "SELECT  sum(price*quantity_ordered)  FROM stock_orders where order_id='"
                                        + orders + "' ");

                        java.sql.Statement st = connectDB.createStatement();

                        java.sql.ResultSet rset = st.executeQuery(
                                "SELECT ord.item_code, itm.item_name, quantity_ordered, price, date_ordered, expected_supply_date, "
                                        + "s.supplier_names, ordered_by, ord.price*ord.quantity_ordered  FROM stock_orders ord, stock_items itm, stock_suppliers s where order_id='"
                                        + orders + "' "
                                        + "and ord.item_code=itm.item_code and s.supplier_id=ord.supplier_id");
                        int count = 1;
                        while (rset.next()) {

                            table.getDefaultCell().setColspan(1);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            table.getDefaultCell().setColspan(1);
                            numberSeq += 1;

                            phrase = new Phrase("" + count + "   ", pFontHeader1);
                            table.addCell(phrase);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(1), "-"), pFontHeader1);

                            table.addCell(phrase);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(2), "-"), pFontHeader1);

                            table.addCell(phrase);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(3), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(4), "-"), pFontHeader1);

                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(5), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(6), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(7), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(8), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(9), "-"), pFontHeader1);
                            table.addCell(phrase);

                            count++;
                        }
                        table.getDefaultCell().setColspan(10);
                        phrase = new Phrase(" ");
                        table.addCell(phrase);

                        String gt = null;
                        while (r.next()) {
                            gt = dbObject.getDBObject(r.getObject(1), "-");
                        }
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                        //                            table.getDefaultCell().setColspan(8);
                        phrase = new Phrase("GRAND TOTAL: " + gt, pFontHeader1);
                        table.addCell(phrase);
                        //                            table.getDefaultCell().setColspan(2);
                        //                            table.addCell(new Phrase(""));
                        System.err.println("grand total");
                        docPdf.add(table);

                    } catch (java.sql.SQLException SqlExec) {

                        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(),
                                SqlExec.getMessage());

                    }

                } catch (com.lowagie.text.BadElementException BadElExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), BadElExec.getMessage());

                } catch (SQLException ex) {
                    Logger.getLogger(OrdersPdf.class.getName()).log(Level.SEVERE, null, ex);
                }

            } catch (java.io.FileNotFoundException fnfExec) {

                javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), fnfExec.getMessage());

            }
        } catch (com.lowagie.text.DocumentException lwDocexec) {

            javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), lwDocexec.getMessage());

        }

        docPdf.close();

        deskTop.open(tempFile);

    } catch (java.io.IOException IOexec) {

        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), IOexec.getMessage());

    }

}

From source file:wagwaan.reports.StaffRegPdf.java

public void generatePdf() {

    try {/*from  w ww.j  a  v  a 2  s . com*/

        java.io.File tempFile = java.io.File.createTempFile("REP" + label.getDateLable() + "_", ".pdf");

        tempFile.deleteOnExit();

        java.lang.Runtime rt = java.lang.Runtime.getRuntime();

        java.lang.String debitTotal = null;

        java.lang.String creditTotal = null;
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document(PageSize.A4.rotate());

        try {

            try {

                com.lowagie.text.pdf.PdfWriter.getInstance(docPdf, new java.io.FileOutputStream(tempFile));

                String date = null;
                try {
                    java.sql.Statement st4 = connectDB.createStatement();

                    java.sql.ResultSet rset4 = st4.executeQuery("SELECT date(now()) as Date");
                    while (rset4.next())
                        date = rset4.getObject(1).toString();

                    //                        com.lowagie.text.HeaderFooter headerFoter = new com.lowagie.text.HeaderFooter(new Phrase(""+compName+""),false);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 14, Font.BOLDITALIC,java.awt.Color.blue)));
                    //                        headerFoter.setAlignment(com.lowagie.text.HeaderFooter.ALIGN_CENTER);
                    //                        headerFoter.setRight(5);
                    //                        docPdf.setHeader(headerFoter);

                } catch (java.sql.SQLException SqlExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), SqlExec.getMessage());

                }

                com.lowagie.text.HeaderFooter footer = new com.lowagie.text.HeaderFooter(
                        new Phrase("Staff Register - Page: "), true);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 12, Font.BOLDITALIC,java.awt.Color.blue));

                docPdf.setFooter(footer);

                docPdf.open();

                ReportUtil.addCenteredTitlePage(docPdf, connectDB);
                try {

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(8);

                    int headerwidths[] = { 7, 10, 20, 13, 13, 13, 11, 13 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));
                    table.getDefaultCell().setBorder(Rectangle.BOTTOM);

                    table.getDefaultCell().setColspan(4);

                    Phrase phrase;

                    java.text.DateFormat dateFormat = java.text.DateFormat
                            .getDateInstance(java.text.DateFormat.MEDIUM);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Staff Register");
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                    phrase = new Phrase("Printed On  :" + date, pFontHeader);
                    table.addCell(phrase);

                    //                        String order_nuos=null;
                    //                        
                    //                        Statement sta=connectDB.createStatement();
                    //                        ResultSet rst=sta.executeQuery("select order_id from stock_orders where order_id='"+orders+"'");
                    //                        while(rst.next()){
                    //                        order_nuos=rst.getString(1);
                    //                        }

                    table.getDefaultCell().setColspan(1);
                    table.getDefaultCell()
                            .setBorder(PdfCell.TOP | PdfCell.BOTTOM | PdfCell.LEFT | PdfCell.RIGHT);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    phrase = new Phrase("#", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    phrase = new Phrase("Staff ID", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    phrase = new Phrase("Names", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    phrase = new Phrase("ID NO.", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    phrase = new Phrase("Phone No.", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    phrase = new Phrase("Designation", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    phrase = new Phrase("Gender", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    phrase = new Phrase("Department", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);

                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    try {

                        java.sql.Statement st = connectDB.createStatement();

                        java.sql.ResultSet rset = st.executeQuery(
                                "SELECT staff_id, first_name||' '|| middle_name||' '|| last_name as names, national_id, phone_no, designation, "
                                        + "gender, dep.department_name  FROM staff_registration staff, departments dep where employment_date between '"
                                        + beginDate + "' and '" + endDate + "' "
                                        + "and  dep.department_id=staff.department_id");
                        int count = 1;
                        while (rset.next()) {

                            table.getDefaultCell().setColspan(1);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            table.getDefaultCell().setColspan(1);
                            numberSeq += 1;

                            phrase = new Phrase("" + count + "   ", pFontHeader1);
                            table.addCell(phrase);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(1), "-"), pFontHeader1);

                            table.addCell(phrase);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(2), "-"), pFontHeader1);

                            table.addCell(phrase);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(3), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(4), "-"), pFontHeader1);

                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(5), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(6), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(7), "-"), pFontHeader1);
                            table.addCell(phrase);

                            count++;
                        }

                        docPdf.add(table);

                    } catch (java.sql.SQLException SqlExec) {

                        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(),
                                SqlExec.getMessage());

                    }

                } catch (com.lowagie.text.BadElementException BadElExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), BadElExec.getMessage());

                }

            } catch (java.io.FileNotFoundException fnfExec) {

                javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), fnfExec.getMessage());

            } catch (SQLException ex) {
                Logger.getLogger(StaffRegPdf.class.getName()).log(Level.SEVERE, null, ex);
            } catch (BadElementException ex) {
                Logger.getLogger(StaffRegPdf.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (com.lowagie.text.DocumentException lwDocexec) {

            javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), lwDocexec.getMessage());

        }

        docPdf.close();

        deskTop.open(tempFile);

    } catch (java.io.IOException IOexec) {

        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), IOexec.getMessage());

    }

}

From source file:wagwaan.reports.StocksIssuingPdf.java

public void generatePdf() {

    try {//from w w w . j  a v a 2s. c o m

        java.io.File tempFile = java.io.File.createTempFile("REP" + label.getDateLable() + "_", ".pdf");

        tempFile.deleteOnExit();

        java.lang.Runtime rt = java.lang.Runtime.getRuntime();

        java.lang.String debitTotal = null;

        java.lang.String creditTotal = null;
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document(PageSize.A4.rotate());

        try {

            try {

                com.lowagie.text.pdf.PdfWriter.getInstance(docPdf, new java.io.FileOutputStream(tempFile));

                String date = null;
                try {
                    java.sql.Statement st4 = connectDB.createStatement();

                    java.sql.ResultSet rset4 = st4.executeQuery("SELECT date(now()) as Date");
                    while (rset4.next())
                        date = rset4.getObject(1).toString();

                    //                        com.lowagie.text.HeaderFooter headerFoter = new com.lowagie.text.HeaderFooter(new Phrase(""+compName+""),false);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 14, Font.BOLDITALIC,java.awt.Color.blue)));
                    //                        headerFoter.setAlignment(com.lowagie.text.HeaderFooter.ALIGN_CENTER);
                    //                        headerFoter.setRight(5);
                    //                        docPdf.setHeader(headerFoter);

                } catch (java.sql.SQLException SqlExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), SqlExec.getMessage());

                }

                com.lowagie.text.HeaderFooter footer = new com.lowagie.text.HeaderFooter(
                        new Phrase("Issuing List - Page: "), true);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 12, Font.BOLDITALIC,java.awt.Color.blue));

                docPdf.setFooter(footer);

                docPdf.open();

                ReportUtil.addCenteredTitlePage(docPdf, connectDB);
                try {

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(8);

                    int headerwidths[] = { 10, 12, 20, 10, 15, 12, 10, 11 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));
                    table.getDefaultCell().setBorder(Rectangle.BOTTOM);

                    table.getDefaultCell().setColspan(4);

                    Phrase phrase;

                    java.text.DateFormat dateFormat = java.text.DateFormat
                            .getDateInstance(java.text.DateFormat.MEDIUM);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Items Issued");
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(4);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                    phrase = new Phrase("Printed On  :" + date, pFontHeader);
                    table.addCell(phrase);

                    String receive_nuos = null;

                    Statement sta = connectDB.createStatement();
                    ResultSet rst = sta.executeQuery(
                            "select issue_no from st_receiving_issuing where issue_no='" + issue + "'");
                    while (rst.next()) {
                        receive_nuos = rst.getString(1);
                    }
                    table.getDefaultCell().setColspan(8);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);

                    phrase = new Phrase(receive_nuos, pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(1);
                    table.getDefaultCell()
                            .setBorder(PdfCell.TOP | PdfCell.BOTTOM | PdfCell.LEFT | PdfCell.RIGHT);
                    phrase = new Phrase("Count", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Code", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Name", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Qty_issued", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Receiving Department", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Received By", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Issued By", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Issue Date", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);

                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    try {
                        /*Statement s=connectDB.createStatement();
                        ResultSet r=s.executeQuery("SELECT  sum(ord.price*quantity_received) total  FROM st_receiving_issuing REV, stock_orders ord, stock_items itm "
                            + "where receiving_no='"+issue+"' and itm.item_code=ord.item_code and itm.item_code=rev.item_code");*/

                        java.sql.Statement st = connectDB.createStatement();

                        java.sql.ResultSet rset = st.executeQuery(
                                "select st.item_code, item_name, quantity_issued, receiving_dept, receiver, issuer, issuing_date from st_receiving_issuing st,"
                                        + " stock_items itm where issue_no='" + issue
                                        + "'and itm.item_code=st.item_code");
                        int count = 1;
                        while (rset.next()) {

                            table.getDefaultCell().setColspan(1);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            table.getDefaultCell().setColspan(1);
                            numberSeq += 1;

                            phrase = new Phrase("" + count + "   ", pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(1), "-"), pFontHeader1);

                            table.addCell(phrase);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(2), "-"), pFontHeader1);

                            table.addCell(phrase);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(3), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(4), "-"), pFontHeader1);

                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(5), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(6), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(7), "-"), pFontHeader1);
                            table.addCell(phrase);

                            count++;
                        }
                        /*table.getDefaultCell().setColspan(12);
                        phrase=new Phrase(" ");
                        table.addCell(phrase);
                                
                        String gt=null;
                        while(r.next()){
                        gt=dbObject.getDBObject(r.getObject(1), "-");
                        }
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                        phrase=new Phrase("GRAND TOTAL: "+gt, pFontHeader1);
                        table.addCell(phrase);
                        System.err.println("grand total");
                        */
                        docPdf.add(table);

                    } catch (java.sql.SQLException SqlExec) {

                        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(),
                                SqlExec.getMessage());

                    }

                } catch (com.lowagie.text.BadElementException BadElExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), BadElExec.getMessage());

                } catch (SQLException ex) {
                    Logger.getLogger(OrdersPdf.class.getName()).log(Level.SEVERE, null, ex);
                }

            } catch (java.io.FileNotFoundException fnfExec) {

                javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), fnfExec.getMessage());

            } catch (SQLException ex) {
                Logger.getLogger(StocksIssuingPdf.class.getName()).log(Level.SEVERE, null, ex);
            } catch (BadElementException ex) {
                Logger.getLogger(StocksIssuingPdf.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (com.lowagie.text.DocumentException lwDocexec) {

            javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), lwDocexec.getMessage());

        }

        docPdf.close();

        deskTop.open(tempFile);

    } catch (java.io.IOException IOexec) {

        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), IOexec.getMessage());

    }

}

From source file:wagwaan.reports.StocksReceivingPdf.java

public void generatePdf() {

    try {//  w  w  w .  j ava2 s .c o  m

        java.io.File tempFile = java.io.File.createTempFile("REP" + label.getDateLable() + "_", ".pdf");

        tempFile.deleteOnExit();

        java.lang.Runtime rt = java.lang.Runtime.getRuntime();

        java.lang.String debitTotal = null;

        java.lang.String creditTotal = null;
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document(PageSize.A4.rotate());

        try {

            try {

                com.lowagie.text.pdf.PdfWriter.getInstance(docPdf, new java.io.FileOutputStream(tempFile));

                String date = null;
                try {
                    java.sql.Statement st4 = connectDB.createStatement();

                    java.sql.ResultSet rset4 = st4.executeQuery("SELECT date(now()) as Date");
                    while (rset4.next())
                        date = rset4.getObject(1).toString();

                    //                        com.lowagie.text.HeaderFooter headerFoter = new com.lowagie.text.HeaderFooter(new Phrase(""+compName+""),false);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 14, Font.BOLDITALIC,java.awt.Color.blue)));
                    //                        headerFoter.setAlignment(com.lowagie.text.HeaderFooter.ALIGN_CENTER);
                    //                        headerFoter.setRight(5);
                    //                        docPdf.setHeader(headerFoter);

                } catch (java.sql.SQLException SqlExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), SqlExec.getMessage());

                }

                com.lowagie.text.HeaderFooter footer = new com.lowagie.text.HeaderFooter(
                        new Phrase("Receiving List - Page: "), true);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 12, Font.BOLDITALIC,java.awt.Color.blue));

                docPdf.setFooter(footer);

                docPdf.open();

                ReportUtil.addCenteredTitlePage(docPdf, connectDB);
                try {

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(12);

                    int headerwidths[] = { 6, 8, 8, 10, 9, 7, 9, 7, 9, 9, 9, 9 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));
                    table.getDefaultCell().setBorder(Rectangle.BOTTOM);

                    table.getDefaultCell().setColspan(6);

                    Phrase phrase;

                    java.text.DateFormat dateFormat = java.text.DateFormat
                            .getDateInstance(java.text.DateFormat.MEDIUM);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Items Received");
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                    phrase = new Phrase("Printed On  :" + date, pFontHeader);
                    table.addCell(phrase);

                    String receive_nuos = null;

                    Statement sta = connectDB.createStatement();
                    ResultSet rst = sta
                            .executeQuery("select receiving_no from st_receiving_issuing where receiving_no='"
                                    + receive + "'");
                    while (rst.next()) {
                        receive_nuos = rst.getString(1);
                    }
                    table.getDefaultCell().setColspan(12);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);

                    phrase = new Phrase(receive_nuos, pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(1);
                    table.getDefaultCell()
                            .setBorder(PdfCell.TOP | PdfCell.BOTTOM | PdfCell.LEFT | PdfCell.RIGHT);
                    phrase = new Phrase("Count", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Code", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Name", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Qty_ordered", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Qty_received", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Price", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Total", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Supplier", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Date Ordered", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Receive Date", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Order ID", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Received By", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);

                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    try {
                        Statement s = connectDB.createStatement();
                        ResultSet r = s.executeQuery(
                                "SELECT  buying_price, quantity_Received, sum(itm.buying_price*quantity_received) total  FROM st_receiving_issuing REV, "
                                        + "stock_items itm where receiving_no='" + receive
                                        + "' and itm.item_code=rev.item_code group by 1, 2");

                        java.sql.Statement st = connectDB.createStatement();

                        java.sql.ResultSet rset = st.executeQuery(
                                "select rec.item_code, itm.item_name, ord.quantity_ordered, quantity_received, buying_price, "
                                        + "quantity_received*buying_price as total, sup.supplier_names, date_ordered, receiving_date, rec.order_id, receiver from st_receiving_issuing rec, "
                                        + "stock_items itm, stock_orders ord, stock_suppliers sup where rec.item_code=itm.item_code and ord.item_code=rec.item_code "
                                        + "and ord.order_id=rec.order_id and sup.supplier_id=rec.supplier_id and receiving_no='"
                                        + receive + "'");
                        int count = 1;
                        while (rset.next()) {

                            table.getDefaultCell().setColspan(1);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            table.getDefaultCell().setColspan(1);
                            numberSeq += 1;

                            phrase = new Phrase("" + count + "   ", pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(1), "-"), pFontHeader1);

                            table.addCell(phrase);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(2), "-"), pFontHeader1);

                            table.addCell(phrase);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(3), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(4), "-"), pFontHeader1);

                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(5), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(6), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(7), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(8), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(9), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(10), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(11), "-"), pFontHeader1);
                            table.addCell(phrase);
                            count++;
                        }
                        table.getDefaultCell().setColspan(12);
                        phrase = new Phrase(" ");
                        table.addCell(phrase);

                        String gt = null;
                        while (r.next()) {
                            gt = dbObject.getDBObject(r.getObject(3), "-");
                        }
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                        phrase = new Phrase("GRAND TOTAL: " + gt, pFontHeader1);
                        table.addCell(phrase);
                        System.err.println("grand total");
                        docPdf.add(table);

                    } catch (java.sql.SQLException SqlExec) {

                        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(),
                                SqlExec.getMessage());

                    }

                } catch (com.lowagie.text.BadElementException BadElExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), BadElExec.getMessage());

                } catch (SQLException ex) {
                    Logger.getLogger(OrdersPdf.class.getName()).log(Level.SEVERE, null, ex);
                }

            } catch (java.io.FileNotFoundException fnfExec) {

                javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), fnfExec.getMessage());

            } catch (SQLException ex) {
                Logger.getLogger(StocksReceivingPdf.class.getName()).log(Level.SEVERE, null, ex);
            } catch (BadElementException ex) {
                Logger.getLogger(StocksReceivingPdf.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (com.lowagie.text.DocumentException lwDocexec) {

            javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), lwDocexec.getMessage());

        }

        docPdf.close();

        deskTop.open(tempFile);

    } catch (java.io.IOException IOexec) {

        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), IOexec.getMessage());

    }

}

From source file:wagwaan.reports.StocksRequestPdf.java

public void generatePdf() {

    try {/*from   w  ww. j  av  a 2  s.  co m*/

        java.io.File tempFile = java.io.File.createTempFile("REP" + label.getDateLable() + "_", ".pdf");

        tempFile.deleteOnExit();

        java.lang.Runtime rt = java.lang.Runtime.getRuntime();

        java.lang.String debitTotal = null;

        java.lang.String creditTotal = null;
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document(PageSize.A4.rotate());

        try {

            try {

                com.lowagie.text.pdf.PdfWriter.getInstance(docPdf, new java.io.FileOutputStream(tempFile));

                String date = null;
                try {
                    java.sql.Statement st3 = connectDB.createStatement();
                    java.sql.Statement st4 = connectDB.createStatement();

                    java.sql.ResultSet rset4 = st4.executeQuery("SELECT date(now()) as Date");
                    while (rset4.next())
                        date = rset4.getObject(1).toString();

                    //                        com.lowagie.text.HeaderFooter headerFoter = new com.lowagie.text.HeaderFooter(new Phrase(""+compName+""),false);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 14, Font.BOLDITALIC,java.awt.Color.blue)));
                    //                        headerFoter.setAlignment(com.lowagie.text.HeaderFooter.ALIGN_CENTER);
                    //                        headerFoter.setRight(5);
                    //                        docPdf.setHeader(headerFoter);

                } catch (java.sql.SQLException SqlExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), SqlExec.getMessage());

                }

                com.lowagie.text.HeaderFooter footer = new com.lowagie.text.HeaderFooter(
                        new Phrase("Receiving List - Page: "), true);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 12, Font.BOLDITALIC,java.awt.Color.blue));

                docPdf.setFooter(footer);

                docPdf.open();

                ReportUtil.addCenteredTitlePage(docPdf, connectDB);
                try {

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(8);

                    int headerwidths[] = { 11, 11, 20, 11, 11, 16, 10, 10 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));
                    table.getDefaultCell().setBorder(Rectangle.BOTTOM);

                    table.getDefaultCell().setColspan(8);

                    Phrase phrase;

                    java.text.DateFormat dateFormat = java.text.DateFormat
                            .getDateInstance(java.text.DateFormat.MEDIUM);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("ITEMS REQUESTED");
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(8);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                    phrase = new Phrase("Printed On  :" + date, pFontHeader);
                    table.addCell(phrase);

                    String receive_nuos = null;

                    Statement sta = connectDB.createStatement();
                    ResultSet rst = sta.executeQuery(
                            "select request_no from stock_request where request_no='" + receive + "'");
                    while (rst.next()) {
                        receive_nuos = rst.getString(1);
                    }
                    table.getDefaultCell().setColspan(8);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);

                    phrase = new Phrase(receive_nuos, pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(1);
                    table.getDefaultCell()
                            .setBorder(PdfCell.TOP | PdfCell.BOTTOM | PdfCell.LEFT | PdfCell.RIGHT);
                    phrase = new Phrase("##", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Code", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Name", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Quantity", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Request Date", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Expected Date", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Department Name", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Requisitioner", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);

                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    try {
                        Statement s = connectDB.createStatement();
                        ResultSet r = s.executeQuery(
                                "SELECT R.ITEM_CODE, ITEM_NAME, quantity_requested, REQUEST_DATE, EXPECTED_DATE,  "
                                        + "REQUESTING_DEPT, CURRENT_USR FROM STOCK_REQUEST R, STOCK_ITEMS I, DEPARTMENTS D WHERE I.ITEM_CODE=R.ITEM_CODE "
                                        + "AND REQUEST_NO='" + receive_nuos
                                        + "' AND REQUESTING_DEPT=D.DEPARTMENT_ID");

                        int count = 1;
                        while (r.next()) {

                            table.getDefaultCell().setColspan(1);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            table.getDefaultCell().setColspan(1);
                            numberSeq += 1;

                            phrase = new Phrase("" + count + "   ", pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(r.getObject(1), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(r.getObject(2), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(r.getObject(3), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(r.getObject(4), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(r.getObject(5), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(r.getObject(6), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(r.getObject(7), "-"), pFontHeader1);
                            table.addCell(phrase);
                            count++;
                        }

                        docPdf.add(table);

                    } catch (java.sql.SQLException SqlExec) {

                        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(),
                                SqlExec.getMessage());

                    }

                } catch (com.lowagie.text.BadElementException BadElExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), BadElExec.getMessage());

                } catch (SQLException ex) {
                    Logger.getLogger(StocksRequestPdf.class.getName()).log(Level.SEVERE, null, ex);
                }

            } catch (java.io.FileNotFoundException fnfExec) {

                javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), fnfExec.getMessage());

            } catch (SQLException ex) {
                Logger.getLogger(StocksRequestPdf.class.getName()).log(Level.SEVERE, null, ex);
            } catch (BadElementException ex) {
                Logger.getLogger(StocksRequestPdf.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (com.lowagie.text.DocumentException lwDocexec) {

            javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), lwDocexec.getMessage());

        }

        docPdf.close();

        deskTop.open(tempFile);

    } catch (java.io.IOException IOexec) {

        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), IOexec.getMessage());

    }

}

From source file:wagwaan.reports.SupplierInvPdf.java

public void generatePdf() {

    try {//w  w  w . j av a  2 s  . co  m

        java.io.File tempFile = java.io.File.createTempFile("REP" + label.getDateLable() + "_", ".pdf");

        tempFile.deleteOnExit();

        java.lang.Runtime rt = java.lang.Runtime.getRuntime();

        java.lang.String debitTotal = null;

        java.lang.String creditTotal = null;
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document(PageSize.A4.rotate());

        try {

            try {

                com.lowagie.text.pdf.PdfWriter.getInstance(docPdf, new java.io.FileOutputStream(tempFile));

                String date = null;
                try {
                    java.sql.Statement st4 = connectDB.createStatement();

                    java.sql.ResultSet rset4 = st4.executeQuery("SELECT date(now()) as Date");
                    while (rset4.next())
                        date = rset4.getObject(1).toString();

                } catch (java.sql.SQLException SqlExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), SqlExec.getMessage());

                }

                com.lowagie.text.HeaderFooter footer = new com.lowagie.text.HeaderFooter(
                        new Phrase("Supplier's Payment - Page: "), true);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 12, Font.BOLDITALIC,java.awt.Color.blue));

                docPdf.setFooter(footer);

                docPdf.open();
                ReportUtil.addCenteredTitlePage(docPdf, connectDB);

                try {

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(8);

                    int headerwidths[] = { 10, 10, 22, 10, 12, 12, 12, 12 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));
                    table.getDefaultCell().setBorder(Rectangle.BOTTOM);

                    table.getDefaultCell().setColspan(4);

                    Phrase phrase;

                    java.text.DateFormat dateFormat = java.text.DateFormat
                            .getDateInstance(java.text.DateFormat.MEDIUM);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Invoice Specifics");
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                    phrase = new Phrase("Printed On  :" + date, pFontHeader);
                    table.addCell(phrase);

                    Statement str = connectDB.createStatement();
                    ResultSet r = str.executeQuery(
                            "SELECT distinct(c.account_no), SUPPLIER_NAMES FROM STOCK_SUPPLIERS, creditors_ledger c "
                                    + "WHERE SUPPLIER_ID=c.account_no and invoice_no='" + invoice_no + "'");
                    String acno = null, names = null;
                    while (r.next()) {
                        acno = r.getString(1);
                        names = r.getString(2);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        phrase = new Phrase("ACCOUNT NO:  " + dbObject.getDBObject(r.getString(1), "-"),
                                pFontHeader1);
                        table.addCell(phrase);

                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        phrase = new Phrase("SUPPLIER NAMES:  " + dbObject.getDBObject(r.getString(2), "-"),
                                pFontHeader1);
                        table.addCell(phrase);
                    }

                    table.getDefaultCell().setColspan(8);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    phrase = new Phrase("INVOICE NO: " + invoice_no, pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);

                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    String receiving_no = null;
                    try {
                        Statement s = connectDB.createStatement();
                        ResultSet rr = s.executeQuery(
                                "SELECT DISTINCT(RECEIVING_NO) FROM CREDITORs_LEDGER WHERE INVOICE_NO='"
                                        + invoice_no + "'");

                        while (rr.next()) {
                            receiving_no = rr.getString(1);

                            table.getDefaultCell().setColspan(8);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(receiving_no, pFontHeader);
                            table.addCell(phrase);

                            table.getDefaultCell().setColspan(1);
                            table.getDefaultCell()
                                    .setBorder(PdfCell.TOP | PdfCell.LEFT | PdfCell.BOTTOM | PdfCell.RIGHT);
                            phrase = new Phrase("Count", pFontHeader);
                            table.addCell(phrase);

                            phrase = new Phrase("Item Code", pFontHeader);
                            table.addCell(phrase);

                            phrase = new Phrase("Item Name", pFontHeader);
                            table.addCell(phrase);

                            phrase = new Phrase("Quantity", pFontHeader);
                            table.addCell(phrase);

                            phrase = new Phrase("Price", pFontHeader);
                            table.addCell(phrase);

                            phrase = new Phrase("Total", pFontHeader);
                            table.addCell(phrase);

                            phrase = new Phrase("Amount Paid", pFontHeader);
                            table.addCell(phrase);

                            phrase = new Phrase("Balance", pFontHeader);
                            table.addCell(phrase);

                            java.sql.Statement st = connectDB.createStatement();
                            java.sql.ResultSet rset = st.executeQuery(
                                    "SELECT DISTINCT(C.ITEM_CODE), ITEM_NAME, BUYING_PRICE, QUANTITY_RECEIVED, "
                                            + "(BUYING_PRICE*QUANTITY_RECEIVED) AS TOTAL, SUM(DEBIT), (BUYING_PRICE*QUANTITY_RECEIVED)-SUM(DEBIT) AS BALANCE "
                                            + "FROM STOCK_ORDERS O, STOCK_ITEMS I, ST_RECEIVING_ISSUING R, CREDITORS_LEDGER C WHERE O.ITEM_CODE=I.ITEM_CODE "
                                            + "AND I.ITEM_CODE=C.ITEM_CODE AND R.RECEIVING_NO=C.RECEIVING_NO AND C.RECEIVING_NO='"
                                            + receiving_no + "' "
                                            + "AND O.ORDER_ID=R.ORDER_ID GROUP BY 1, 2, 3, 4, 5");
                            int count = 1;
                            while (rset.next()) {

                                table.getDefaultCell().setColspan(1);

                                table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                                phrase = new Phrase("" + count + "   ", pFontHeader1);
                                table.addCell(phrase);

                                table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                                phrase = new Phrase(dbObject.getDBObject(rset.getObject(1), "-"), pFontHeader1);

                                table.addCell(phrase);
                                phrase = new Phrase(dbObject.getDBObject(rset.getObject(2), "-"), pFontHeader1);

                                table.addCell(phrase);
                                table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                                phrase = new Phrase(dbObject.getDBObject(rset.getObject(3), "-"), pFontHeader1);
                                table.addCell(phrase);

                                table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                                phrase = new Phrase(dbObject.getDBObject(rset.getObject(4), "-"), pFontHeader1);

                                table.addCell(phrase);

                                table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                                phrase = new Phrase(dbObject.getDBObject(rset.getObject(5), "-"), pFontHeader1);
                                table.addCell(phrase);

                                table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                                phrase = new Phrase(dbObject.getDBObject(rset.getObject(6), "-"), pFontHeader1);
                                table.addCell(phrase);

                                table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                                phrase = new Phrase(dbObject.getDBObject(rset.getObject(7), "-"), pFontHeader1);
                                table.addCell(phrase);

                                count++;
                            }
                        }

                        table.getDefaultCell().setColspan(8);
                        phrase = new Phrase(" ");
                        table.addCell(phrase);
                        phrase = new Phrase(" ");
                        table.addCell(phrase);

                        double bal = 0.0;
                        //                             double bals=-bal;
                        Statement finale = connectDB.createStatement();
                        ResultSet f = finale.executeQuery(
                                "SELECT SUM(CREDIT)-SUM(DEBIT) FROM CREDITORS_LEDGER WHERE ACCOUNT_NO='" + acno
                                        + "'");

                        while (f.next()) {
                            bal = f.getDouble(1);
                        }
                        double bals = -bal;
                        System.out.println();
                        if (bal > 0) {
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            phrase = new Phrase("THE ORGANIZATION OWES " + names + " an amount of KSH. " + bal,
                                    pFontHeader);
                            table.addCell(phrase);
                        }

                        else {
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            phrase = new Phrase(
                                    "THE ORGANIZATION OVERPAID " + names + " an amount of KSH. " + bals,
                                    pFontHeader);
                            table.addCell(phrase);
                        }
                        docPdf.add(table);
                    } catch (java.sql.SQLException SqlExec) {

                        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(),
                                SqlExec.getMessage());

                    }

                } catch (com.lowagie.text.BadElementException BadElExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), BadElExec.getMessage());

                } catch (SQLException ex) {
                    Logger.getLogger(OrdersPdf.class.getName()).log(Level.SEVERE, null, ex);
                }

            } catch (java.io.FileNotFoundException fnfExec) {

                javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), fnfExec.getMessage());

            } catch (SQLException ex) {
                Logger.getLogger(SupplierInvPdf.class.getName()).log(Level.SEVERE, null, ex);
            } catch (BadElementException ex) {
                Logger.getLogger(SupplierInvPdf.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (com.lowagie.text.DocumentException lwDocexec) {

            javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), lwDocexec.getMessage());

        }

        docPdf.close();

        deskTop.open(tempFile);

    } catch (java.io.IOException IOexec) {

        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), IOexec.getMessage());

    }

}

From source file:wagwaan.reports.UpdatingStockCountPdf.java

public void generatePdf() {

    try {/*from  w  ww.ja va 2s  .  c  o  m*/

        java.io.File tempFile = java.io.File.createTempFile("REP" + label.getDateLable() + "_", ".pdf");

        tempFile.deleteOnExit();

        java.lang.Runtime rt = java.lang.Runtime.getRuntime();

        java.lang.String debitTotal = null;

        java.lang.String creditTotal = null;
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document(PageSize.A4.rotate());

        try {

            try {

                com.lowagie.text.pdf.PdfWriter.getInstance(docPdf, new java.io.FileOutputStream(tempFile));

                String date = null;
                try {
                    java.sql.Statement st4 = connectDB.createStatement();

                    java.sql.ResultSet rset4 = st4.executeQuery("SELECT date(now()) as Date");
                    while (rset4.next())
                        date = rset4.getObject(1).toString();

                    //                        com.lowagie.text.HeaderFooter headerFoter = new com.lowagie.text.HeaderFooter(new Phrase(""+compName+""),false);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 14, Font.BOLDITALIC,java.awt.Color.blue)));
                    //                        headerFoter.setAlignment(com.lowagie.text.HeaderFooter.ALIGN_CENTER);
                    //                        headerFoter.setRight(5);
                    //                        docPdf.setHeader(headerFoter);

                } catch (java.sql.SQLException SqlExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), SqlExec.getMessage());

                }

                com.lowagie.text.HeaderFooter footer = new com.lowagie.text.HeaderFooter(
                        new Phrase("Updating Stock Count - Page: "), true);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 12, Font.BOLDITALIC,java.awt.Color.blue));

                docPdf.setFooter(footer);

                docPdf.open();

                ReportUtil.addCenteredTitlePage(docPdf, connectDB);
                try {

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(12);

                    int headerwidths[] = { 6, 9, 8, 8, 10, 8, 9, 9, 9, 9, 9, 9 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));
                    table.getDefaultCell().setBorder(Rectangle.BOTTOM);

                    table.getDefaultCell().setColspan(6);

                    Phrase phrase;

                    java.text.DateFormat dateFormat = java.text.DateFormat
                            .getDateInstance(java.text.DateFormat.MEDIUM);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Updating Stock Count");
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                    phrase = new Phrase("Printed On  :" + date, pFontHeader);
                    table.addCell(phrase);

                    String receive_nuos = null;

                    Statement sta = connectDB.createStatement();
                    ResultSet rst = sta
                            .executeQuery("select receiving_no from st_receiving_issuing where receiving_no='"
                                    + receive + "'");
                    while (rst.next()) {
                        receive_nuos = rst.getString(1);
                    }
                    table.getDefaultCell().setColspan(12);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);

                    phrase = new Phrase(receive_nuos, pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(1);
                    table.getDefaultCell()
                            .setBorder(PdfCell.TOP | PdfCell.BOTTOM | PdfCell.LEFT | PdfCell.RIGHT);
                    phrase = new Phrase("Count", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Code", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Item Name", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Qty ordered", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Qty_received", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Deficit", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Price", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Total", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Supplier", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Delivery Date", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Order ID", pFontHeader);
                    table.addCell(phrase);

                    phrase = new Phrase("Fully Delivered", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);

                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    try {
                        Statement s = connectDB.createStatement();
                        ResultSet r = s.executeQuery(
                                "SELECT sum(quantity_received*o.price) from stock_orders o,st_receiving_issuing t,stock_items s,stock_suppliers st\n"
                                        + "where t.item_code=o.item_code and t.order_id=o.order_id and t.item_code=s.item_code and st.supplier_id=t.supplier_id and receiving_no='"
                                        + receive + "'");

                        java.sql.Statement st = connectDB.createStatement();

                        java.sql.ResultSet rset = st.executeQuery(
                                "SELECT t.item_code,s.item_name, quantity_ordered,sum(quantity_received) , "
                                        + "(quantity_ordered-sum(quantity_received)) as def, o.price , (o.price*sum(quantity_received)) as total, st.supplier_names , receiving_date, \n"
                                        + "\n"
                                        + "t.order_id , delivered from stock_orders o,st_receiving_issuing t,stock_items s,stock_suppliers st where t.item_code=o.item_code "
                                        + "and t.order_id=o.order_id and t.item_code=s.item_code and st.supplier_id=t.supplier_id AND RECEIVING_NO='"
                                        + receive + "' group by 1,2,3,6, 8,9, 10, 11");
                        int count = 1;
                        while (rset.next()) {

                            table.getDefaultCell().setColspan(1);
                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            table.getDefaultCell().setColspan(1);
                            numberSeq += 1;

                            phrase = new Phrase("" + count + "   ", pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(1), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(2), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(3), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(4), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(5), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(6), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(7), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(8), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(9), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(10), "-"), pFontHeader1);
                            table.addCell(phrase);

                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(dbObject.getDBObject(rset.getObject(11), "-"), pFontHeader1);
                            table.addCell(phrase);
                            count++;
                        }
                        table.getDefaultCell().setColspan(12);
                        phrase = new Phrase(" ");
                        table.addCell(phrase);

                        String gt = null;
                        while (r.next()) {
                            gt = dbObject.getDBObject(r.getObject(1), "-");
                        }
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                        phrase = new Phrase("GRAND TOTAL: " + gt, pFontHeader1);
                        table.addCell(phrase);
                        System.err.println("grand total");
                        docPdf.add(table);

                    } catch (java.sql.SQLException SqlExec) {

                        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(),
                                SqlExec.getMessage());

                    }

                } catch (com.lowagie.text.BadElementException BadElExec) {

                    javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), BadElExec.getMessage());

                } catch (SQLException ex) {
                    Logger.getLogger(OrdersPdf.class.getName()).log(Level.SEVERE, null, ex);
                }

            } catch (java.io.FileNotFoundException fnfExec) {

                javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), fnfExec.getMessage());

            } catch (SQLException ex) {
                Logger.getLogger(UpdatingStockCountPdf.class.getName()).log(Level.SEVERE, null, ex);
            } catch (BadElementException ex) {
                Logger.getLogger(UpdatingStockCountPdf.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (com.lowagie.text.DocumentException lwDocexec) {

            javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), lwDocexec.getMessage());

        }

        docPdf.close();

        deskTop.open(tempFile);

    } catch (java.io.IOException IOexec) {

        javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), IOexec.getMessage());

    }

}

From source file:za.co.equalpay.web.utils.PDFExportUtility.java

/**
 * Perform the standard PDF PreProcessing: <br>
 * Add Customer logo image and Phrase as header to the first page, <br>
 * Add Line Separator to the bottom of the Image <br>
 * and add the standard footer message to the PDF document<br>
 *
 * @throws MalformedURLException// w w  w  . j  a  v  a  2  s.c  o m
 * @throws IOException
 * @throws DocumentException
 */
public void preProcess() throws MalformedURLException, IOException, DocumentException {
    document.setMargins(50f, 50f, 10f, 20f);

    BaseFont bf_helv = BaseFont.createFont(BaseFont.HELVETICA, "Cp1252", false);
    // Font font = new Font(bf_helv, 8);

    ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
            .getContext();

    String fontPath = LogoPathFinder.getFontPath(servletContext, "Tahoma");
    BaseFont bf = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, true);
    Font tahoma = new Font(bf, 16, Font.BOLD);
    tahoma.setColor(Color.GRAY);

    Font fontBold = new Font(bf, 8, Font.BOLD);
    fontBold.setColor(Color.GRAY);

    Font f = new Font(bf, 8, Font.NORMAL);
    f.setColor(Color.GRAY);

    Font sf = new Font(bf, 6, Font.NORMAL);
    sf.setColor(Color.LIGHT_GRAY);

    // image.setIndentationLeft(360f);
    // PdfPCell imgCell = new PdfPCell(image, false);
    // imgCell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
    // imgCell.setBorder(0);
    //
    // PdfPCell emptyCell = new PdfPCell(new Phrase("TESTING...", tahoma));
    // emptyCell.setBorder(0);
    // PdfPTable footerTable = new PdfPTable(1);
    // footerTable.setWidthPercentage(100);
    //
    //
    // phrase = new Phrase(PDF_FOOTER_MESSAGE, f);
    //
    // PdfPCell cell = new PdfPCell(phrase);
    // cell.setBorder(0);
    // footerTable.addCell(cell);
    // table.setWidths(new int[] { 1, 2 });
    // table.addCell(emptyCell);
    // footerTable.addCell(emptyCell);
    // phrase.add(footerTable);
    // phrase.add(new Chunk(image, 475f, 0));
    // Phrase subPhrase = new Phrase();
    // subPhrase.add(new Phrase("\nwww.meddev.co.za\n", sf));
    // subPhrase.add(new Phrase(PDF_FOOTER_MESSAGE, f));
    // phrase.add(subPhrase);
    // phrase.add(new Chunk("www.meddev.co.za", f));
    // phrase.add(new Phrase(PDF_FOOTER_MESSAGE, f));
    // load document footer
    HeaderFooter footer = new HeaderFooter(new Phrase(PDF_FOOTER_MESSAGE, f), false);
    // HeaderFooter footer = new HeaderFooter(paragraph, false);
    // HeaderFooter footer = new HeaderFooter(phrase, false);

    footer.setAlignment(Element.ALIGN_LEFT);
    footer.setBorder(Rectangle.NO_BORDER);
    document.setFooter(footer);

    // document.open();
    //
    // ByteArrayOutputStream baos = new ByteArrayOutputStream();
    // PdfWriter writer = PdfWriter.getInstance(document, baos);
    //
    // writer.open();
    // PdfContentByte cb = writer.getDirectContent();
    // cb.addImage(image);
    // ColumnText columnText = new ColumnText(cb);
    // load the customer logo
    String logoPath = LogoPathFinder.getPath(servletContext, "meddev-logo2");

    Image image = Image.getInstance(logoPath);
    image.scaleToFit(149, 55);
    image.setIndentationLeft(360f);

    PdfPCell imageCell = new PdfPCell(image, false);
    imageCell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
    imageCell.setBorder(0);

    PdfPCell headerTextCell = new PdfPCell(new Phrase(header, tahoma));
    headerTextCell.setBorder(0);

    PdfPTable table = new PdfPTable(2);
    table.setWidthPercentage(100);
    table.setWidths(new int[] { 1, 2 });
    table.addCell(headerTextCell);
    table.addCell(imageCell);

    phrase = new Phrase();
    phrase.add(table);

    // load document header
    HeaderFooter header = new HeaderFooter(phrase, false);
    header.setAlignment(Element.ALIGN_CENTER);
    header.setBorder(Rectangle.NO_BORDER);

    document.setHeader(header);

    // create gray line separator
    // Chunk lineSeparator = new Chunk(new LineSeparator(1, 100, Color.GRAY,
    // Element.ALIGN_CENTER, -2));
    // document.add(lineSeparator);
    Font headerFont = new Font(bf_helv, 9);
    // write the header lines for this statement
    phrase = new Phrase(12, "\n", headerFont);
    phrase.add("\n\n");

    // open the pdf document for editing
    document.open();
    document.setPageSize(PageSize.A4);

    // Meddev Information Block
    table = new PdfPTable(4);
    table.setWidthPercentage(100);

    // table.setWidths(new int[] { 25, 25, 30, 20 });
    Phrase phrase1 = new Phrase();
    phrase1.add(new Phrase("MED DEV cc", fontBold));
    phrase1.add(new Phrase("\nUNIT 10, THE CORNER", f));
    phrase1.add(new Phrase("\nc/o Theuns & Hilde Ave", f));
    phrase1.add(new Phrase("\nHennopspark, 0157", f));
    phrase1.add(new Phrase("\nTel: +27 (0) 12 653 3063", f));
    phrase1.add(new Phrase("\nReg No: 2006/166603/23", f));
    phrase1.add(new Phrase("\n", f));

    Phrase phrase2 = new Phrase();
    phrase2.add(new Phrase("VAT No: ", fontBold));
    phrase2.add(new Phrase("4150231498", f));
    phrase2.add(new Phrase("\nImport/Export #: ", fontBold));
    phrase2.add(new Phrase("20544748", f));
    phrase2.add(new Phrase("\n", f));

    Phrase phrase3 = new Phrase();
    phrase3.add(new Phrase("QUOTE NO ", fontBold));
    phrase3.add(new Phrase("\nDATE ", fontBold));
    phrase3.add(new Phrase("\nREFERNCE ", fontBold));
    phrase3.add(new Phrase("\nSUPPLIER CODE ", fontBold));
    phrase3.add(new Phrase("\nEXPIRY DATE ", fontBold));

    Phrase phrase4 = new Phrase();
    //        phrase4.add(new Phrase(quotation.getQuotationNumber(), f));
    //        phrase4.add(new Phrase("\n" + DateFormatter.formatMonthDate(quotation.getQuotationDate()), f));
    //        phrase4.add(new Phrase("\n" + (quotation.getClient().getReference() == null ? "-" : quotation.getClient().getReference()), f));
    //        phrase4.add(new Phrase("\nMEDDEV1", f));
    //        phrase4.add(new Phrase("\n" + DateFormatter.formatMonthDate(quotation.calculateExpiryDate()), f));

    PdfPCell cell1 = new PdfPCell(phrase1);
    cell1.setBorder(0);
    PdfPCell cell2 = new PdfPCell(phrase2);
    cell2.setBorder(0);
    PdfPCell cell3 = new PdfPCell(phrase3);
    cell3.setBorder(0);
    PdfPCell cell4 = new PdfPCell(phrase4);
    cell4.setBorder(0);

    table.addCell(cell1);
    table.addCell(cell2);
    table.addCell(cell3);
    table.addCell(cell4);

    phrase.add(table);

    // create gray line separator
    Chunk lineSeparator = new Chunk(new LineSeparator(1, 100, Color.GRAY, Element.ALIGN_CENTER, -2));
    phrase.add(lineSeparator);

    // Customer Information Block
    table = new PdfPTable(3);
    table.setWidthPercentage(100);
    table.setWidths(new int[] { 5, 2, 3 });

    //        Phrase phrase11 = new Phrase();
    //        phrase11.add(new Phrase(quotation.getClient().getCompany().toUpperCase() + "(CLIENT)", fontBold));
    //        if (quotation.getClient().getVatRegNo() != null && quotation.getClient().getVatRegNo().trim().length() > 0) {
    //            phrase11.add(new Phrase("\nCustomer VAT No: ", fontBold));
    //            phrase11.add(new Phrase(quotation.getClient().getVatRegNo(), f));
    //        }
    //        if (quotation.getClient().getResAddress1() != null && quotation.getClient().getResAddress1().trim().length() > 0) {
    //            phrase11.add(new Phrase("\n" + quotation.getClient().getResAddress1(), f));
    //        }
    //        if (quotation.getClient().getResAddress2() != null && quotation.getClient().getResAddress2().trim().length() > 0) {
    //            phrase11.add(new Phrase("\n" + quotation.getClient().getResAddress2(), f));
    //        }
    //        if (quotation.getClient().getResCity() != null && quotation.getClient().getResCity().trim().length() > 0) {
    //            phrase11.add(new Phrase("\n" + quotation.getClient().getResCity(), f));
    //        }
    //        if (quotation.getClient().getPhone() != null && quotation.getClient().getPhone().trim().length() > 0) {
    //            phrase11.add(new Phrase("\nTel: " + quotation.getClient().getPhone(), f));
    //        }

    //PdfPCell cell11 = new PdfPCell(phrase11);
    //cell11.setBorder(0);

    phrase2 = new Phrase();
    phrase2.add(new Phrase("CURRENCY: ", fontBold));
    PdfPCell cell12 = new PdfPCell(phrase2);
    cell12.setBorder(0);

    phrase3 = new Phrase();
    //phrase3.add(new Phrase(quotation.getClient().getCurrencyCode(), f));
    PdfPCell cell13 = new PdfPCell(phrase3);
    cell13.setBorder(0);

    // table.addCell(cell11);
    table.addCell(cell12);
    table.addCell(cell13);

    phrase.add(table);

    // create gray line separator
    phrase.add("\n");
    document.add(phrase);

    String footerImagePath = LogoPathFinder.getPath(servletContext, "footer-image");

    Image footerImage = Image.getInstance(footerImagePath);
    footerImage.scaleToFit(90, 50);
    footerImage.setAbsolutePosition((PageSize.A4.getWidth() - (footerImage.getScaledWidth() + 40)),
            (PageSize.A4.getHeight() - (PageSize.A4.getHeight() - (footerImage.getScaledHeight() - 10))));

    document.add(footerImage);

}

From source file:za.co.equalpay.web.utils.PDFExportUtility.java

public void postProcess() throws MalformedURLException, IOException, DocumentException {
    // document.open();
    ///*  ww w.  j  a v  a 2s  .c om*/
    // ByteArrayOutputStream baos = new ByteArrayOutputStream();
    // PdfWriter writer = PdfWriter.getInstance(document, baos);
    //
    // writer.open();
    // PdfContentByte cb = writer.getDirectContent();
    // cb.addImage(image);

    ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
            .getContext();

    String fontPath = LogoPathFinder.getFontPath(servletContext, "Tahoma");
    BaseFont bf = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, true);
    Font tahoma = new Font(bf, 16, Font.BOLDITALIC);
    tahoma.setColor(Color.GRAY);

    Font boldFont8 = new Font(bf, 8, Font.BOLD, Color.GRAY);
    Font normalFont8 = new Font(bf, 8, Font.NORMAL, Color.GRAY);

    Font boldFont10 = new Font(bf, 10, Font.BOLDITALIC, Color.GRAY);
    Font normalFont10 = new Font(bf, 10, Font.ITALIC, Color.GRAY);

    phrase = new Phrase();
    phrase.add(new Phrase("Exclusive Distributors of ", normalFont10));
    phrase.add(new Phrase("SAM Medical, CONTERRA, TACMED Solutions ", boldFont10));
    phrase.add(new Phrase("and ", normalFont10));
    phrase.add(new Phrase("NARP ", boldFont10));
    phrase.add(new Phrase("in South Africa.", normalFont10));

    Paragraph paragraph = new Paragraph(phrase);
    paragraph.setAlignment(Paragraph.ALIGN_CENTER);

    document.add(paragraph);

    PdfPTable table = new PdfPTable(1);
    table.setWidthPercentage(100);

    // Terms & Conditions
    phrase = new Phrase();
    phrase.add(new Phrase("\n\n\n"));
    phrase.add(new Phrase("Terms and Conditions: ", boldFont8));
    phrase.add(new Phrase("\n"));
    phrase.add(new Phrase(
            "\n1.    Full Payment in Advance, unless arranged otherwise. Orders will only be processed once payment reflects in our Bank Account.",
            normalFont8));
    phrase.add(new Phrase("\n2.    Prices are net.", normalFont8));
    phrase.add(new Phrase("\n3.    Delivery will be ex stock, alternatively 4  6 weeks from date of order.",
            normalFont8));
    phrase.add(
            new Phrase("\n4.    Shipping Lead Time will depend on clients mode of Transport.", normalFont8));
    phrase.add(new Phrase("\n5.    Prices and Supply of Goods are Subject to availability of stock.",
            normalFont8));
    phrase.add(new Phrase("\n6.    Prices are subject to exchange rate and brand.", normalFont8));
    phrase.add(new Phrase("\n7.    Quotation is valid for 30 Days", boldFont8));
    phrase.add(new Phrase(
            "\n8.    All capital equipment carries a one year guarantee against defective material and workmanship",
            normalFont8));
    phrase.add(new Phrase("\n9.    E & OA accepted.", normalFont8));
    phrase.add(new Phrase("\n10.  Excluding Postage, Packaging or Freight Forwarding to relevant Country.",
            normalFont8));

    PdfPCell cell = new PdfPCell(phrase);
    cell.setBorder(0);
    table.addCell(cell);

    document.add(table);
}