Example usage for com.lowagie.text Document close

List of usage examples for com.lowagie.text Document close

Introduction

In this page you can find the example usage for com.lowagie.text Document close.

Prototype

boolean close

To view the source code for com.lowagie.text Document close.

Click Source Link

Document

Has the document already been closed?

Usage

From source file:classroom.intro.HelloWorld12.java

public static void main(String[] args) {
    // step 1//w w w.j  av a  2 s  . c  o  m
    Document document = new Document();
    try {
        // step 2
        PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        // step 3
        document.open();
        // step 4
        Image image = Image.getInstance(IMAGE);
        image.scaleToFit(595, 842);
        image.setAbsolutePosition(0, 0);
        document.add(image);
    } catch (DocumentException de) {
        System.err.println(de.getMessage());
    } catch (IOException ioe) {
        System.err.println(ioe.getMessage());
    }
    // step 5
    document.close();
}

From source file:classroom.newspaper_a.Newspaper02.java

public static void main(String[] args) {
    try {//from  ww  w. jav a  2s.  c o  m
        PdfReader reader = new PdfReader(NEWSPAPER);
        Document document = new Document(reader.getPageSizeWithRotation(1));
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        document.open();
        PdfContentByte content = writer.getDirectContent();
        content.rectangle(document.left(), document.bottom(), document.right(), document.top());
        content.rectangle(LLX1, LLY1, W1, H1);
        content.rectangle(LLX2, LLY2, W2, H2);
        content.eoClip();
        content.newPath();
        PdfImportedPage page = writer.getImportedPage(reader, 1);
        content.addTemplate(page, 0, 0);
        document.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }
}

From source file:clusterMaker.treeview.dendroview.GraphicsExportPanel.java

License:Open Source License

private void pdfSave(String format) {
    com.lowagie.text.Rectangle pageSize = PageSize.LETTER;
    Document document = new Document(pageSize);
    try {//  w w w . ja va 2 s  .  c  om
        OutputStream output = new BufferedOutputStream(new FileOutputStream(getFile()));
        PdfWriter writer = PdfWriter.getInstance(document, output);
        document.open();
        PdfContentByte cb = writer.getDirectContent();
        Graphics2D g = cb.createGraphics(pageSize.getWidth(), pageSize.getHeight(), new DefaultFontMapper());

        double imageScale = Math.min(pageSize.getWidth() / ((double) estimateWidth() + getBorderPixels()),
                pageSize.getHeight() / ((double) estimateHeight() + getBorderPixels()));
        g.scale(imageScale, imageScale);
        drawAll(g, 1.0);
        g.dispose();
    } catch (Exception e) {
        JOptionPane.showMessageDialog(this, new JTextArea("Dendrogram export had problem " + e));
        logger.error("Exception " + e);
        // e.printStackTrace();
    }

    document.close();
}

From source file:com.actelion.research.spiritapp.print.CagePrinterPDF.java

License:Open Source License

public static void printCages(List<Container> cages, boolean printGroupsTreatments, boolean printTreatmentDesc,
        boolean whiteBackground) throws Exception {
    final int margin = 15;
    File f = File.createTempFile("cages__", ".pdf");
    Document doc = new Document(PageSize.A4.rotate());
    Image maleImg, femaleImg, nosexImg;
    try {// w w  w  .j  ava2s .  c o m
        maleImg = Image.getInstance(CagePrinterPDF.class.getResource("male.png"));
        femaleImg = Image.getInstance(CagePrinterPDF.class.getResource("female.png"));
        nosexImg = Image.getInstance(CagePrinterPDF.class.getResource("nosex.png"));
    } catch (Exception e) {
        throw new Exception("Could not find images in the classpath: " + e);
    }

    FileOutputStream os = new FileOutputStream(f);
    PdfWriter writer = PdfWriter.getInstance(doc, os);
    doc.open();

    PdfContentByte canvas = writer.getDirectContentUnder();

    float tileW = (doc.getPageSize().getWidth()) / 4;
    float tileH = (doc.getPageSize().getHeight()) / 2;
    for (int i = 0; i < cages.size(); i++) {
        Container cage = cages.get(i);

        Study study = cage.getStudy();
        Set<Group> groups = cage.getGroups();
        Group group = cage.getGroup();
        Set<Biosample> animals = new TreeSet<>(Biosample.COMPARATOR_NAME);
        animals.addAll(cage.getBiosamples());

        //Find the treatments applied to this group
        Set<NamedTreatment> allTreatments = new LinkedHashSet<>();
        for (Group gr : groups) {
            allTreatments.addAll(gr.getAllTreatments(-1));
        }

        //Draw
        if (i % 8 == 0) {
            if (i > 0)
                doc.newPage();
            drawCageSeparation(doc, canvas);
        }

        int col = (i % 8) % 4;
        int row = (i % 8) / 4;

        float x = margin + tileW * col;
        float x2 = x + tileW - margin;
        float baseY = tileH * row;
        float y;

        //Display Sex
        canvas.moveTo(tileW * col - 50, doc.getPageSize().getHeight() - (tileH * row + 50));
        Image img = null;
        String sex = getMetadata(animals, "Sex");
        if (study.isBlindAll()) {
            img = nosexImg;
        } else if (sex.equals("M")) {
            img = maleImg;
        } else if (sex.equals("F")) {
            img = femaleImg;
        } else if (sex.length() > 0) {
            img = nosexImg;
        }
        if (img != null) {
            img.scaleToFit(20, 20);
            img.setAbsolutePosition(tileW * (col + 1) - 33,
                    doc.getPageSize().getHeight() - (tileH * row + 12 + margin));
            doc.add(img);
        }
        if (group != null && group.getColor() != null && (study != null && !study.isBlind())
                && !whiteBackground) {
            Color c = group.getColor();
            canvas.saveState();
            canvas.setRGBColorFill(c.getRed() / 3 + 170, c.getGreen() / 3 + 170, c.getBlue() / 3 + 170);
            canvas.rectangle(x - margin + 1, doc.getPageSize().getHeight() - baseY - tileH + 1, tileW - 2,
                    tileH - 2);
            canvas.fill();
            canvas.restoreState();
        }
        Color treatmentColor = Color.BLACK;
        if (allTreatments.size() > 0 && !study.isBlind() && printGroupsTreatments) {
            int offset = 0;
            for (NamedTreatment t : allTreatments) {
                if (t.getColor() != null) {
                    if (allTreatments.size() == 1)
                        treatmentColor = new Color(t.getColor().getRed() / 2, t.getColor().getGreen() / 2,
                                t.getColor().getBlue() / 2);
                    canvas.saveState();
                    canvas.setColorStroke(Color.BLACK);
                    canvas.setRGBColorFill(t.getColor().getRed(), t.getColor().getGreen(),
                            t.getColor().getBlue());
                    y = baseY + 42 + 15 + 86 + 13 + 22 + 14 + 23 + 28;
                    canvas.rectangle(x + 20 + offset * 5, doc.getPageSize().getHeight() - y - (offset % 2) * 4,
                            22, 22);
                    canvas.fillStroke();
                    canvas.restoreState();
                    offset++;
                }
            }
        }

        canvas.beginText();
        canvas.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA_BOLD, "Cp1252", false), 16f);
        canvas.showTextAligned(Element.ALIGN_LEFT, cage.getContainerId(), x,
                doc.getPageSize().getHeight() - (baseY + 23), 0);

        canvas.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA_OBLIQUE, "Cp1252", false), 11f);
        y = 42 + baseY;
        canvas.showTextAligned(Element.ALIGN_LEFT, "Type: ", x, doc.getPageSize().getHeight() - y, 0);
        y += 15;
        canvas.showTextAligned(Element.ALIGN_LEFT, "Animals_ID: ", x, doc.getPageSize().getHeight() - y, 0);
        y += 86;
        canvas.showTextAligned(Element.ALIGN_LEFT, "Delivery date: ", x, doc.getPageSize().getHeight() - y, 0);
        y += 13;
        canvas.showTextAligned(Element.ALIGN_LEFT, "PO Number: ", x, doc.getPageSize().getHeight() - y, 0);
        y += 22;
        canvas.showTextAligned(Element.ALIGN_LEFT, "Study: ", x, doc.getPageSize().getHeight() - y, 0);
        y += 14;
        if (study != null && !study.isBlind() && printGroupsTreatments)
            canvas.showTextAligned(Element.ALIGN_LEFT, "Group: ", x, doc.getPageSize().getHeight() - y, 0);
        y += 23;
        if (study != null && !study.isBlind() && printGroupsTreatments)
            canvas.showTextAligned(Element.ALIGN_LEFT, "Treatment: ", x, doc.getPageSize().getHeight() - y, 0);
        y += 50;
        canvas.showTextAligned(Element.ALIGN_LEFT, "License: ", x, doc.getPageSize().getHeight() - y, 0);
        y += 13;
        canvas.showTextAligned(Element.ALIGN_LEFT, "Experimenter: ", x, doc.getPageSize().getHeight() - y, 0);
        canvas.endText();

        y = 42 + baseY;
        print(canvas, study.isBlindAll() ? "Blinded" : getMetadata(animals, "Type"), x + 65,
                doc.getPageSize().getHeight() - y, x2, 11, 11, FontFactory.HELVETICA, Color.BLACK, 11f);
        y += 15;

        if (animals.size() <= 6) {
            int n = 0;
            for (Biosample animal : animals) {
                print(canvas, animal.getSampleId(), x + 75, doc.getPageSize().getHeight() - y - 12 * n, x2 - 50,
                        12, 12, FontFactory.HELVETICA, Color.BLACK, 11f);
                if (animal.getSampleName() != null && animal.getSampleName().length() > 0) {
                    print(canvas, "[ " + animal.getSampleName() + " ]", x2 - 60,
                            doc.getPageSize().getHeight() - y - 12 * n, x2, 12, 12, FontFactory.HELVETICA_BOLD,
                            Color.BLACK, 11f);
                }
                n++;
            }
        } else {
            int nPerRow = animals.size() / 2;
            int n = 0;
            for (Biosample animal : animals) {
                int nx = n / nPerRow;
                int ny = n % nPerRow;
                print(canvas, animal.getSampleId(), x + nx * (x2 - x) / 2,
                        doc.getPageSize().getHeight() - y - 12 * ny - 12, x + (1 + nx) * (x2 - x) / 2, 12, 12,
                        FontFactory.HELVETICA, Color.BLACK, 10f);
                if (animal.getSampleName() != null && animal.getSampleName().length() > 0) {
                    print(canvas, "[ " + animal.getSampleName() + " ]", x + (1 + nx) * (x2 - x) / 2 - 35,
                            doc.getPageSize().getHeight() - y - 12 * ny - 12, x + (1 + nx) * (x2 - x) / 2, 12,
                            12, FontFactory.HELVETICA_BOLD, Color.BLACK, 10f);
                }
                n++;
            }
        }

        y += 86;
        print(canvas, getMetadata(animals, "Delivery Date"), x + 75, doc.getPageSize().getHeight() - y, x2, 0,
                10, FontFactory.HELVETICA, Color.BLACK, 10f);
        y += 13;
        print(canvas, getMetadata(animals, "PO Number"), x + 75, doc.getPageSize().getHeight() - y, x2, 0, 10,
                FontFactory.HELVETICA, Color.BLACK, 10f);
        y += 22;
        print(canvas, study.getStudyIdAndInternalId(), x + 40, doc.getPageSize().getHeight() - y, x2, 0, 11,
                BaseFont.HELVETICA_BOLD, Color.BLACK, 11f);
        y += 14;
        if (!study.isBlind() && printGroupsTreatments)
            print(canvas, getGroups(animals), x + 40, doc.getPageSize().getHeight() - y, x2, 22, 11,
                    BaseFont.HELVETICA_BOLD, Color.BLACK, 11f);
        y += 23;
        if (!study.isBlind() && printGroupsTreatments)
            print(canvas, getTreatments(animals, printTreatmentDesc), x + 62, doc.getPageSize().getHeight() - y,
                    x2, 50, printTreatmentDesc ? 9 : 12, FontFactory.HELVETICA, treatmentColor,
                    printTreatmentDesc ? 9f : 10f);
        y += 50;
        print(canvas, study.getMetadataMap().get("LICENSENO"), x + 74, doc.getPageSize().getHeight() - y, x2,
                15, 10, FontFactory.HELVETICA, Color.BLACK, 10f);
        y += 13;
        print(canvas, study.getMetadataMap().get("EXPERIMENTER"), x + 74, doc.getPageSize().getHeight() - y, x2,
                20, 10, FontFactory.HELVETICA, Color.BLACK, 10f);
    }

    doc.close();
    os.close();
    Desktop.getDesktop().open(f);
    try {
        Thread.sleep(500);
    } catch (Exception e) {
    }

}

From source file:com.actelion.research.spiritapp.ui.util.PDFUtils.java

License:Open Source License

public static void convertHSSF2Pdf(Workbook wb, String header, File reportFile) throws Exception {
    assert wb != null;
    assert reportFile != null;

    //Precompute formula
    FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
    for (int i = 0; i < wb.getNumberOfSheets(); i++) {
        Sheet sheet = wb.getSheetAt(i);//from  www. ja v a 2s  .  c  om

        for (Row r : sheet) {
            for (Cell c : r) {
                if (c.getCellType() == HSSFCell.CELL_TYPE_FORMULA) {
                    try {
                        evaluator.evaluateFormulaCell(c);
                    } catch (Exception e) {
                        System.err.println(e);
                    }
                }
            }
        }
    }

    File tmp = File.createTempFile("tmp_", ".xlsx");
    try (OutputStream out = new BufferedOutputStream(new FileOutputStream(tmp))) {
        wb.write(out);
    }

    //Find page orientation
    int maxColumnsGlobal = 0;
    for (int sheetNo = 0; sheetNo < wb.getNumberOfSheets(); sheetNo++) {
        Sheet sheet = wb.getSheetAt(sheetNo);
        for (Iterator<Row> rowIterator = sheet.iterator(); rowIterator.hasNext();) {
            Row row = rowIterator.next();
            maxColumnsGlobal = Math.max(maxColumnsGlobal, row.getLastCellNum());
        }
    }

    Rectangle pageSize = maxColumnsGlobal < 10 ? PageSize.A4 : PageSize.A4.rotate();
    Document pdfDocument = new Document(pageSize, 10f, 10f, 20f, 20f);

    PdfWriter writer = PdfWriter.getInstance(pdfDocument, new FileOutputStream(reportFile));
    addHeader(writer, header);
    pdfDocument.open();
    //we have two columns in the Excel sheet, so we create a PDF table with two columns
    //Note: There are ways to make this dynamic in nature, if you want to.
    //Loop through sheets
    for (int sheetNo = 0; sheetNo < wb.getNumberOfSheets(); sheetNo++) {
        Sheet sheet = wb.getSheetAt(sheetNo);

        //Loop through rows, to find number of columns
        int minColumns = 1000;
        int maxColumns = 0;
        for (Iterator<Row> rowIterator = sheet.iterator(); rowIterator.hasNext();) {
            Row row = rowIterator.next();
            if (row.getFirstCellNum() >= 0)
                minColumns = Math.min(minColumns, row.getFirstCellNum());
            if (row.getLastCellNum() >= 0)
                maxColumns = Math.max(maxColumns, row.getLastCellNum());
        }
        if (maxColumns == 0)
            continue;

        //Loop through first rows, to find relative width
        float[] widths = new float[maxColumns];
        int totalWidth = 0;
        for (int c = 0; c < maxColumns; c++) {
            int w = sheet.getColumnWidth(c);
            widths[c] = w;
            totalWidth += w;
        }

        for (int c = 0; c < maxColumns; c++) {
            widths[c] /= totalWidth;
        }

        //Create new page and a new chapter with the sheet's name
        if (sheetNo > 0)
            pdfDocument.newPage();
        Chapter pdfSheet = new Chapter(sheet.getSheetName(), sheetNo + 1);

        PdfPTable pdfTable = null;
        PdfPCell pdfCell = null;
        boolean inTable = false;

        //Loop through cells, to create the content
        //         boolean leftBorder = true;
        //         boolean[] topBorder = new boolean[maxColumns+1];
        for (int r = 0; r <= sheet.getLastRowNum(); r++) {
            Row row = sheet.getRow(r);

            //Check if we exited a table (empty line)
            if (row == null) {
                if (pdfTable != null) {
                    addTable(pdfDocument, pdfSheet, totalWidth, widths, pdfTable);
                    pdfTable = null;
                }
                inTable = false;
                continue;
            }

            //Check if we start a table (>MIN_COL_IN_TABLE columns)
            if (row.getLastCellNum() >= MIN_COL_IN_TABLE) {
                inTable = true;
            }

            if (!inTable) {
                //Process the data outside table, just add the text
                boolean hasData = false;
                Iterator<Cell> cellIterator = row.cellIterator();
                while (cellIterator.hasNext()) {
                    Cell cell = cellIterator.next();
                    if (cell.getCellType() == Cell.CELL_TYPE_BLANK)
                        continue;
                    Chunk chunk = getChunk(wb, cell);
                    pdfSheet.add(chunk);
                    pdfSheet.add(new Chunk(" "));
                    hasData = true;
                }
                if (hasData)
                    pdfSheet.add(Chunk.NEWLINE);

            } else {
                //Process the data in table
                if (pdfTable == null) {
                    //Create table
                    pdfTable = new PdfPTable(maxColumns);
                    pdfTable.setWidths(widths);
                    //                  topBorder = new boolean[maxColumns+1];
                }

                int cellNumber = minColumns;
                //               leftBorder = false;
                Iterator<Cell> cellIterator = row.cellIterator();
                while (cellIterator.hasNext()) {

                    Cell cell = cellIterator.next();

                    for (; cellNumber < cell.getColumnIndex(); cellNumber++) {
                        pdfCell = new PdfPCell();
                        pdfCell.setBorder(0);
                        pdfTable.addCell(pdfCell);
                    }

                    Chunk phrase = getChunk(wb, cell);
                    pdfCell = new PdfPCell(new Phrase(phrase));
                    pdfCell.setFixedHeight(row.getHeightInPoints() - 3);
                    pdfCell.setNoWrap(!cell.getCellStyle().getWrapText());
                    pdfCell.setPaddingLeft(1);
                    pdfCell.setHorizontalAlignment(
                            cell.getCellStyle().getAlignment() == CellStyle.ALIGN_CENTER ? PdfPCell.ALIGN_CENTER
                                    : cell.getCellStyle().getAlignment() == CellStyle.ALIGN_RIGHT
                                            ? PdfPCell.ALIGN_RIGHT
                                            : PdfPCell.ALIGN_LEFT);
                    pdfCell.setUseBorderPadding(false);
                    pdfCell.setUseVariableBorders(false);
                    pdfCell.setBorderWidthRight(cell.getCellStyle().getBorderRight() == 0 ? 0 : .5f);
                    pdfCell.setBorderWidthBottom(cell.getCellStyle().getBorderBottom() == 0 ? 0
                            : cell.getCellStyle().getBorderBottom() > 1 ? 1 : .5f);
                    pdfCell.setBorderWidthLeft(cell.getCellStyle().getBorderLeft() == 0 ? 0
                            : cell.getCellStyle().getBorderLeft() > 1 ? 1 : .5f);
                    pdfCell.setBorderWidthTop(cell.getCellStyle().getBorderTop() == 0 ? 0
                            : cell.getCellStyle().getBorderTop() > 1 ? 1 : .5f);
                    String color = cell.getCellStyle().getFillForegroundColorColor() == null ? null
                            : ((XSSFColor) cell.getCellStyle().getFillForegroundColorColor()).getARGBHex();
                    if (color != null)
                        pdfCell.setBackgroundColor(new Color(Integer.decode("0x" + color.substring(2))));
                    pdfTable.addCell(pdfCell);
                    cellNumber++;
                }
                for (; cellNumber < maxColumns; cellNumber++) {
                    pdfCell = new PdfPCell();
                    pdfCell.setBorder(0);
                    pdfTable.addCell(pdfCell);
                }
            }

            //Custom code to add all images on the first sheet (works for reporting)
            if (sheetNo == 0 && row.getRowNum() == 0) {
                for (PictureData pd : wb.getAllPictures()) {
                    try {
                        Image pdfImg = Image.getInstance(pd.getData());
                        pdfImg.scaleToFit(
                                pageSize.getWidth() * .8f - pageSize.getBorderWidthLeft()
                                        - pageSize.getBorderWidthRight(),
                                pageSize.getHeight() * .8f - pageSize.getBorderWidthTop()
                                        - pageSize.getBorderWidthBottom());
                        pdfSheet.add(pdfImg);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }
        if (pdfTable != null) {
            addTable(pdfDocument, pdfSheet, totalWidth, widths, pdfTable);
        }

        pdfDocument.add(pdfSheet);
    }
    pdfDocument.close();

}

From source file:com.afrisoftech.hospinventory.mtrhreports.PurchaseReqInternalMtrhPdf.java

public void generatePdf(java.lang.String memNo) {

    java.lang.Process wait_for_Pdf2Show;

    java.util.Calendar cal = java.util.Calendar.getInstance();

    java.util.Date dateStampPdf = cal.getTime();

    java.lang.String pdfDateStamp = dateStampPdf.toString();

    try {/*  w  w  w. ja va 2s  . c om*/

        java.io.File tempFile = java.io.File.createTempFile("REP" + this.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(com.lowagie.text.PageSize.A4,40,40,40,40);

        //   com.lowagie.text.Document docPdf = new com.lowagie.text.Document(com.lowagie.text.PageSize.A4);
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document();
        try {

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

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

                // System.out.println("Current Doc size 1 "+ pdfWriter.getCurrentDocumentSize());

                String compName = null;
                String date = null;

                try {

                    java.sql.Statement st6 = connectDB.createStatement();
                    java.sql.Statement st4 = connectDB.createStatement();

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

                    //  docPdf.setFooter(footer);
                } catch (java.sql.SQLException SqlExec) {

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

                }

                docPdf.open();

                String Username = null;
                int numColumns = 9;

                try {

                    java.util.Calendar calendar = java.util.Calendar.getInstance();

                    long dateNow = calendar.getTimeInMillis();

                    java.sql.Date datenowSql = new java.sql.Date(dateNow);

                    System.out.println(datenowSql.toString());

                    //  java.lang.Object listofStaffNos[] = this.getListofStaffNos();

                    com.lowagie.text.pdf.PdfPTable table1 = new com.lowagie.text.pdf.PdfPTable(6);
                    //  com.lowagie.text.Table table = new com.lowagie.text.Table(7);

                    // table.endHeaders();

                    int headerwidths[] = { 15, 15, 30, 15, 15, 15 };

                    table1.setWidths(headerwidths);
                    //  if (docPdf.getPageNumber() > 1) {
                    //  table1.setHeaderRows(4);
                    //  }
                    table1.setWidthPercentage((100));

                    table1.getDefaultCell().setBorder(Rectangle.BOTTOM);

                    table1.getDefaultCell().setColspan(7);

                    Phrase phrase = new Phrase();

                    //  table.addCell(phrase);

                    table1.getDefaultCell().setColspan(1);
                    //  table1.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    //  table1.getDefaultCell().setBorderColor(java.awt.Color.WHITE);

                    try {
                        Image img = Image.getInstance(com.afrisoftech.lib.CompanyLogo.getPath2Logo());
                        //Image imgWaterMark = Image.getInstance(System.getProperty("company.watermark"));
                        table1.getDefaultCell().setColspan(10);
                        table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                        table1.getDefaultCell().setFixedHeight(50);
                        table1.addCell(Image.getInstance(com.afrisoftech.lib.CompanyLogo.getPath2Logo()));
                        table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                        table1.getDefaultCell().setFixedHeight(25);
                        java.sql.Statement st3 = connectDB.createStatement();
                        java.sql.ResultSet rset3 = st3
                                .executeQuery("SELECT DISTINCT hospital_name FROM pb_hospitalprofile");
                        while (rset3.next()) {

                            table1.getDefaultCell().setColspan(6);

                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase(rset3.getObject(1).toString(), pFontHeader11);
                            table1.addCell(phrase);
                        }
                    } catch (java.sql.SQLException SqlExec) {

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

                    }
                    docPdf.add(table1);
                } catch (com.lowagie.text.BadElementException BadElExec) {

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

                }

                try {
                    com.lowagie.text.pdf.PdfPTable table1 = new com.lowagie.text.pdf.PdfPTable(10);
                    table1.getDefaultCell().setPadding(3);

                    int headerwidths1[] = { 24, 10, 8, 8, 6, 8, 6, 10, 12, 8 };

                    //  table1.setWidths(headerwidths1);

                    table1.setWidthPercentage((100));

                    table1.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    table1.getDefaultCell().setBorderColor(java.awt.Color.WHITE);
                    Phrase phrase = new Phrase("", pFontHeader);

                    try {

                        // java.sql.Statement st3 = conDB.createStatement();

                        //  java.sql.Connection conDb = java.sql.DriverManager.getConnection("jdbc:postgresql://localhost:5432/purchase","postgres","pilsiner");
                        //  java.sql.Statement st3 = conDb.createStatement();
                        java.sql.Statement st3 = connectDB.createStatement();
                        //java.sql.Statement st1 = connectDB.createStatement();
                        java.sql.Statement st2 = connectDB.createStatement();
                        java.sql.Statement st11 = connectDB.createStatement();
                        java.sql.Statement st4 = connectDB.createStatement();
                        java.sql.Statement st5 = connectDB.createStatement();
                        java.sql.Statement st6 = connectDB.createStatement();
                        java.sql.ResultSet rset3 = st3.executeQuery(
                                "select hospital_name,box_no,main_telno||' '||other_telno,initcap(street),initcap(town),main_faxno,email,initcap(building_name),room_no from pb_hospitalprofile");
                        //java.sql.ResultSet rset2 = st2.executeQuery("select supplier_name,short_name,postal_address,tel1,initcap(street),initcap(avenue),fax_no,email_address,initcap(building_name) from st_suppliers WHERE supplier_name  ilike '"+selectSupp+"'");
                        java.sql.ResultSet rset4 = st4.executeQuery(
                                "select DISTINCT REQUISITION_no,date_due,cost_center, case when supplier is null then '-' else supplier end as supplier,"
                                        + " received_requisation,reason,date,store_name FROM st_receive_requisation where REQUISITION_no = '"
                                        + OrderNo + "'");// where supplier_name = 'Uchumi'member_no = '"+memNo+"'  AND date BETWEEN '"+beginDate+"' AND '"+endDate+"'");
                        java.sql.ResultSet rset5 = st5.executeQuery(
                                "select DISTINCT date_due from st_receive_requisation where requisition_no = '"
                                        + OrderNo + "'");// where supplier_name = 'Uchumi'member_no = '"+memNo+"'  AND date BETWEEN '"+beginDate+"' AND '"+endDate+"'");
                        java.sql.ResultSet rset11 = st11.executeQuery(
                                "select initcap(user_name) from st_receive_requisation where requisition_no = '"
                                        + OrderNo + "'");// where supplier_name = 'Uchumi'member_no = '"+memNo+"'  AND date BETWEEN '"+beginDate+"' AND '"+endDate+"'");
                        while (rset11.next()) {
                            Username = rset11.getObject(1).toString();
                        }
                        table1.getDefaultCell().setBorderColor(java.awt.Color.white);

                        while (rset4.next()) {

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("  ", pFontHeader);
                            //table1.addCell(phrase);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("INTERNAL PURCHASE REQUISITION", pFontHeader5);
                            table1.addCell(phrase);
                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("FROM TEAM LEADER LOGISTICS", pFontHeader5);
                            table1.addCell(phrase);
                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("TO SUPPLY CHAIN MANAGER", pFontHeader5);
                            table1.addCell(phrase);
                            //                                table1.getDefaultCell().setColspan(10);
                            //                                table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            //                                phrase = new Phrase("NUMBER KNH/SCM-MTCE STORES/......", pFontHeader5);
                            //                                table1.addCell(phrase);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(" ", pFontHeader);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(" ", pFontHeader);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("PLEASE ORDER THE FOLLOWING MATERIALS/ITEMS", pFontHeader5);
                            table1.addCell(phrase);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(" ", pFontHeader);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(" ", pFontHeader);
                            //table1.addCell(phrase);

                            table1.getDefaultCell().setColspan(6);

                            phrase = new Phrase("FROM : " + rset4.getObject(8).toString(), pFontHeader);
                            table1.addCell(phrase);
                            table1.getDefaultCell().setColspan(4);
                            phrase = new Phrase("DATE: " + rset4.getObject(7).toString() + "PR NO: "
                                    + rset4.getObject(1).toString(), pFontHeader);
                            table1.addCell(phrase);
                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase("TO : " + rset4.getObject(3).toString(), pFontHeader);
                            table1.addCell(phrase);

                            //                                table1.getDefaultCell().setColspan(10);
                            //                                phrase = new Phrase("  " + rset4.getObject(2).toString(), pFontHeader);
                            //                                table1.addCell(phrase);

                            /*
                             * table1.getDefaultCell().setColspan(5);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase(" ", pFontHeader);
                             * table1.addCell(phrase); phrase = new
                             * Phrase("PROCUREMENT METHOD : ", pFontHeader);
                             * table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5); phrase
                             * = new Phrase(" ", pFontHeader);
                             * table1.addCell(phrase);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("REQUISITION NO: " +
                             * rset4.getObject(1).toString(), pFontHeader);
                             * table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5); phrase
                             * = new Phrase(" ", pFontHeader);
                             * table1.addCell(phrase);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("ACCOUNT NO: ",
                             * pFontHeader); table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5); phrase
                             * = new Phrase(" ", pFontHeader);
                             * table1.addCell(phrase);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("REASON FOR PURCHASE " +
                             * rset4.getObject(6).toString(), pFontHeader);
                             * table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5);
                             *
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("", pFontHeader);
                             * table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5); phrase
                             * = new Phrase("NAME OF THE SUPPLIER " +
                             * rset4.getObject(4).toString(), pFontHeader);
                             * table1.addCell(phrase);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("CONTRACT NO: ",
                             * pFontHeader); table1.addCell(phrase);
                             *
                             */

                        }

                        docPdf.add(table1);

                    } 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());

                }

                double Total = 0.00;
                double discount = 0.00;
                double vat = 0.00;
                double qty = 0.00;
                double price = 0.00;
                double value = 0.00;

                try {

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(9);
                    table.getDefaultCell().setPadding(3);

                    int headerwidths[] = { 8, 30, 14, 14, 14, 14, 14, 16, 15 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));

                    com.lowagie.text.pdf.PdfPTable table3 = new com.lowagie.text.pdf.PdfPTable(9);
                    // table3.getDefaultCell().setPadding(3);

                    int headerwidths3[] = { 8, 30, 14, 14, 14, 14, 14, 16, 15 };

                    table3.setWidths(headerwidths3);

                    table3.setWidthPercentage((100));
                    //table.getDefaultCell().setBorderColor(java.awt.Color.black);
                    //table.getDefaultCell().setBorder(Rectangle.BOTTOM);
                    table.getDefaultCell().setBorderColor(java.awt.Color.WHITE);
                    table.getDefaultCell().setColspan(9);
                    Phrase phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table3.getDefaultCell()
                            .setBorder(Rectangle.BOTTOM | Rectangle.LEFT | Rectangle.RIGHT | Rectangle.TOP);

                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("NOs ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("Item No/Code ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(2);

                    phrase = new Phrase("Item Description", pFontHeader);
                    table3.addCell(phrase);
                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("Units of Issue. ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("Qty Required. ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("Monthly Usage ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(2);
                    phrase = new Phrase("Remarks", pFontHeader);
                    table3.addCell(phrase);

                    //                        phrase = new Phrase("Est.Cost ", pFontHeader);
                    //                        table3.addCell(phrase);
                    //
                    //                        phrase = new Phrase("Actual Cost", pFontHeader);
                    //                        table3.addCell(phrase);
                    //
                    //                        phrase = new Phrase("Tender/Qtn Ref.", pFontHeader);
                    //                        table3.addCell(phrase);

                    phrase = new Phrase("", pFontHeader);
                    //table.addCell(phrase);
                    table3.setHeaderRows(1);

                    //                        table3.getDefaultCell().setColspan(1);
                    //
                    //                        table3.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    //  table.getDefaultCell().setBorderColor(java.awt.Color.BLACK);

                    String coment = "";

                    try {

                        // java.sql.Statement st6 = connectDB.createStatement();
                        java.sql.Statement st1 = connectDB.createStatement();

                        java.sql.ResultSet rset1 = st1
                                .executeQuery("SELECT initcap(item_description),units,cos_glcode,"
                                        + " quantity,price,round(quantity*price,2),mainstore_bal,terms,item_code,monthly_usage from st_receive_requisation"
                                        + " WHERE requisition_no = '" + OrderNo + "'");// where supplier_name = 'Uchumi'member_no = '"+memNo+"'  AND date BETWEEN '"+beginDate+"' AND '"+endDate+"'");

                        table.getDefaultCell().setBorderColor(java.awt.Color.lightGray);

                        while (rset1.next()) {

                            // value = qty * price;

                            cnt = cnt + 1;

                            table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            table3.getDefaultCell().setColspan(1);
                            phrase = new Phrase("" + cnt, pFontHeader2);
                            table3.getDefaultCell().setBorderColor(java.awt.Color.black);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            table3.getDefaultCell().setColspan(1);
                            phrase = new Phrase(rset1.getObject(9).toString(), pFontHeader2);
                            table3.getDefaultCell().setBorderColor(java.awt.Color.black);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(2);
                            table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(rset1.getObject(1).toString(), pFontHeader2);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(1);
                            phrase = new Phrase(rset1.getObject(2).toString(), pFontHeader2);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(1);
                            phrase = new Phrase(rset1.getObject(4).toString(), pFontHeader2);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(1);
                            // JOptionPane.showMessageDialog(null, "this "+rset1.getObject(10).toString());
                            phrase = new Phrase(rset1.getObject(10).toString(), pFontHeader);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(2);
                            phrase = new Phrase(rset1.getObject(8).toString(), pFontHeader2);
                            table3.addCell(phrase);

                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            //                                phrase = new Phrase(new com.afrisoftech.sys.Format2Currency().Format2Currency(rset1.getObject(4).toString()), pFontHeader2);
                            //
                            //                                table3.addCell(phrase);
                            //
                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            //                                phrase = new Phrase(new com.afrisoftech.sys.Format2Currency().Format2Currency(rset1.getObject(5).toString()), pFontHeader2);
                            //                                table3.addCell(phrase);
                            //
                            //                                // System.out.println("Second "+docPdf.top());
                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            //                                phrase = new Phrase(new com.afrisoftech.sys.Format2Currency().Format2Currency(rset1.getString(6)), pFontHeader2);
                            //
                            //                                table3.addCell(phrase);
                            //
                            //                                phrase = new Phrase(new com.afrisoftech.sys.Format2Currency().Format2Currency(rset1.getString(7)), pFontHeader2);
                            //
                            //                                table3.addCell(phrase);
                            //
                            //
                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            //                                value = value + rset1.getDouble(6);
                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            //                                // phrase = new Phrase(rset1.getObject(8).toString(), pFontHeader2);
                            //
                            //                                // table.addCell(phrase);
                            //                                //  coment = rset1.getObject(12).toString();

                        }

                        table.getDefaultCell().setBorderColor(java.awt.Color.BLACK);

                        table.getDefaultCell()
                                .setBorder(Rectangle.BOTTOM | Rectangle.TOP | Rectangle.RIGHT | Rectangle.LEFT);
                        table.getDefaultCell().setFixedHeight(350);
                        table.addCell(table3);

                        table.getDefaultCell().setFixedHeight(20);

                        //                            table.getDefaultCell().setColspan(3);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                        //                            phrase = new Phrase("TOTAL COST", pFontHeader);
                        //
                        //                            table.addCell(phrase);

                        //                            table.getDefaultCell().setColspan(1);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                        //                            phrase = new Phrase("", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //                            table.getDefaultCell().setColspan(1);

                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                        //                            phrase = new Phrase("", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //                            table.getDefaultCell().setColspan(1);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                        //                            phrase = new Phrase("", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //                            table.getDefaultCell().setColspan(1);

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

                        //                            table.getDefaultCell().setColspan(5);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                        //
                        //                            phrase = new Phrase(new com.afrisoftech.sys.Format2Currency().Format2Currency(java.lang.String.valueOf(value)), pFontHeader);
                        //
                        //                            table.addCell(phrase);

                        //                            table.getDefaultCell().setColspan(1);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                        //                            phrase = new Phrase("", pFontHeader);

                        //                            table3.addCell(phrase);

                        table.getDefaultCell().setColspan(9);
                        table.getDefaultCell()
                                .setBorder(Rectangle.TOP | Rectangle.BOTTOM | Rectangle.RIGHT | Rectangle.LEFT);
                        phrase = new Phrase(" ", pFontHeader);

                        table.addCell(phrase);
                        table.getDefaultCell().setBorder(Rectangle.TOP);

                        table.addCell(phrase);
                        //table.getDefaultCell().setBorder(Rectangle.TOP);

                        /*
                         *
                         *
                         * table.getDefaultCell().setColspan(6);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("Prepared By :"
                         * +Username.toUpperCase(), pFontHeader);
                         *
                         * table.addCell(phrase);
                         */

                        table.getDefaultCell().setColspan(3);
                        table.getDefaultCell().setBorderColor(java.awt.Color.WHITE);

                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        phrase = new Phrase("PREPARED BY.................................", pFontHeader);

                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(2);

                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        phrase = new Phrase("Sign.................................", pFontHeader);

                        table.addCell(phrase);

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

                        table.addCell(phrase);

                        phrase = new Phrase("Time.................................\n", pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(3);

                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        phrase = new Phrase("AIE HOLDER/USER.................................", pFontHeader);

                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(2);

                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        phrase = new Phrase("Sign.................................", pFontHeader);

                        table.addCell(phrase);

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

                        table.addCell(phrase);

                        phrase = new Phrase("Time.................................\n", pFontHeader);

                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(3);

                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        phrase = new Phrase("APPROVED BY(TL LOGISTICS).................................",
                                pFontHeader);

                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(2);

                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        phrase = new Phrase("Sign.................................", pFontHeader);

                        table.addCell(phrase);

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

                        table.addCell(phrase);

                        phrase = new Phrase("Time.................................\n", pFontHeader);

                        table.addCell(phrase);
                        //                            table.getDefaultCell().setColspan(4);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Amount Voted..................................................", pFontHeader);
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(5);
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Vote Balance.........................................................", pFontHeader);
                        //                            table.addCell(phrase);
                        //
                        //
                        //                            table.getDefaultCell().setColspan(3);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Vote Holder's Authority.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Sign.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Date.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        // phrase = new Phrase("SIGN..........................................................", pFontHeader);
                        //table.addCell(phrase);

                        table.getDefaultCell().setColspan(9);

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

                        table.addCell(phrase);

                        //phrase = new Phrase("FOR PROCUREMENT USE ONLY", pFontHeader);

                        //table.addCell(phrase);
                        //table.getDefaultCell().setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.RIGHT | Rectangle.BOTTOM);

                        //table.getDefaultCell().setBorderColor(java.awt.Color.BLACK);

                        //                            table.getDefaultCell().setColspan(3);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Approved/Not Approved.....................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            //table.getDefaultCell().setColspan(5);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Date............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("ACTION:- I/C Supplies & Proc .....................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            //table.getDefaultCell().setColspan(5);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Date............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Procurement Section.....................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            //table.getDefaultCell().setColspan(5);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Date............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Stock Ctr/: D/Note.............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Inv No.......................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Sign....................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Date.......................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(1);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Time...........................", pFontHeader);
                        //
                        //                            table.addCell(phrase);

                        /*
                         * table.getDefaultCell().setColspan(5);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new
                         * Phrase("REMARK___________________________________",
                         * pFontHeader);
                         *
                         * table.addCell(phrase);
                         * table.getDefaultCell().setColspan(4);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("DATE
                         * RECEIVED____________________________",
                         * pFontHeader); table.addCell(phrase);
                         *
                         * table.getDefaultCell().setColspan(5);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase(" ", pFontHeader);
                         * table.addCell(phrase);
                         *
                         * table.getDefaultCell().setColspan(9);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                         * phrase = new Phrase(" ", pFontHeader);
                         *
                         * table.addCell(phrase);
                         * table.getDefaultCell().setBorder(Rectangle.TOP);
                         *
                         * table.getDefaultCell().setBorderColor(java.awt.Color.WHITE);
                         *
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("1. Original__________ Use
                         * department", pFontHeader);
                         *
                         * table.addCell(phrase);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("2. Duplicate________
                         * Procurement office", pFontHeader);
                         *
                         * table.addCell(phrase);
                         *
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("3. Triplicate_________ Book
                         * copy", 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 (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());

        }
        //            System.out.println("Current Doc size "+ pdfWriter.getCurrentDocumentSize());

        docPdf.close();
        com.afrisoftech.lib.PDFRenderer.renderPDF(tempFile);

    } catch (java.io.IOException IOexec) {

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

    }

}

From source file:com.afrisoftech.hospinventory.mtrhreports.PurchaseReqInternalMtrhPdf1_.java

public void generatePdf(java.lang.String memNo) {

    java.lang.Process wait_for_Pdf2Show;

    java.util.Calendar cal = java.util.Calendar.getInstance();

    java.util.Date dateStampPdf = cal.getTime();

    java.lang.String pdfDateStamp = dateStampPdf.toString();

    try {//from   w  w w.j  a  va 2s . co m

        java.io.File tempFile = java.io.File.createTempFile("REP" + this.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(com.lowagie.text.PageSize.A4,40,40,40,40);

        //   com.lowagie.text.Document docPdf = new com.lowagie.text.Document(com.lowagie.text.PageSize.A4);
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document();
        try {

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

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

                // System.out.println("Current Doc size 1 "+ pdfWriter.getCurrentDocumentSize());

                String compName = null;
                String date = null;

                try {

                    java.sql.Statement st6 = connectDB.createStatement();
                    java.sql.Statement st4 = connectDB.createStatement();

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

                    //  docPdf.setFooter(footer);
                } catch (java.sql.SQLException SqlExec) {

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

                }

                docPdf.open();

                String Username = null;
                int numColumns = 9;

                try {

                    java.util.Calendar calendar = java.util.Calendar.getInstance();

                    long dateNow = calendar.getTimeInMillis();

                    java.sql.Date datenowSql = new java.sql.Date(dateNow);

                    System.out.println(datenowSql.toString());

                    //  java.lang.Object listofStaffNos[] = this.getListofStaffNos();

                    com.lowagie.text.pdf.PdfPTable table1 = new com.lowagie.text.pdf.PdfPTable(6);
                    //  com.lowagie.text.Table table = new com.lowagie.text.Table(7);

                    // table.endHeaders();

                    int headerwidths[] = { 15, 15, 30, 15, 15, 15 };

                    table1.setWidths(headerwidths);
                    //  if (docPdf.getPageNumber() > 1) {
                    //  table1.setHeaderRows(4);
                    //  }
                    table1.setWidthPercentage((100));

                    table1.getDefaultCell().setBorder(Rectangle.BOTTOM);

                    table1.getDefaultCell().setColspan(7);

                    Phrase phrase = new Phrase();

                    //  table.addCell(phrase);

                    table1.getDefaultCell().setColspan(1);
                    //  table1.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    //  table1.getDefaultCell().setBorderColor(java.awt.Color.WHITE);

                    try {
                        Image img = Image.getInstance(com.afrisoftech.lib.CompanyLogo.getPath2Logo());
                        //Image imgWaterMark = Image.getInstance(System.getProperty("company.watermark"));
                        table1.getDefaultCell().setColspan(10);
                        table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                        table1.getDefaultCell().setFixedHeight(50);
                        table1.addCell(Image.getInstance(com.afrisoftech.lib.CompanyLogo.getPath2Logo()));
                        table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                        table1.getDefaultCell().setFixedHeight(25);
                        java.sql.Statement st3 = connectDB.createStatement();
                        java.sql.ResultSet rset3 = st3
                                .executeQuery("SELECT DISTINCT hospital_name FROM pb_hospitalprofile");
                        while (rset3.next()) {

                            table1.getDefaultCell().setColspan(6);

                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase(rset3.getObject(1).toString(), pFontHeader11);
                            table1.addCell(phrase);
                        }
                    } catch (java.sql.SQLException SqlExec) {

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

                    }
                    docPdf.add(table1);
                } catch (com.lowagie.text.BadElementException BadElExec) {

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

                }

                try {
                    com.lowagie.text.pdf.PdfPTable table1 = new com.lowagie.text.pdf.PdfPTable(10);
                    table1.getDefaultCell().setPadding(3);

                    int headerwidths1[] = { 24, 10, 8, 8, 6, 8, 6, 10, 12, 8 };

                    //  table1.setWidths(headerwidths1);

                    table1.setWidthPercentage((100));

                    table1.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    table1.getDefaultCell().setBorderColor(java.awt.Color.WHITE);
                    Phrase phrase = new Phrase("", pFontHeader);

                    try {

                        // java.sql.Statement st3 = conDB.createStatement();

                        //  java.sql.Connection conDb = java.sql.DriverManager.getConnection("jdbc:postgresql://localhost:5432/purchase","postgres","pilsiner");
                        //  java.sql.Statement st3 = conDb.createStatement();
                        java.sql.Statement st3 = connectDB.createStatement();
                        //java.sql.Statement st1 = connectDB.createStatement();
                        java.sql.Statement st2 = connectDB.createStatement();
                        java.sql.Statement st11 = connectDB.createStatement();
                        java.sql.Statement st4 = connectDB.createStatement();
                        java.sql.Statement st5 = connectDB.createStatement();
                        java.sql.Statement st6 = connectDB.createStatement();
                        java.sql.ResultSet rset3 = st3.executeQuery(
                                "select hospital_name,box_no,main_telno||' '||other_telno,initcap(street),initcap(town),main_faxno,email,initcap(building_name),room_no from pb_hospitalprofile");
                        //java.sql.ResultSet rset2 = st2.executeQuery("select supplier_name,short_name,postal_address,tel1,initcap(street),initcap(avenue),fax_no,email_address,initcap(building_name) from st_suppliers WHERE supplier_name  ilike '"+selectSupp+"'");
                        java.sql.ResultSet rset4 = st4.executeQuery(
                                "select DISTINCT REQUISITION_no,date_due,cost_center, case when supplier is null then '-' else supplier end as supplier,"
                                        + " received_requisation,reason,date,store_name,requisation FROM st_receive_requisation where REQUISITION_no = '"
                                        + OrderNo + "'");// where supplier_name = 'Uchumi'member_no = '"+memNo+"'  AND date BETWEEN '"+beginDate+"' AND '"+endDate+"'");
                        java.sql.ResultSet rset5 = st5.executeQuery(
                                "select DISTINCT date_due from st_receive_requisation where requisition_no = '"
                                        + OrderNo + "'");// where supplier_name = 'Uchumi'member_no = '"+memNo+"'  AND date BETWEEN '"+beginDate+"' AND '"+endDate+"'");
                        java.sql.ResultSet rset11 = st11.executeQuery(
                                "select initcap(user_name) from st_receive_requisation where requisition_no = '"
                                        + OrderNo + "'");// where supplier_name = 'Uchumi'member_no = '"+memNo+"'  AND date BETWEEN '"+beginDate+"' AND '"+endDate+"'");
                        while (rset11.next()) {
                            Username = rset11.getObject(1).toString();
                        }
                        table1.getDefaultCell().setBorderColor(java.awt.Color.white);

                        while (rset4.next()) {

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("  ", pFontHeader);
                            //table1.addCell(phrase);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("INTERNAL PURCHASE REQUISITION", pFontHeader5);
                            table1.addCell(phrase);
                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("FROM TEAM LEADER LOGISTICS-    " + Department + " ",
                                    pFontHeader5);
                            table1.addCell(phrase);
                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("TO SUPPLY CHAIN MANAGER", pFontHeader5);
                            table1.addCell(phrase);
                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);

                            phrase = new Phrase("NUMBER KNH/" + Department + "/  " + OrderNo, pFontHeader5);
                            table1.addCell(phrase);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(" ", pFontHeader);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(" ", pFontHeader);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                            phrase = new Phrase("PLEASE ORDER THE FOLLOWING MATERIALS/ITEMS", pFontHeader5);
                            table1.addCell(phrase);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(" ", pFontHeader);

                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(" ", pFontHeader);
                            //table1.addCell(phrase);

                            table1.getDefaultCell().setColspan(6);

                            phrase = new Phrase("Requisitioning Store : " + rset4.getObject(3).toString(),
                                    pFontHeader);
                            table1.addCell(phrase);
                            table1.getDefaultCell().setColspan(4);
                            phrase = new Phrase("DATE: " + rset4.getObject(9).toString(), pFontHeader);
                            table1.addCell(phrase);
                            table1.getDefaultCell().setColspan(10);
                            table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase("Receiving Store : " + rset4.getObject(8).toString(),
                                    pFontHeader);
                            table1.addCell(phrase);

                            //                                table1.getDefaultCell().setColspan(10);
                            //                                phrase = new Phrase("  " + rset4.getObject(2).toString(), pFontHeader);
                            //                                table1.addCell(phrase);

                            /*
                             * table1.getDefaultCell().setColspan(5);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase(" ", pFontHeader);
                             * table1.addCell(phrase); phrase = new
                             * Phrase("PROCUREMENT METHOD : ", pFontHeader);
                             * table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5); phrase
                             * = new Phrase(" ", pFontHeader);
                             * table1.addCell(phrase);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("REQUISITION NO: " +
                             * rset4.getObject(1).toString(), pFontHeader);
                             * table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5); phrase
                             * = new Phrase(" ", pFontHeader);
                             * table1.addCell(phrase);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("ACCOUNT NO: ",
                             * pFontHeader); table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5); phrase
                             * = new Phrase(" ", pFontHeader);
                             * table1.addCell(phrase);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("REASON FOR PURCHASE " +
                             * rset4.getObject(6).toString(), pFontHeader);
                             * table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5);
                             *
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("", pFontHeader);
                             * table1.addCell(phrase);
                             *
                             * table1.getDefaultCell().setColspan(5); phrase
                             * = new Phrase("NAME OF THE SUPPLIER " +
                             * rset4.getObject(4).toString(), pFontHeader);
                             * table1.addCell(phrase);
                             * table1.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                             * phrase = new Phrase("CONTRACT NO: ",
                             * pFontHeader); table1.addCell(phrase);
                             *
                             */

                        }

                        docPdf.add(table1);

                    } 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());

                }

                double Total = 0.00;
                double discount = 0.00;
                double vat = 0.00;
                double qty = 0.00;
                double price = 0.00;
                double value = 0.00;

                try {

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(9);
                    table.getDefaultCell().setPadding(3);

                    int headerwidths[] = { 8, 30, 14, 14, 14, 14, 14, 16, 15 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));

                    com.lowagie.text.pdf.PdfPTable table3 = new com.lowagie.text.pdf.PdfPTable(9);
                    // table3.getDefaultCell().setPadding(3);

                    int headerwidths3[] = { 8, 30, 14, 14, 14, 14, 14, 16, 15 };

                    table3.setWidths(headerwidths3);

                    table3.setWidthPercentage((100));
                    //table.getDefaultCell().setBorderColor(java.awt.Color.black);
                    //table.getDefaultCell().setBorder(Rectangle.BOTTOM);
                    table.getDefaultCell().setBorderColor(java.awt.Color.WHITE);
                    table.getDefaultCell().setColspan(9);
                    Phrase phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table3.getDefaultCell()
                            .setBorder(Rectangle.BOTTOM | Rectangle.LEFT | Rectangle.RIGHT | Rectangle.TOP);

                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("NOs ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("Item No/Code ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(2);

                    phrase = new Phrase("Item Description", pFontHeader);
                    table3.addCell(phrase);
                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("Units of Issue. ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("Qty Required. ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(1);
                    phrase = new Phrase("Store Balance ", pFontHeader);
                    table3.addCell(phrase);

                    table3.getDefaultCell().setColspan(2);
                    phrase = new Phrase("Monthly Usage", pFontHeader);
                    table3.addCell(phrase);

                    //                        table3.getDefaultCell().setColspan(1);
                    //                        phrase = new Phrase(" ", pFontHeader);
                    //                        table3.addCell(phrase);

                    //                        phrase = new Phrase("Est.Cost ", pFontHeader);
                    //                        table3.addCell(phrase);
                    //
                    //                        phrase = new Phrase("Actual Cost", pFontHeader);
                    //                        table3.addCell(phrase);
                    //
                    //                        phrase = new Phrase("Tender/Qtn Ref.", pFontHeader);
                    //                        table3.addCell(phrase);

                    phrase = new Phrase("", pFontHeader);
                    //table.addCell(phrase);
                    table3.setHeaderRows(1);

                    //                        table3.getDefaultCell().setColspan(1);
                    //
                    //                        table3.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    //  table.getDefaultCell().setBorderColor(java.awt.Color.BLACK);

                    String coment = "";

                    try {

                        // java.sql.Statement st6 = connectDB.createStatement();
                        java.sql.Statement st1 = connectDB.createStatement();

                        java.sql.ResultSet rset1 = st1
                                .executeQuery("SELECT initcap(item_description),units,cos_glcode,"
                                        + " quantity,price,round(quantity*price,2),mainstore_bal,terms,item_code,monthly_usage from st_receive_requisation"
                                        + " WHERE requisition_no = '" + OrderNo + "'");// where supplier_name = 'Uchumi'member_no = '"+memNo+"'  AND date BETWEEN '"+beginDate+"' AND '"+endDate+"'");

                        table.getDefaultCell().setBorderColor(java.awt.Color.lightGray);

                        while (rset1.next()) {

                            // value = qty * price;

                            cnt = cnt + 1;

                            table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            table3.getDefaultCell().setColspan(1);
                            phrase = new Phrase("" + cnt, pFontHeader2);
                            table3.getDefaultCell().setBorderColor(java.awt.Color.black);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            table3.getDefaultCell().setColspan(1);
                            phrase = new Phrase(rset1.getObject(9).toString(), pFontHeader2);
                            table3.getDefaultCell().setBorderColor(java.awt.Color.black);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(2);
                            table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            phrase = new Phrase(rset1.getObject(1).toString(), pFontHeader2);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(1);
                            phrase = new Phrase(rset1.getObject(2).toString(), pFontHeader2);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(1);
                            phrase = new Phrase(rset1.getObject(4).toString(), pFontHeader2);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(1);
                            // JOptionPane.showMessageDialog(null, "this "+rset1.getObject(10).toString());
                            phrase = new Phrase(rset1.getObject(7).toString(), pFontHeader);
                            table3.addCell(phrase);

                            table3.getDefaultCell().setColspan(2);
                            //change
                            phrase = new Phrase(rset1.getObject(10).toString(), pFontHeader2);
                            table3.addCell(phrase);

                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            //                                phrase = new Phrase(new com.afrisoftech.sys.Format2Currency().Format2Currency(rset1.getObject(4).toString()), pFontHeader2);
                            //
                            //                                table3.addCell(phrase);
                            //
                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            //                                phrase = new Phrase(new com.afrisoftech.sys.Format2Currency().Format2Currency(rset1.getObject(5).toString()), pFontHeader2);
                            //                                table3.addCell(phrase);
                            //
                            //                                // System.out.println("Second "+docPdf.top());
                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            //                                phrase = new Phrase(new com.afrisoftech.sys.Format2Currency().Format2Currency(rset1.getString(6)), pFontHeader2);
                            //
                            //                                table3.addCell(phrase);
                            //
                            //                                phrase = new Phrase(new com.afrisoftech.sys.Format2Currency().Format2Currency(rset1.getString(7)), pFontHeader2);
                            //
                            //                                table3.addCell(phrase);
                            //
                            //
                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                            //                                value = value + rset1.getDouble(6);
                            //                                table3.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                            //                                // phrase = new Phrase(rset1.getObject(8).toString(), pFontHeader2);
                            //
                            //                                // table.addCell(phrase);
                            //                                //  coment = rset1.getObject(12).toString();

                        }

                        //                            table.getDefaultCell().setBorderColor(java.awt.Color.BLACK);
                        //
                        //                            table.getDefaultCell().setBorder(Rectangle.BOTTOM | Rectangle.TOP | Rectangle.RIGHT | Rectangle.LEFT);
                        //                            table.getDefaultCell().setFixedHeight(350);
                        //                            table.addCell(table3);
                        //
                        //                            table.getDefaultCell().setFixedHeight(20);
                        //
                        ////                         
                        //
                        //
                        //                            table.getDefaultCell().setColspan(9);
                        //                            table.getDefaultCell().setBorder(Rectangle.TOP | Rectangle.BOTTOM | Rectangle.RIGHT | Rectangle.LEFT);
                        //                            phrase = new Phrase(" ", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //                            table.getDefaultCell().setBorder(Rectangle.TOP);
                        //                           
                        //                            table.addCell(phrase);
                        //table.getDefaultCell().setBorder(Rectangle.TOP);

                        /*
                         *
                         *
                         * table.getDefaultCell().setColspan(6);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("Prepared By :"
                         * +Username.toUpperCase(), pFontHeader);
                         *
                         * table.addCell(phrase);
                         */

                        //                            table.getDefaultCell().setColspan(3);
                        //                            table.getDefaultCell().setBorderColor(java.awt.Color.WHITE);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("PREPARED BY.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Sign.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Date.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                          phrase = new Phrase("Time.................................\n", pFontHeader);
                        //                          table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(3);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("AIE HOLDER/USER.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Sign.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Date.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time.................................\n", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(3);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("APPROVED BY(TL LOGISTICS).................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Sign.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Date.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time.................................\n", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //                            table.getDefaultCell().setColspan(4);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Amount Voted..................................................", pFontHeader);
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(5);
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Vote Balance.........................................................", pFontHeader);
                        //                            table.addCell(phrase);
                        //
                        //
                        //                            table.getDefaultCell().setColspan(3);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Vote Holder's Authority.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Sign.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Date.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time.................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        // phrase = new Phrase("SIGN..........................................................", pFontHeader);
                        //table.addCell(phrase);

                        table.getDefaultCell().setColspan(9);

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

                        table.addCell(phrase);

                        //phrase = new Phrase("FOR PROCUREMENT USE ONLY", pFontHeader);

                        //table.addCell(phrase);
                        //table.getDefaultCell().setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.RIGHT | Rectangle.BOTTOM);

                        //table.getDefaultCell().setBorderColor(java.awt.Color.BLACK);

                        //                            table.getDefaultCell().setColspan(3);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Approved/Not Approved.....................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            //table.getDefaultCell().setColspan(5);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Date............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("ACTION:- I/C Supplies & Proc .....................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            //table.getDefaultCell().setColspan(5);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Date............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Procurement Section.....................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            //table.getDefaultCell().setColspan(5);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Date............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            phrase = new Phrase("Time............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Stock Ctr/: D/Note.............................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Inv No.......................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Sign....................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(2);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Date.......................................", pFontHeader);
                        //
                        //                            table.addCell(phrase);
                        //
                        //                            table.getDefaultCell().setColspan(1);
                        //
                        //                            table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        //                            phrase = new Phrase("Time...........................", pFontHeader);
                        //
                        //                            table.addCell(phrase);

                        /*
                         * table.getDefaultCell().setColspan(5);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new
                         * Phrase("REMARK___________________________________",
                         * pFontHeader);
                         *
                         * table.addCell(phrase);
                         * table.getDefaultCell().setColspan(4);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("DATE
                         * RECEIVED____________________________",
                         * pFontHeader); table.addCell(phrase);
                         *
                         * table.getDefaultCell().setColspan(5);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase(" ", pFontHeader);
                         * table.addCell(phrase);
                         *
                         * table.getDefaultCell().setColspan(9);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                         * phrase = new Phrase(" ", pFontHeader);
                         *
                         * table.addCell(phrase);
                         * table.getDefaultCell().setBorder(Rectangle.TOP);
                         *
                         * table.getDefaultCell().setBorderColor(java.awt.Color.WHITE);
                         *
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("1. Original__________ Use
                         * department", pFontHeader);
                         *
                         * table.addCell(phrase);
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("2. Duplicate________
                         * Procurement office", pFontHeader);
                         *
                         * table.addCell(phrase);
                         *
                         *
                         * table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                         * phrase = new Phrase("3. Triplicate_________ Book
                         * copy", 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());

                }

                try {

                    Phrase phrase = new Phrase();

                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(9);
                    table.getDefaultCell().setPadding(3);

                    int headerwidths[] = { 8, 30, 14, 14, 14, 14, 14, 16, 15 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((100));

                    table.getDefaultCell().setBorderColor(java.awt.Color.BLACK);

                    table.getDefaultCell()
                            .setBorder(Rectangle.BOTTOM | Rectangle.TOP | Rectangle.RIGHT | Rectangle.LEFT);
                    table.getDefaultCell().setFixedHeight(350);
                    table.addCell(table);

                    table.getDefaultCell().setFixedHeight(20);

                    //                         

                    table.getDefaultCell().setColspan(9);
                    table.getDefaultCell()
                            .setBorder(Rectangle.TOP | Rectangle.BOTTOM | Rectangle.RIGHT | Rectangle.LEFT);
                    phrase = new Phrase(" ", pFontHeader);

                    table.addCell(phrase);
                    table.getDefaultCell().setBorder(Rectangle.TOP);

                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(3);
                    table.getDefaultCell().setBorderColor(java.awt.Color.WHITE);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("PREPARED BY.................................", pFontHeader);

                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(2);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Sign.................................", pFontHeader);

                    table.addCell(phrase);

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

                    table.addCell(phrase);

                    phrase = new Phrase("Time.................................\n", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(3);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("AIE HOLDER/USER.................................", pFontHeader);

                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(2);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Sign.................................", pFontHeader);

                    table.addCell(phrase);

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

                    table.addCell(phrase);

                    phrase = new Phrase("Time.................................\n", pFontHeader);

                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(3);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("APPROVED BY(TL LOGISTICS).................................",
                            pFontHeader);

                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(2);

                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Sign.................................", pFontHeader);

                    table.addCell(phrase);

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

                    table.addCell(phrase);

                    phrase = new Phrase("Time.................................\n", pFontHeader);

                    table.addCell(phrase);

                    //down

                    docPdf.add(table);

                } 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 (com.lowagie.text.DocumentException lwDocexec) {

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

        }
        //            System.out.println("Current Doc size "+ pdfWriter.getCurrentDocumentSize());

        docPdf.close();
        com.afrisoftech.lib.PDFRenderer.renderPDF(tempFile);

    } catch (java.io.IOException IOexec) {

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

    }

}

From source file:com.afrisoftech.reports.PatientRegFormPdf.java

public void generatePdf(String patientName, String patientAge, String PatientGender, String patientNationality,
        String patientIDPassport, String placeofBirth, String patientOccupation, String maritalStatus,
        String patientReligion, String patientTelephone, String patientEmail, String patientVillage,
        String patientLocation, String patientHomeCounty, String patientResidenceCounty, String patientNOK,
        String patientRelation, String patientNOKTelephone, String patientReferFrom, String bookingDate,
        String specialtyClinic, String statusNHIF, String NHIFNumber, String educationLevel,
        String employerTelephone, String patientEmployer, String paidAmount, String receiptNumber,
        String cSheetNo, String invoiceNumber, String interviewerName, String interviewDate,
        String servicePoint, String unitNumber, String patientNumber, String admissionWard,
        String admissionDate, String admissionType, String claimNumber, java.util.Date date, String gender,
        String typeofAccident, String modeofArrival, String nameofPoliceOfficer, String policeForceNO,
        String policeStationAccident, String dateAccident, String nameofDriver, String accidentVehicleNo,
        String driverLicenceNo, String driversIDNo, String registrationTimes) {

    java.util.Date date111 = date;
    java.lang.String formLabel = null;

    if (admissionWard.toCharArray().length < 1) {

        formLabel = "PATIENT REGISTRATION FORM";

    } else {//from w  ww  . j av a  2 s . c  o m
        formLabel = "PATIENT ADMISSION FORM";
    }

    java.lang.Process wait_for_Pdf2Show;

    java.util.Calendar cal = java.util.Calendar.getInstance();

    java.util.Date dateStampPdf = cal.getTime();

    java.lang.String pdfDateStamp = dateStampPdf.toString();

    try {

        java.io.File tempFile = java.io.File.createTempFile("REP" + this.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();
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document();

        try {

            try {

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

                com.lowagie.text.HeaderFooter footer = new com.lowagie.text.HeaderFooter(
                        new Phrase(formLabel + " : ", pFontHeader2), true);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 12, Font.BOLDITALIC,java.awt.Color.blue));

                docPdf.setFooter(footer);

                docPdf.open();

                java.util.Calendar calendar = java.util.Calendar.getInstance();

                long dateNow = calendar.getTimeInMillis();

                java.sql.Date datenowSql = new java.sql.Date(dateNow);

                System.out.println(datenowSql.toString());

                try {
                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(6);

                    int headerwidths[] = { 16, 16, 16, 16, 16, 16 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((105));

                    com.lowagie.text.pdf.PdfPTable table2 = new com.lowagie.text.pdf.PdfPTable(2);

                    int headerwidths2[] = { 30, 70 };

                    table2.setWidths(headerwidths2);

                    table2.setWidthPercentage((100));

                    table2.getDefaultCell().setFixedHeight(50);
                    //phrase = new Phrase("", pFontHeader1);

                    //table.addCell(phrase);
                    table2.getDefaultCell().setColspan(2);
                    table2.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    Image img = Image.getInstance(com.afrisoftech.lib.CompanyLogo.getPath2Logo());
                    img.scalePercent(50);
                    // img.sc//aleAbsolute(200, 200);
                    table2.addCell(img);
                    String compName = null;
                    String District = null;
                    String Region = null;
                    String date2 = null;
                    try {
                        java.sql.Statement st3 = connectDB.createStatement();

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

                        java.sql.ResultSet rset2 = st3.executeQuery(
                                "SELECT hospital_name,district_branch,region FROM pb_hospitalprofile");
                        java.sql.ResultSet rset4 = st4.executeQuery("SELECT date('now') as Date");
                        while (rset2.next()) {
                            compName = dbObject.getDBObject(rset2.getObject(1), "");
                            District = dbObject.getDBObject(rset2.getObject(2), "");
                            Region = dbObject.getDBObject(rset2.getObject(3), "");
                        }
                        while (rset4.next()) {
                            date2 = dbObject.getDBObject(rset4.getObject(1), "");
                        }
                    } catch (java.sql.SQLException ex) {
                        javax.swing.JOptionPane.showMessageDialog(new java.awt.Frame(), ex.getMessage());
                        ex.printStackTrace();
                    }
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    // table.getDefaultCell().set
                    Phrase phrase = new Phrase(compName.toUpperCase(), pFontHeader3);
                    table2.addCell(phrase);

                    table.addCell(table2); // painting the logo

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((105));

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

                    table.getDefaultCell().setColspan(5);

                    phrase = new Phrase(formLabel, pFontHeader2);

                    table.addCell(phrase);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                    table.getDefaultCell().setColspan(1);
                    phrase = new Phrase("FORM: 260", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    // table.getDefaultCell().set
                    phrase = new Phrase("1. PATIENT PERSONAL DETAILS", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    dbObject = new com.afrisoftech.lib.DBObject();

                    phrase = new Phrase("Patient Name: " + patientName, pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Age: " + dbObject.getDBObject((Object) patientAge, "") + "",
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Nationality: " + dbObject.getDBObject(patientNationality, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("ID-Passport: " + dbObject.getDBObject(patientIDPassport, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Place of Birth: " + dbObject.getDBObject(placeofBirth, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Occupation: " + dbObject.getDBObject(patientOccupation, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Marital Status: " + dbObject.getDBObject(maritalStatus, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Religion: " + dbObject.getDBObject(patientReligion, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Patient Tel.: " + dbObject.getDBObject(patientTelephone, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Patient Email.: " + dbObject.getDBObject(patientEmail, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Patient Gender.: " + dbObject.getDBObject(gender, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Registration Time : " + dbObject.getDBObject(registrationTimes, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("2. PATIENT RESIDENCE", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Home Village: " + dbObject.getDBObject(patientVillage, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Residence: " + dbObject.getDBObject(patientLocation, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("County of Birth: " + dbObject.getDBObject(patientHomeCounty, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(
                            "County of Residence: " + dbObject.getDBObject(patientResidenceCounty, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("3. NEXT OF KIN", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Next of Kin: " + dbObject.getDBObject(patientNOK, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Relationship: " + dbObject.getDBObject(patientRelation, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("NOK Telephone: " + dbObject.getDBObject(patientNOKTelephone, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("4. CURRENT ATTENDANCE AT FACILITY", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Referred From: " + dbObject.getDBObject(patientReferFrom, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Appointment Date: " + dbObject.getDBObject(date111, ""),
                            pFontHeadercolor);
                    table.addCell(phrase);
                    phrase = new Phrase("Specialty Clinic: " + dbObject.getDBObject(specialtyClinic, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("5. PATIENT SOCIAL ECONOMIC HISTORY", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("NHIF Registered: " + dbObject.getDBObject(statusNHIF, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("NHIF No.: " + dbObject.getDBObject(NHIFNumber, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Education Level: " + dbObject.getDBObject(educationLevel, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Employer: " + dbObject.getDBObject(patientEmployer, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Telephone: " + dbObject.getDBObject(employerTelephone, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("6. DEPOSITS AND OTHER PAYMENTS", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Amount Paid: " + dbObject.getDBObject(paidAmount, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Receipt No.: " + dbObject.getDBObject(receiptNumber, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("C-Sheet No.: " + dbObject.getDBObject(cSheetNo, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Invoice Number: " + dbObject.getDBObject(invoiceNumber, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(4);
                    phrase = new Phrase("NHIF Claim No.: " + dbObject.getDBObject(claimNumber, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(" ", pFontHeader);
                    // table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("7. INTERVIEWERS INFORMATION", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Interviewer: " + dbObject.getDBObject(interviewerName, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Date: " + dbObject.getDBObject(interviewDate, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Service Point: " + dbObject.getDBObject(servicePoint, ""),
                            pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("8. ADMISSION INFORMATION", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Admission Ward: " + dbObject.getDBObject(admissionWard, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Admission Date: " + dbObject.getDBObject(admissionDate, ""),
                            pFontHeadercolor);
                    table.addCell(phrase);
                    phrase = new Phrase("Admission Type: " + dbObject.getDBObject(admissionType, ""),
                            pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

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

                    ///RTA DETAILS
                    if (typeofAccident.length() > 0 || modeofArrival.length() > 0
                            || nameofPoliceOfficer.length() > 0 || policeForceNO.length() > 0
                            || policeStationAccident.length() > 0 || dateAccident.length() > 0
                            || nameofDriver.length() > 0 || accidentVehicleNo.length() > 0
                            || driverLicenceNo.length() > 0 || driversIDNo.length() > 0) {

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase("RTA DETAILS : ", pFontHeader2);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                dbObject.getDBObject("Type of Accident:- " + typeofAccident, "") + ""
                                        + dbObject.getDBObject(". MODE of ARRIVAL:-" + modeofArrival, ""),
                                pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                dbObject.getDBObject("Name Of Police Officer :- " + nameofPoliceOfficer, "")
                                        + "." + "" + dbObject
                                                .getDBObject(" Police Officer Force No:-" + policeForceNO, ""),
                                pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                dbObject.getDBObject(
                                        "Police Station Accident Scene :- " + policeStationAccident, "") + ". "
                                        + dbObject.getDBObject("Accident Date:-" + dateAccident, ""),
                                pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                dbObject.getDBObject("Name of Driver:- " + nameofDriver, "") + dbObject
                                        .getDBObject(". Accident Vehicle NO:-" + accidentVehicleNo, ""),
                                pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                "Driving Licence No:- " + dbObject.getDBObject(driverLicenceNo, "")
                                        + ". Driver's ID No :-" + dbObject.getDBObject(driversIDNo, ""),
                                pFontHeader);
                        table.addCell(phrase);

                    }

                    ///RTA END
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase(" ", pFontHeader1);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(3);
                    table.getDefaultCell().setBorder(PdfCell.RECTANGLE);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase(" Patient Number : ".toUpperCase()
                            + dbObject.getDBObject(patientNumber, "").toUpperCase(), pFontHeader3);
                    table.addCell(phrase);
                    //   phrase = new Phrase(" ", pFontHeader);
                    //   table.addCell(phrase);
                    table.getDefaultCell().setColspan(3);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase(
                            "Unit Number : ".toUpperCase() + dbObject.getDBObject(unitNumber, "").toUpperCase(),
                            pFontHeader2);

                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);

                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    //PdfWriter writer = PdfWriter.getInstance(docPdf, new FileOutputStream(tempFile));
                    PdfContentByte cb = writer.getDirectContent();

                    Barcode128 code128 = new Barcode128();

                    code128.setCode(patientNumber.toUpperCase() + " " + patientName.toUpperCase());

                    code128.setBarHeight(16);

                    code128.setTextAlignment(Element.ALIGN_LEFT);

                    docPdf.add(table);

                    docPdf.add(code128.createImageWithBarcode(cb, null, null));

                    //                        docPdf.add(new com.itextpdf.text.Paragraph("Barcode QRCode"));
                    //                        BarcodeQRCode qrcode = new BarcodeQRCode(patientNumber.toUpperCase() + " " + patientName.toUpperCase(), 1, 1, null);
                    //                        com.itextpdf.text.Image qrimg = qrcode.getImage();
                    //                        docPdf.add(qrimg);
                    //  docPdf.add(table);
                } 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 (com.lowagie.text.DocumentException lwDocexec) {

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

        }

        docPdf.close();

        com.afrisoftech.lib.PDFRenderer.renderPDF(tempFile);

    } catch (java.io.IOException IOexec) {

        IOexec.printStackTrace();

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

    }
}

From source file:com.afrisoftech.reports.PatientRegReprintFormPdf.java

public void generatePdf(java.sql.Connection con, String patientNo, String type, String receipt_no,
        String receipt_time) {/*  w  w w. j ava  2 s. c om*/

    String patientName = null;
    String patientAge = null;
    String PatientGender = null;
    String patientNationality = null;
    String patientIDPassport = null;
    String placeofBirth = null;
    String patientOccupation = null;
    String maritalStatus = null;
    String patientReligion = null;
    String patientTelephone = null;
    String patientEmail = null;
    String patientVillage = null;
    String patientLocation = null;
    String patientHomeCounty = null;
    String patientResidenceCounty = null;
    String patientNOK = null;
    String patientRelation = null;
    String patientNOKTelephone = null;
    String patientReferFrom = null;
    String bookingDate = null;
    String specialtyClinic = null;
    String statusNHIF = null;
    String NHIFNumber = null;
    String educationLevel = null;
    String employerTelephone = null;
    String patientEmployer = null;
    String paidAmount = null;
    String receiptNumber = null;
    String cSheetNo = null;
    String invoiceNumber = null;
    String interviewerName = null;
    String interviewDate = null;
    String servicePoint = null;
    String unitNumber = null;
    String patientNumber = null;
    String admissionWard = null;
    String admissionDate = null;
    String admissionType = null;
    String claimNumber = null;
    java.util.Date date = null;
    String gender = null;
    String typeofAccident = null;
    String modeofArrival = null;
    String nameofPoliceOfficer = null;
    String policeForceNO = null;
    String policeStationAccident = null;
    String dateAccident = null;
    String nameofDriver = null;
    String accidentVehicleNo = null;
    String driverLicenceNo = null;
    String driversIDNo = null;
    String patNo = null;
    patNo = patientNo;
    try {

        //            java.sql.ResultSet rse124 = stm124.executeQuery("SELECT first_name, second_name, nok, residence, \n" +
        //"       address, year_of_birth, tel_no, sex, date, pay_mode, payer, account_no, \n" +
        //"       description, category, expiry_date, last_visit, department, member_name, \n" +
        //"       card_no, emails, id_no, nok_add, old_patient_no, pat_nationality, \n" +
        //"       nok_telno, nok_relationship, nok_residence, nok_email, pat_marital_status, \n" +
        //"       tribe, district, locations, sub_location, chief_name, sub_chief, \n" +
        //"       information_source, education_level, occupation, pat_religion, \n" +
        //"       patient_race, birth_place, waiting_patient, email, home_county, \n" +
        //"       residence_county, nhif_status, nhif_number, employer_name, employer_telephone, \n" +
        //"       refer_source, charge_sheet_no, specialty_clinic\n" +
        //"  FROM hp_patient_register; where patient_no='"+patNo+"' ");
        if (type.equals("OP")) {

            java.sql.Statement stm12456 = con.createStatement();
            java.sql.ResultSet rse124 = stm12456
                    .executeQuery("SELECT   hp.patient_no, first_name, second_name, last_name, nok, residence,"
                            + " address, year_of_birth, tel_no, sex, date, pay_mode, payer, account_no, "
                            + " description, category, expiry_date, last_visit, department, member_name,"
                            + " card_no, emails, id_no, nok_add, old_patient_no, pat_nationality,"
                            + " nok_telno, nok_relationship, nok_residence, nok_email, pat_marital_status,"
                            + " tribe, district, locations, sub_location, chief_name, sub_chief,"
                            + " information_source, education_level, occupation, pat_religion,"
                            + " patient_race, birth_place, waiting_patient, email, home_county,"
                            + " residence_county, nhif_status, nhif_number, employer_name, employer_telephone,"
                            + " refer_source, charge_sheet_no, specialty_clinic, accident_type, arrival_mode, police_officer_no, police_station,date_time, driver_name, accident_vehicle_no, driver_license, driver_id_no,service_point,user_name FROM  hp_patient_register hp LEFT JOIN rta_info rt  on hp.patient_no=rt.patient_no WHERE hp.patient_no='"
                            + patNo + "' ORDER BY date_time desc  limit 1 ");
            while (rse124.next()) {

                patientName = rse124.getString(2).toUpperCase() + " " + rse124.getString(3).toUpperCase();
                patientAge = PatientAge.getPatientActualAge(con,
                        com.afrisoftech.lib.SQLDateFormat.getSQLDate(rse124.getDate("year_of_birth")));
                PatientGender = rse124.getString("sex");
                patientNationality = rse124.getString("pat_nationality");
                patientIDPassport = rse124.getString("id_no");
                placeofBirth = rse124.getString("birth_place");
                patientOccupation = rse124.getString("occupation");
                maritalStatus = rse124.getString("pat_marital_status");
                patientReligion = rse124.getString("pat_religion");
                patientTelephone = rse124.getString("tel_no");
                patientEmail = rse124.getString("emails");
                patientVillage = rse124.getString("residence");
                patientLocation = rse124.getString("locations");
                patientHomeCounty = rse124.getString("home_county");
                patientResidenceCounty = rse124.getString("residence_county");
                patientNOK = rse124.getString("nok");
                patientRelation = rse124.getString("nok_relationship");
                //jddfsjdsj
                patientNOKTelephone = rse124.getString("nok_telno");
                patientReferFrom = rse124.getString("refer_source");
                bookingDate = rse124.getString("date");
                specialtyClinic = rse124.getString("specialty_clinic");
                statusNHIF = rse124.getString("nhif_status");
                NHIFNumber = rse124.getString("nhif_number");
                educationLevel = rse124.getString("education_level");
                employerTelephone = rse124.getString("employer_telephone");
                patientEmployer = rse124.getString("employer_name");
                paidAmount = "";
                receiptNumber = "";
                cSheetNo = rse124.getString("charge_sheet_no");
                invoiceNumber = "";
                interviewerName = rse124.getString("user_name");
                interviewDate = rse124.getString("date");
                servicePoint = rse124.getString("service_point");
                unitNumber = rse124.getString("patient_race");
                patientNumber = rse124.getString("patient_no");
                admissionWard = "";
                admissionDate = "";
                admissionType = "";
                claimNumber = "";
                date = com.afrisoftech.lib.SQLDateFormat.getSQLDate(rse124.getDate("date"));
                gender = rse124.getString("sex");
                typeofAccident = rse124.getString("accident_type");
                modeofArrival = rse124.getString("arrival_mode");
                nameofPoliceOfficer = rse124.getString("police_officer_no");
                policeForceNO = rse124.getString("police_officer_no");
                policeStationAccident = rse124.getString("police_station");
                dateAccident = rse124.getString("date_time");
                nameofDriver = rse124.getString("driver_name");
                accidentVehicleNo = rse124.getString("accident_vehicle_no");
                driverLicenceNo = rse124.getString("driver_license");
                driversIDNo = rse124.getString("driver_id_no");
                System.out.println("");

            }

            ///getting the receipt details
            try {
                java.sql.Statement stmt11 = connectDB.createStatement();
                //java.sql.ResultSet rset11 = stmt11.executeQuery("SELECT  description,receipt_no, debit  FROM ac_cash_collection where  patient_no='" + patientNumberTxt.getText() + "' and receipt_time::date >= current_date-1 ");
                java.sql.ResultSet rset11 = stmt11.executeQuery(
                        "SELECT  description,receipt_no, debit  FROM ac_cash_collection where  patient_no='"
                                + patNo + "'   and receipt_no='" + receipt_no + "' and receipt_time::date='"
                                + receipt_time + "'::date ");
                while (rset11.next()) {
                    receiptNumber = rset11.getObject(2).toString();
                    paidAmount = rset11.getObject(3).toString();

                    System.out.println("This is the receipt no " + receiptNumber + " and this is the AMOUNT "
                            + paidAmount);
                }

            } catch (Exception ex) {
                ex.printStackTrace();
                ex.getMessage();
            }

            ///end
        } else if (type.equals("IP")) {
        }

    } catch (java.sql.SQLException sq) {
        javax.swing.JOptionPane.showMessageDialog(null, sq.getMessage(), "Error Message!",
                javax.swing.JOptionPane.ERROR_MESSAGE);

        System.out.println(sq.getMessage());
    }

    java.util.Date date111 = date;
    java.lang.String formLabel = null;

    //        if(admissionWard.toCharArray().length < 1){
    //            
    //            formLabel = "PATIENT REGISTRATION FORM";
    //            
    //        } else {
    //            formLabel = "PATIENT ADMISSION FORM";
    //        }
    if (type.equals("OP")) {

        formLabel = "PATIENT REGISTRATION FORM";

    } else {
        formLabel = "PATIENT ADMISSION FORM";
    }

    java.lang.Process wait_for_Pdf2Show;

    java.util.Calendar cal = java.util.Calendar.getInstance();

    java.util.Date dateStampPdf = cal.getTime();

    java.lang.String pdfDateStamp = dateStampPdf.toString();

    try {

        java.io.File tempFile = java.io.File.createTempFile("REP" + this.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();
        com.lowagie.text.Document docPdf = new com.lowagie.text.Document();

        try {

            try {

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

                com.lowagie.text.HeaderFooter footer = new com.lowagie.text.HeaderFooter(
                        new Phrase(formLabel + " : ", pFontHeader2), true);// FontFactory.getFont(com.lowagie.text.FontFactory.HELVETICA, 12, Font.BOLDITALIC,java.awt.Color.blue));

                docPdf.setFooter(footer);

                docPdf.open();

                java.util.Calendar calendar = java.util.Calendar.getInstance();

                long dateNow = calendar.getTimeInMillis();

                java.sql.Date datenowSql = new java.sql.Date(dateNow);

                System.out.println(datenowSql.toString());

                try {
                    com.lowagie.text.pdf.PdfPTable table = new com.lowagie.text.pdf.PdfPTable(6);

                    int headerwidths[] = { 16, 16, 16, 16, 16, 16 };

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((105));

                    com.lowagie.text.pdf.PdfPTable table2 = new com.lowagie.text.pdf.PdfPTable(2);

                    int headerwidths2[] = { 30, 70 };

                    table2.setWidths(headerwidths2);

                    table2.setWidthPercentage((100));

                    table2.getDefaultCell().setFixedHeight(50);
                    //phrase = new Phrase("", pFontHeader1);

                    //table.addCell(phrase);
                    table2.getDefaultCell().setColspan(2);
                    table2.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    Image img = Image.getInstance(com.afrisoftech.lib.CompanyLogo.getPath2Logo());
                    img.scalePercent(50);
                    // img.sc//aleAbsolute(200, 200);
                    table2.addCell(img);
                    String compName = null;
                    String District = null;
                    String Region = null;
                    String date2 = null;
                    try {
                        java.sql.Statement st3 = connectDB.createStatement();

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

                        java.sql.ResultSet rset2 = st3.executeQuery(
                                "SELECT hospital_name,district_branch,region FROM pb_hospitalprofile");
                        java.sql.ResultSet rset4 = st4.executeQuery("SELECT date('now') as Date");
                        while (rset2.next()) {
                            compName = rset2.getObject(1).toString();
                            District = rset2.getObject(2).toString();
                            Region = rset2.getObject(3).toString();
                        }
                        while (rset4.next()) {
                            date2 = rset4.getObject(1).toString();
                        }
                    } catch (java.sql.SQLException ex) {
                        javax.swing.JOptionPane.showMessageDialog(new java.awt.Frame(), ex.getMessage());
                        ex.printStackTrace();
                    }
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    // table.getDefaultCell().set
                    Phrase phrase = new Phrase(compName.toUpperCase(), pFontHeader3);
                    table2.addCell(phrase);

                    table.addCell(table2); // painting the logo

                    table.setWidths(headerwidths);

                    table.setWidthPercentage((105));

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

                    table.getDefaultCell().setColspan(5);

                    phrase = new Phrase(formLabel, pFontHeader2);

                    table.addCell(phrase);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_RIGHT);
                    table.getDefaultCell().setColspan(1);
                    phrase = new Phrase("FORM: 260", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    // table.getDefaultCell().set
                    phrase = new Phrase("1. PATIENT PERSONAL DETAILS", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);

                    dbObject = new com.afrisoftech.lib.DBObject();

                    phrase = new Phrase("Patient Name: " + patientName, pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Age: " + dbObject.getDBObject((Object) patientAge, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Nationality: " + dbObject.getDBObject(patientNationality, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("ID-Passport: " + dbObject.getDBObject(patientIDPassport, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Place of Birth: " + dbObject.getDBObject(placeofBirth, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Occupation: " + dbObject.getDBObject(patientOccupation, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Marital Status: " + dbObject.getDBObject(maritalStatus, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Religion: " + dbObject.getDBObject(patientReligion, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Patient Tel.: " + dbObject.getDBObject(patientTelephone, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Patient Email.: " + dbObject.getDBObject(patientEmail, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Patient Gender.: " + dbObject.getDBObject(gender, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("2. PATIENT RESIDENCE", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Home Village: " + dbObject.getDBObject(patientVillage, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Home Location: " + dbObject.getDBObject(patientLocation, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("County of Birth: " + dbObject.getDBObject(patientHomeCounty, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(
                            "County of Residence: " + dbObject.getDBObject(patientResidenceCounty, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("3. NEXT OF KIN", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Next of Kin: " + dbObject.getDBObject(patientNOK, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Relationship: " + dbObject.getDBObject(patientRelation, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("NOK Telephone: " + dbObject.getDBObject(patientNOKTelephone, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("4. CURRENT ATTENDANCE AT KNH", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Referred From: " + dbObject.getDBObject(patientReferFrom, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Appointment Dates: " + dbObject.getDBObject(date111, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Specialty Clinic: " + dbObject.getDBObject(specialtyClinic, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("5. PATIENT SOCIAL ECONOMIC HISTORY", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    if (statusNHIF != null) {
                        if (statusNHIF.contains("f")) {
                            statusNHIF = "NO";
                        } else {
                            statusNHIF = "YES";
                        }
                    } else {
                        statusNHIF = "NO";
                    }

                    phrase = new Phrase("NHIF Registered: " + dbObject.getDBObject(statusNHIF, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("NHIF No.: " + dbObject.getDBObject(NHIFNumber, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Education Level: " + dbObject.getDBObject(educationLevel, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Employer: " + dbObject.getDBObject(patientEmployer, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Telephone: " + dbObject.getDBObject(employerTelephone, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("6. DEPOSITS AND OTHER PAYMENTS", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Amount Paid: " + dbObject.getDBObject(paidAmount, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Receipt No.: " + dbObject.getDBObject(receiptNumber, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("C-Sheet No.: " + dbObject.getDBObject(cSheetNo, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Invoice Number: " + dbObject.getDBObject(invoiceNumber, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(4);
                    phrase = new Phrase("NHIF Claim No.: " + dbObject.getDBObject(claimNumber, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase(" ", pFontHeader);
                    // table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("7. INTERVIEWERS INFORMATION", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Interviewer: " + dbObject.getDBObject(interviewerName, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Date: " + dbObject.getDBObject(interviewDate, ""), pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Service Point: " + dbObject.getDBObject(servicePoint, ""),
                            pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.LIGHT_GRAY);
                    phrase = new Phrase("8. ADMISSION INFORMATION", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(2);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase("Admission Ward: " + dbObject.getDBObject(admissionWard, ""),
                            pFontHeader);
                    table.addCell(phrase);
                    phrase = new Phrase("Admission Date: " + dbObject.getDBObject(admissionDate, ""),
                            pFontHeader2);
                    table.addCell(phrase);
                    phrase = new Phrase("Admission Type: " + dbObject.getDBObject(admissionType, ""),
                            pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

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

                    ///RTA DETAILS
                    //                            if(typeofAccident.length()>0 || modeofArrival.length()>0 ||
                    //                                    nameofPoliceOfficer.length()>0 || policeForceNO.length()>0 ||
                    //                                    policeStationAccident.length()>0 ||  dateAccident.length()>0 ||
                    //                                    nameofDriver.length()>0 || accidentVehicleNo.length()>0 ||
                    //                                    driverLicenceNo.length()>0 || driversIDNo.length()>0 ){
                    if (typeofAccident != null || modeofArrival != null || nameofPoliceOfficer != null
                            || policeForceNO != null || policeStationAccident != null || dateAccident != null
                            || nameofDriver != null || accidentVehicleNo != null || driverLicenceNo != null
                            || driversIDNo != null) {

                        table.getDefaultCell().setColspan(3);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase("RTA DETAILS : ", pFontHeader2);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(3);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(dbObject.getDBObject("Accident Date:-" + dateAccident, ""),
                                pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                dbObject.getDBObject("Type of Accident:- " + typeofAccident, "") + ""
                                        + dbObject.getDBObject(". MODE of ARRIVAL:-" + modeofArrival, ""),
                                pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                dbObject.getDBObject("Name Of Police Officer :- " + nameofPoliceOfficer, "")
                                        + "." + "" + dbObject
                                                .getDBObject(" Police Officer Force No:-" + policeForceNO, ""),
                                pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                dbObject.getDBObject(
                                        "Police Station Accident Scene :- " + policeStationAccident, ""),
                                pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                dbObject.getDBObject("Name of Driver:- " + nameofDriver, "") + dbObject
                                        .getDBObject(". Accident Vehicle NO:-" + accidentVehicleNo, ""),
                                pFontHeader);
                        table.addCell(phrase);

                        table.getDefaultCell().setColspan(6);
                        table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                        table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                        phrase = new Phrase(
                                "Driving Licence No:- " + dbObject.getDBObject(driverLicenceNo, "")
                                        + ". Driver's ID No :-" + dbObject.getDBObject(driversIDNo, ""),
                                pFontHeader);
                        table.addCell(phrase);

                    }

                    ///RTA END

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase(" ", pFontHeader1);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(3);
                    table.getDefaultCell().setBorder(PdfCell.RECTANGLE);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase(
                            " Patient Number : ".toUpperCase() + dbObject.getDBObject(patNo.toUpperCase(), ""),
                            pFontHeader2);
                    table.addCell(phrase);
                    //   phrase = new Phrase(" ", pFontHeader);
                    //   table.addCell(phrase);
                    table.getDefaultCell().setColspan(3);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    phrase = new Phrase("Unit Number : ".toUpperCase() + dbObject.getDBObject(unitNumber, ""),
                            pFontHeader3);

                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);
                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT);
                    table.getDefaultCell().setBackgroundColor(java.awt.Color.WHITE);
                    phrase = new Phrase(" ", pFontHeader);
                    table.addCell(phrase);

                    table.getDefaultCell().setColspan(6);
                    table.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER);
                    //PdfWriter writer = PdfWriter.getInstance(docPdf, new FileOutputStream(tempFile));
                    PdfContentByte cb = writer.getDirectContent();

                    Barcode128 code128 = new Barcode128();

                    System.out.println("PATIENT NO " + patNo + " NAME " + patientName);
                    code128.setCode(patNo + " " + patientName);

                    code128.setBarHeight(16);

                    code128.setTextAlignment(Element.ALIGN_LEFT);

                    docPdf.add(table);

                    docPdf.add(code128.createImageWithBarcode(cb, null, null));

                    //  docPdf.add(table);

                } 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 (com.lowagie.text.DocumentException lwDocexec) {

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

        }

        docPdf.close();

        com.afrisoftech.lib.PDFRenderer.renderPDF(tempFile);

    } catch (java.io.IOException IOexec) {

        IOexec.printStackTrace();

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

    }
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createWordReport_hardware(String filename) {
    try {//from w w  w .  ja va 2 s  .co m
        String starttime = (String) reportHash.get("starttime");
        String totime = (String) reportHash.get("totime");
        Document document = new Document(PageSize.A4);
        RtfWriter2.getInstance(document, new FileOutputStream(filename));
        fileName = filename;
        document.open();
        BaseFont bfChinese = BaseFont.createFont("Times-Roman", "", BaseFont.NOT_EMBEDDED);
        Font titleFont = new Font(bfChinese, 12, Font.BOLD);
        Font contextFont = new Font(bfChinese, 10, Font.NORMAL);
        Paragraph title = new Paragraph("");
        title.setAlignment(Element.ALIGN_CENTER);
        document.add(title);

        String contextString = ":" + impReport.getTimeStamp() + " \n"// 
                + ":" + starttime + "  " + totime;
        Paragraph context = new Paragraph(contextString);
        // 
        context.setAlignment(Element.ALIGN_LEFT);
        // context.setFont(contextFont);
        // 
        context.setSpacingBefore(5);
        // 
        context.setFirstLineIndent(5);
        document.add(context);

        Table aTable = new Table(4);
        float[] widths = { 100f, 100f, 300f, 100f };
        aTable.setWidths(widths);
        aTable.setWidth(100); //  90%
        aTable.setAlignment(Element.ALIGN_CENTER);// 
        aTable.setAutoFillEmptyCells(true); // 
        aTable.setBorderWidth(1); // 
        aTable.setBorderColor(new Color(0, 125, 255)); // 
        aTable.setPadding(2);// 
        aTable.setSpacing(0);// 
        aTable.setBorder(2);// 
        aTable.endHeaders();
        aTable.addCell("");
        aTable.addCell("");
        aTable.addCell("");
        aTable.addCell("");
        Vector deviceV = (Vector) reportHash.get("deviceV");
        for (int m = 0; m < deviceV.size(); m++) {
            Devicecollectdata devicedata = (Devicecollectdata) deviceV.get(m);
            String name = devicedata.getName();
            String type = devicedata.getType();
            String status = devicedata.getStatus();
            aTable.addCell(m + 1 + "");
            aTable.addCell(type);
            aTable.addCell(name);
            aTable.addCell(status);
        }
        document.add(aTable);
        document.close();
        // System.out.println("abcdefg");
    } catch (Exception e) {
        SysLogger.error("", e);
    }
}