Example usage for com.lowagie.text Cell setHorizontalAlignment

List of usage examples for com.lowagie.text Cell setHorizontalAlignment

Introduction

In this page you can find the example usage for com.lowagie.text Cell setHorizontalAlignment.

Prototype

public void setHorizontalAlignment(String alignment) 

Source Link

Document

Sets the alignment of this cell.

Usage

From source file:com.jd.survey.web.pdf.StatisticsPdf.java

License:Open Source License

private Table createOptionsQuestionStatisticsTableHeader(String optionLabel, String optionFrequencyLabel)
        throws Exception {

    Table statsTable;//from   ww  w .j  a  v a 2 s  .c o m
    Cell cell;

    statsTable = new Table(7);
    statsTable.setWidth(94);
    statsTable.setBorder(0);
    statsTable.setOffset(5);
    statsTable.setPadding(2);
    statsTable.setDefaultCellBorder(0);

    statsTable.setWidths(new int[] { 4, 2, 1, 1, 1, 1, 1 });

    cell = new Cell(new Paragraph(optionLabel, boldedFont));
    cell.setBorder(Cell.BOTTOM);
    statsTable.addCell(cell);

    cell = new Cell(new Paragraph(optionFrequencyLabel, boldedFont));
    cell.setBorder(Cell.BOTTOM);
    statsTable.addCell(cell);

    cell = new Cell(new Paragraph("20%", boldedFont));
    cell.setBorder(Cell.BOTTOM);
    cell.setHorizontalAlignment(cell.ALIGN_RIGHT);
    statsTable.addCell(cell);

    cell = new Cell(new Paragraph("40%", boldedFont));
    cell.setBorder(Cell.BOTTOM);
    cell.setHorizontalAlignment(cell.ALIGN_RIGHT);
    statsTable.addCell(cell);

    cell = new Cell(new Paragraph("60%", boldedFont));
    cell.setBorder(Cell.BOTTOM);
    cell.setHorizontalAlignment(cell.ALIGN_RIGHT);
    statsTable.addCell(cell);

    cell = new Cell(new Paragraph("80%", boldedFont));
    cell.setBorder(Cell.BOTTOM);
    cell.setHorizontalAlignment(cell.ALIGN_RIGHT);
    statsTable.addCell(cell);

    cell = new Cell(new Paragraph("100%", boldedFont));
    cell.setBorder(Cell.BOTTOM);
    cell.setHorizontalAlignment(cell.ALIGN_RIGHT);
    statsTable.addCell(cell);
    return statsTable;
}

From source file:com.macrosoft.icms.util.PDFCreator.java

public static void createPdfByData(String fileName, String path, Map dataMap) {
    Document document = new Document(PageSize.A4.rotate(), 50, 50, 50, 50);
    String opetype = (String) dataMap.get("opetype");

    try {//  ww w.j  av a 2  s . c  o  m
        //PDF
        File file = new File(path);
        if (!file.exists()) {
            file.mkdirs();
        }
        PdfWriter.getInstance(document, new FileOutputStream(path + fileName));

        //PDF
        document.open();

        //
        BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        Font titleChinese = new Font(bfChinese, 30, Font.BOLD);
        //table
        Font contentFont = new Font(bfChinese, 16, Font.NORMAL);
        //table
        Font tblTitleFont = new Font(bfChinese, 16, Font.BOLD);
        //PDF
        Paragraph title = new Paragraph((String) dataMap.get("title"), titleChinese);
        title.setAlignment(Paragraph.ALIGN_CENTER);
        document.add(title);

        Paragraph attionTitle = new Paragraph("", contentFont);
        attionTitle.setAlignment(Paragraph.ALIGN_CENTER);

        if ("GT".equals(opetype)) {
            Map<String, String> gtMap = (Map<String, String>) dataMap.get("gtMap");
            Table gtxxtable = new Table(5);
            int gtxxwidths[] = { 30, 15, 20, 15, 20 };
            gtxxtable.setWidths(gtxxwidths);
            gtxxtable.setWidth(100);
            gtxxtable.setPadding(3);
            gtxxtable.setBorderWidth(1);
            gtxxtable.setAlignment(Cell.ALIGN_CENTER);

            Cell cell = new Cell(new Phrase(" ", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("traname"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setColspan(4);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setRowspan(7);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("name"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("sex"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("cerno"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setColspan(3);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("dom"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setColspan(3);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("postalcode"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("tel"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("email"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setColspan(3);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("polstand"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("nation"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("litedeg"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("occstbeapp"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setRowspan(2);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("grjy"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setColspan(4);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("jtjy"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("fammember"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setColspan(2);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("busscoandform"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setColspan(4);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("oploc"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setColspan(4);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("empnum"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase("", contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            gtxxtable.addCell(cell);
            cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("capam"), contentFont));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setColspan(2);
            gtxxtable.addCell(cell);

            Paragraph p1 = new Paragraph(
                    "\n    ",
                    contentFont);
            Paragraph p2 = new Paragraph(" ", contentFont);
            p2.setIndentationLeft(500);
            Paragraph p3 = new Paragraph("                         ", contentFont);
            p3.setIndentationLeft(500);
            cell = new Cell();
            cell.add(p1);
            cell.add(p2);
            cell.add(p3);
            cell.setColspan(5);
            gtxxtable.addCell(cell);

            document.add(gtxxtable);

            Paragraph wtitle = new Paragraph("\n", titleChinese);
            wtitle.setAlignment(Paragraph.ALIGN_CENTER);
            document.add(wtitle);

            Map<String, String> wtrMap = (Map<String, String>) dataMap.get("wtrMap");
            Paragraph wtr = new Paragraph("\n :" + (wtrMap == null ? "" : wtrMap.get("sqr")),
                    contentFont);
            document.add(wtr);
            wtr = new Paragraph(" " + (wtrMap == null ? "" : wtrMap.get("wtr")), contentFont);
            document.add(wtr);
            wtr = new Paragraph("  \n", contentFont);
            document.add(wtr);
            wtr = new Paragraph("1. " + (wtrMap == null ? " " : wtrMap.get("qx1"))
                    + "  ", contentFont);
            wtr.setIndentationLeft(100);
            document.add(wtr);
            wtr = new Paragraph("2. " + (wtrMap == null ? " " : wtrMap.get("qx2"))
                    + "  ", contentFont);
            wtr.setIndentationLeft(100);
            document.add(wtr);
            wtr = new Paragraph(
                    "3. " + (wtrMap == null ? " " : wtrMap.get("qx3")) + "  ",
                    contentFont);
            wtr.setIndentationLeft(100);
            document.add(wtr);
            wtr = new Paragraph("4. " + (wtrMap == null ? " " : wtrMap.get("qx4"))
                    + "  ", contentFont);
            wtr.setIndentationLeft(100);
            document.add(wtr);

            wtr = new Paragraph("\n   " + (wtrMap == null ? "" : wtrMap.get("confrom"))
                    + "         " + (wtrMap == null ? "" : wtrMap.get("conto")) + "\n", contentFont);
            document.add(wtr);

            Table t = new Table(4);
            int twidths[] = { 20, 30, 20, 30 };
            t.setWidths(twidths);
            t.setWidth(100);
            t.setPadding(3);
            t.setBorderWidth(1);
            t.setAlignment(Cell.ALIGN_CENTER);

            Cell tCell = new Cell(new Phrase("", contentFont));
            tCell.setColspan(2);
            tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
            t.addCell(tCell);
            tCell = new Cell(new Phrase(wtrMap == null ? "" : wtrMap.get("unit"), contentFont));
            tCell.setColspan(2);
            tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
            t.addCell(tCell);
            tCell = new Cell(new Phrase("", contentFont));
            tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
            t.addCell(tCell);
            tCell = new Cell(new Phrase(wtrMap == null ? "" : wtrMap.get("postalcode"), contentFont));
            tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
            t.addCell(tCell);
            tCell = new Cell(new Phrase("", contentFont));
            tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
            t.addCell(tCell);
            tCell = new Cell(new Phrase(wtrMap == null ? "" : wtrMap.get("tel"), contentFont));
            tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
            t.addCell(tCell);
            document.add(t);

            Paragraph pp = new Paragraph("\n", contentFont);
            document.add(pp);
            pp = new Paragraph("                                                                     ",
                    contentFont);
            pp.setAlignment(Paragraph.ALIGN_RIGHT);
            document.add(pp);

        } else {
            //
            //
            Table jbxxtable = new Table(4);
            int jbxxwidths[] = { 20, 30, 20, 30 };
            jbxxtable.setWidths(jbxxwidths);
            jbxxtable.setWidth(100);
            jbxxtable.setPadding(3);
            jbxxtable.setBorderWidth(1);
            jbxxtable.setAlignment(Cell.ALIGN_CENTER);

            //
            Cell jbxxTitle = new Cell(new Phrase("", tblTitleFont));
            jbxxTitle.setColspan(4);
            jbxxTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
            jbxxtable.addCell(jbxxTitle);

            Map<String, String> jbxxMap = (Map<String, String>) dataMap.get("jbxxMap");

            if ("GS".equals(opetype) || "NZFR".equals(opetype) || "HHQY".equals(opetype)
                    || "GRDZ".equals(opetype) || "WZGS".equals(opetype) || "WZHH".equals(opetype)
                    || "HZS".equals(opetype) || "HZSFZ".equals(opetype)) {
                Cell jbxxName = new Cell(new Phrase(" ", contentFont));
                jbxxName.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxName);

                Cell jbxxNameValue = new Cell(
                        new Phrase(jbxxMap == null ? "" : jbxxMap.get("entname"), contentFont));
                jbxxNameValue.setColspan(3);
                jbxxtable.addCell(jbxxNameValue);

                Cell jbxxRegno = new Cell(new Phrase("/\n", contentFont));
                jbxxRegno.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxRegno);
                if ("WZGS".equals(opetype)) {
                    Cell jbxxRegnoValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                    jbxxtable.addCell(jbxxRegnoValue);
                    Cell gbc = new Cell(new Phrase("", contentFont));
                    gbc.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(gbc);
                    gbc = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("country"), contentFont));
                    gbc.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(gbc);
                } else {
                    Cell jbxxRegnoValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                    jbxxRegnoValue.setColspan(3);
                    jbxxtable.addCell(jbxxRegnoValue);
                }
            } else if ("FGS".equals(opetype) || "NZYY".equals(opetype) || "HHFZ".equals(opetype)
                    || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)) {
                String lsdw = "";
                if ("NZYY".equals(opetype) || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)) {
                    lsdw = "";
                }
                Cell cell = null;
                if (!"HHFZ".equals(opetype) && !"GRDZFZ".equals(opetype)) {
                    cell = new Cell(new Phrase(lsdw, contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("supentname"), contentFont));
                    jbxxtable.addCell(cell);

                    cell = new Cell(new Phrase("/", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("supregno"), contentFont));
                    jbxxtable.addCell(cell);
                }

                String fgsname = "";
                if ("NZYY".equals(opetype)) {
                    fgsname = "";
                } else if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)
                        || "WZHHFZ".equals(opetype)) {
                    fgsname = "";
                }
                cell = new Cell(new Phrase(fgsname, contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("entname"), contentFont));
                jbxxtable.addCell(cell);

                String regname = "//";
                if ("NZYY".equals(opetype)) {
                    regname = "//";
                } else if ("NZYY".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)) {
                    regname = "//";
                }
                cell = new Cell(new Phrase(regname, contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                jbxxtable.addCell(cell);
            }
            if ("WGJY".equals(opetype)) {
                Cell cell = new Cell(new Phrase(" ", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("entname"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("/", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(" ", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("dom"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
            } else if ("WGDB".equals(opetype)) {
                Cell cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("entname"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("/", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("dom"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
            } else {
                String domname = "";
                if ("FGS".equals(opetype) || "WZHHFZ".equals(opetype)) {
                    domname = "";
                } else if ("GRDZ".equals(opetype)) {
                    domname = "";
                } else if ("GRDZFZ".equals(opetype) || "HHFZ".equals(opetype) || "HZSFZ".equals(opetype)) {
                    domname = "";
                } else if ("WZHH".equals(opetype) || "HHQY".equals(opetype)) {
                    domname = "";
                }
                Cell jbxxDom = new Cell(new Phrase(domname, contentFont));
                jbxxDom.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxDom);

                Cell jbxxDomValue = new Cell(
                        new Phrase(jbxxMap == null ? "" : jbxxMap.get("dom"), contentFont));
                jbxxDomValue.setColspan(3);
                jbxxtable.addCell(jbxxDomValue);

                Cell jbxxOploc = new Cell(new Phrase("", contentFont));
                jbxxOploc.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxOploc);

                Cell jbxxOplocValue = new Cell(
                        new Phrase(jbxxMap == null ? "" : jbxxMap.get("oploc"), contentFont));
                jbxxOplocValue.setColspan(3);
                jbxxtable.addCell(jbxxOplocValue);
            }

            Cell jbxxTel = new Cell(new Phrase("", contentFont));
            jbxxTel.setHorizontalAlignment(Element.ALIGN_CENTER);
            jbxxtable.addCell(jbxxTel);

            Cell jbxxTelValue = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("tel"), contentFont));
            jbxxTelValue.setHorizontalAlignment(Element.ALIGN_CENTER);
            jbxxtable.addCell(jbxxTelValue);

            Cell jbxxEmail = new Cell(new Phrase("", contentFont));
            jbxxEmail.setHorizontalAlignment(Element.ALIGN_CENTER);
            jbxxtable.addCell(jbxxEmail);

            Cell jbxxEmailValue = new Cell(
                    new Phrase(jbxxMap == null ? "" : jbxxMap.get("postalcode"), contentFont));
            jbxxEmailValue.setHorizontalAlignment(Element.ALIGN_CENTER);
            jbxxtable.addCell(jbxxEmailValue);

            //
            String slname = " ";
            if ("NZFR".equals(opetype) || "NZYY".equals(opetype) || "WGJY".equals(opetype)) {
                slname = "";
            }
            Cell slTitle = new Cell(new Phrase(slname, tblTitleFont));
            slTitle.setColspan(4);
            slTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
            jbxxtable.addCell(slTitle);

            if ("GS".equals(opetype) || "NZFR".equals(opetype) || "WZGS".equals(opetype)) {
                Cell jbxxLerep = new Cell(new Phrase("", contentFont));
                jbxxLerep.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxLerep);

                Cell jbxxLerepValue = new Cell(
                        new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                jbxxLerepValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxLerepValue);

                if ("WZGS".equals(opetype)) {
                    Cell cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("country"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("position"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("congro"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("congrocur"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("congrousd"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("enttype"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("insform"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("\n\n\n", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                } else {
                    Cell jbxxPosition = new Cell(new Phrase(" ", contentFont));
                    jbxxPosition.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxPosition);

                    Cell jbxxPositionValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("position"), contentFont));
                    jbxxPositionValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxPositionValue);

                    String regcapname = "";
                    if ("NZFR".equals(opetype)) {
                        regcapname = "";
                    }
                    Cell jbxxRegcap = new Cell(new Phrase(regcapname, contentFont));
                    jbxxRegcap.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxRegcap);

                    Cell jbxxRegcapValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                    jbxxRegcapValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxRegcapValue);

                    String enttypename = "";
                    if ("NZFR".equals(opetype)) {
                        enttypename = "";
                    }
                    Cell jbxxEnttype = new Cell(new Phrase(enttypename, contentFont));
                    jbxxEnttype.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxEnttype);

                    Cell jbxxEnttypeValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("enttype"), contentFont));
                    jbxxEnttypeValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxEnttypeValue);
                }

                if ("GS".equals(opetype)) {
                    Cell jbxxInsform = new Cell(new Phrase("\n", contentFont));
                    jbxxInsform.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxInsform);

                    Cell jbxxInsformValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("insform"), contentFont));
                    jbxxInsformValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxInsformValue.setColspan(3);
                    jbxxtable.addCell(jbxxInsformValue);

                    Cell jbxxBusscope = new Cell(new Phrase("\n\n\n", contentFont));
                    jbxxBusscope.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxBusscope);

                    Cell jbxxBusscopeValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    jbxxBusscopeValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxBusscopeValue.setColspan(3);
                    jbxxtable.addCell(jbxxBusscopeValue);
                }

                Cell jbxxOpfyears = new Cell(new Phrase("", contentFont));
                jbxxOpfyears.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxOpfyears);

                Cell jbxxOpfyearsValue = new Cell(
                        new Phrase(jbxxMap == null ? "" : jbxxMap.get("opfyears"), contentFont));
                jbxxOpfyearsValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxOpfyearsValue);

                Cell jbxxConum = new Cell(new Phrase("", contentFont));
                jbxxConum.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxConum);

                Cell jbxxConumValue = new Cell(
                        new Phrase(jbxxMap == null ? "" : jbxxMap.get("conum"), contentFont));
                jbxxConumValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxConumValue);

                if ("NZFR".equals(opetype)) {
                    Cell jbxxBusscope = new Cell(new Phrase("\n\n\n", contentFont));
                    jbxxBusscope.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxBusscope);

                    Cell jbxxBusscopeValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    jbxxBusscopeValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxBusscopeValue.setColspan(3);
                    jbxxtable.addCell(jbxxBusscopeValue);
                }
            } else if ("FGS".equals(opetype) || "NZYY".equals(opetype) || "HHFZ".equals(opetype)
                    || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)
                    || "HZSFZ".equals(opetype)) {
                Cell cell = null;
                if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype)) {
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("houseadd"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("cerno"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("empno"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("tel"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("postalcode"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("yysj"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                } else {
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                    jbxxtable.addCell(cell);
                    if ("NZYY".equals(opetype)) {
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("tel"), contentFont));
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                        jbxxtable.addCell(cell);
                    }
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("conum"), contentFont));
                    jbxxtable.addCell(cell);
                }

                String bussname = "";
                if ("FGS".equals(opetype)) {
                    bussname = "";
                } else if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZHHFZ".equals(opetype)) {
                    bussname = "";
                }
                cell = new Cell(new Phrase(bussname, contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                cell.setColspan(3);
                jbxxtable.addCell(cell);

                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(
                        new Phrase(jbxxMap == null ? "" : jbxxMap.get("calculationmethod"), contentFont));
                cell.setColspan(3);
                jbxxtable.addCell(cell);
            } else if ("HHQY".equals(opetype)) {
                Cell hhcell = new Cell(new Phrase("", contentFont));
                hhcell.setRowspan(2);
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase("", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                hhcell.setColspan(2);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(
                        new Phrase("", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                hhcell.setColspan(2);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase("", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase("", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("hhlx"), contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                hhcell.setColspan(3);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase("", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("hhcze"), contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                hhcell.setColspan(3);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase("\n\n\n", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                hhcell.setColspan(3);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase("", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase(" ______________________________________________",
                        contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                hhcell.setColspan(3);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase("", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("parnum"), contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase("", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("exenum"), contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase("", contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(hhcell);
                hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("empnum"), contentFont));
                hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                hhcell.setColspan(3);
                jbxxtable.addCell(hhcell);
            } else if ("GRDZ".equals(opetype)) {
                Cell cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("empnum"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("grczfs"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("\n\n\n", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
            } else if ("WZHH".equals(opetype)) {
                Cell cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("  ", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("country"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("reccap"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcapcur"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("enttype"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("\n\n\n", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("opfyears"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("conum"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
            } else if ("WGJY".equals(opetype)) {
                Cell cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("enttype"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("depincha"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("exaauth"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("sandate"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcapcur"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("yysj"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("itemofoporcpro"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentname"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentadd"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentscope"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
            } else if ("WGDB".equals(opetype)) {
                Cell cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("yysj"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regorg"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("yysj"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("sandate"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("sandocno"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);

                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(4);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentname"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentforname"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(" ", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentadd"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("cxqx"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentautsign"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forenliafor"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentcap"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("country"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentscope"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
            } else if ("HZS".equals(opetype)) {
                Cell cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
                Paragraph p1 = new Paragraph("    " + dataMap.get("cyzs") + "     ",
                        contentFont);
                Paragraph p2 = new Paragraph("    " + dataMap.get("nmcy")
                        + "          " + dataMap.get("nmcyrate") + "   %", contentFont);
                p2.setIndentationLeft(60);
                Paragraph p3 = new Paragraph("     " + dataMap.get("frcy")
                        + "          " + dataMap.get("frcyrate") + "   %", contentFont);
                p3.setIndentationLeft(120);

                cell = new Cell();
                cell.add(p1);
                cell.add(p2);
                cell.add(p3);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(4);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase("\n\n\n", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(cell);
                cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                jbxxtable.addCell(cell);
            }

            document.add(jbxxtable);

            //
            //TABLE
            Table remarktable = new Table(6);
            int remarkwidths[] = { 15, 10, 20, 15, 20, 20 };
            remarktable.setWidths(remarkwidths);
            remarktable.setWidth(100);
            remarktable.setPadding(3);
            remarktable.setBorderWidth(1);
            remarktable.setAlignment(Cell.ALIGN_CENTER);
            if ("GS".equals(opetype) || "NZFR".equals(opetype) || "HHQY".equals(opetype)
                    || "HHFZ".equals(opetype) || "GRDZ".equals(opetype) || "GRDZFZ".equals(opetype)
                    || "WZGS".equals(opetype) || "WZHH".equals(opetype) || "HZS".equals(opetype)) {
                Cell bgTitle = new Cell(new Phrase("", tblTitleFont));
                bgTitle.setColspan(6);
                bgTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(bgTitle);

                Cell bg1 = new Cell(new Phrase("", contentFont));
                bg1.setColspan(2);
                bg1.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(bg1);

                Cell bg2 = new Cell(new Phrase("", contentFont));
                bg2.setColspan(2);
                bg2.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(bg2);

                Cell bg3 = new Cell(new Phrase("", contentFont));
                bg3.setColspan(2);
                bg3.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(bg3);

                for (int i = 0; i < 5; i++) {
                    Cell bg11 = new Cell("");
                    bg11.setColspan(2);
                    remarktable.addCell(bg11);

                    Cell bg21 = new Cell(" ");
                    bg21.setColspan(2);
                    remarktable.addCell(bg21);

                    Cell bg31 = new Cell(" ");
                    bg31.setColspan(2);
                    remarktable.addCell(bg31);
                }

                if ("GS".equals(opetype) || "HHQY".equals(opetype) || "GRDZ".equals(opetype)
                        || "WZGS".equals(opetype) || "WZHH".equals(opetype) || "HZS".equals(opetype)) {
                    Cell baTitle = new Cell(new Phrase(" ", tblTitleFont));
                    baTitle.setColspan(6);
                    baTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(baTitle);

                    Cell fgsCell = new Cell(new Phrase("\n", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    fgsCell.setRowspan(2);
                    remarktable.addCell(fgsCell);

                    Cell nameCell = new Cell(new Phrase("", contentFont));
                    nameCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nameCell);

                    Cell nameValueCell = new Cell(new Phrase("", contentFont));
                    remarktable.addCell(nameValueCell);

                    Cell regnoCell = new Cell(new Phrase("/", contentFont));
                    regnoCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    regnoCell.setColspan(2);
                    remarktable.addCell(regnoCell);

                    Cell regnoValueCell = new Cell(new Phrase("", contentFont));
                    remarktable.addCell(regnoValueCell);

                    Cell djjgCell = new Cell(new Phrase("", contentFont));
                    djjgCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(djjgCell);

                    Cell djjgValueCell = new Cell(new Phrase("", contentFont));
                    remarktable.addCell(djjgValueCell);

                    Cell djrqCell = new Cell(new Phrase("", contentFont));
                    djrqCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    djrqCell.setColspan(2);
                    remarktable.addCell(djrqCell);

                    Cell djrqValueCell = new Cell(new Phrase("", contentFont));
                    remarktable.addCell(djrqValueCell);

                    if ("GRDZ".equals(opetype)) {
                        Cell qtc = new Cell(new Phrase("", contentFont));
                        qtc.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(qtc);
                        qtc = new Cell(new Phrase("     ", contentFont));
                        qtc.setHorizontalAlignment(Element.ALIGN_CENTER);
                        qtc.setColspan(5);
                        remarktable.addCell(qtc);
                    } else {
                        Cell qszCell = new Cell(new Phrase("", contentFont));
                        qszCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        qszCell.setRowspan(2);
                        remarktable.addCell(qszCell);

                        Cell cyCell = new Cell(new Phrase("", contentFont));
                        cyCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(cyCell);

                        Cell cyValueCell = new Cell(new Phrase("", contentFont));
                        cyValueCell.setColspan(4);
                        remarktable.addCell(cyValueCell);

                        Cell fzrCell = new Cell(new Phrase("", contentFont));
                        fzrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(fzrCell);

                        Cell fzrValueCell = new Cell(new Phrase("", contentFont));
                        remarktable.addCell(fzrValueCell);

                        Cell lxdhCell = new Cell(new Phrase("", contentFont));
                        lxdhCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        lxdhCell.setColspan(2);
                        remarktable.addCell(lxdhCell);

                        Cell lxdhValueCell = new Cell(new Phrase("", contentFont));
                        remarktable.addCell(lxdhValueCell);
                    }

                    if ("GS".equals(opetype) || "WZGS".equals(opetype)) {
                        Cell qtCell = new Cell(new Phrase("", contentFont));
                        qtCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(qtCell);
                        Cell qtValueCell = new Cell(new Phrase(
                                "                    ",
                                contentFont));
                        qtValueCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        qtValueCell.setColspan(5);
                        remarktable.addCell(qtValueCell);
                    } else if ("HHQY".equals(opetype)) {
                        Cell qtCell = new Cell(new Phrase("", contentFont));
                        qtCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(qtCell);
                        Cell qtValueCell = new Cell(
                                new Phrase("        ", contentFont));
                        qtValueCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        qtValueCell.setColspan(5);
                        remarktable.addCell(qtValueCell);
                        qtCell = new Cell(new Phrase("", contentFont));
                        qtCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(qtCell);
                        qtValueCell = new Cell(new Phrase("         ", contentFont));
                        qtValueCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        qtValueCell.setColspan(5);
                        remarktable.addCell(qtValueCell);
                    }

                } else if ("NZFR".equals(opetype)) {
                    Cell nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setRowspan(2);
                    nzfrCell.setColspan(2);
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("  ", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("  ", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("  ", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);

                    nzfrCell = new Cell(new Phrase(" ", tblTitleFont));
                    nzfrCell.setColspan(6);
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);

                    nzfrCell = new Cell(new Phrase("\n", contentFont));
                    nzfrCell.setRowspan(4);
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);

                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setColspan(2);
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase(" ", contentFont));
                    nzfrCell.setColspan(3);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setColspan(2);
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase(" ", contentFont));
                    nzfrCell.setColspan(3);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setColspan(2);
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase(" ", contentFont));
                    nzfrCell.setColspan(3);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setColspan(2);
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase(" ", contentFont));
                    nzfrCell.setColspan(3);
                    remarktable.addCell(nzfrCell);

                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("    ", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    nzfrCell.setColspan(2);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(nzfrCell);
                    nzfrCell = new Cell(new Phrase("     ", contentFont));
                    nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    nzfrCell.setColspan(2);
                    remarktable.addCell(nzfrCell);
                }
            } else if ("FGS".equals(opetype) || "NZYY".equals(opetype) || "WZFZ".equals(opetype)
                    || "WZHHFZ".equals(opetype) || "WGJY".equals(opetype) || "WGDB".equals(opetype)
                    || "HZSFZ".equals(opetype)) {
                Cell fgsCell = new Cell(new Phrase("/", tblTitleFont));
                fgsCell.setColspan(6);
                fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(fgsCell);

                fgsCell = new Cell(new Phrase("/", contentFont));
                fgsCell.setColspan(2);
                fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(fgsCell);

                fgsCell = new Cell(new Phrase("/", contentFont));
                fgsCell.setColspan(2);
                fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(fgsCell);

                fgsCell = new Cell(new Phrase("/", contentFont));
                fgsCell.setColspan(2);
                fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(fgsCell);

                for (int i = 0; i < 3; i++) {
                    fgsCell = new Cell("");
                    fgsCell.setColspan(2);
                    remarktable.addCell(fgsCell);

                    fgsCell = new Cell(" ");
                    fgsCell.setColspan(2);
                    remarktable.addCell(fgsCell);

                    fgsCell = new Cell(" ");
                    fgsCell.setColspan(2);
                    remarktable.addCell(fgsCell);
                }

                if ("FGS".equals(opetype) || "HZSFZ".equals(opetype)) {
                    fgsCell = new Cell(new Phrase(" ", tblTitleFont));
                    fgsCell.setColspan(6);
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);
                    fgsCell = new Cell(new Phrase("", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);
                    fgsCell = new Cell(new Phrase(
                            "  1;      2;\n  3;  4",
                            contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                    fgsCell.setColspan(5);
                    remarktable.addCell(fgsCell);

                    fgsCell = new Cell(new Phrase("", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);
                    fgsCell = new Cell(new Phrase("       ", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                    fgsCell.setColspan(5);
                    remarktable.addCell(fgsCell);
                } else if ("NZYY".equals(opetype)) {
                    fgsCell = new Cell(new Phrase(" ", tblTitleFont));
                    fgsCell.setColspan(6);
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);
                    fgsCell = new Cell(new Phrase("", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);
                    fgsCell = new Cell(new Phrase(
                            "  1;     2;\n  3 3; 4",
                            contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                    fgsCell.setColspan(5);
                    remarktable.addCell(fgsCell);

                    fgsCell = new Cell(new Phrase("", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);
                    fgsCell = new Cell(
                            new Phrase("   ", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                    fgsCell.setColspan(5);
                    remarktable.addCell(fgsCell);
                    fgsCell = new Cell(new Phrase("", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);
                    fgsCell = new Cell(new Phrase("       ", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                    fgsCell.setColspan(5);
                    remarktable.addCell(fgsCell);

                    fgsCell = new Cell(new Phrase("", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);
                    fgsCell = new Cell(new Phrase("            ", contentFont));
                    fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                    fgsCell.setColspan(5);
                    remarktable.addCell(fgsCell);
                }
            }

            if ("HHFZ".equals(opetype) || "GRDZ".equals(opetype) || "GRDZFZ".equals(opetype)
                    || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)) {
                Cell cell = null;
                cell = new Cell(new Phrase(" ", tblTitleFont));
                cell.setColspan(6);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(cell);

                cell = new Cell(new Phrase(" ", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(cell);
                if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)
                        || "WZHHFZ".equals(opetype)) {
                    cell = new Cell(new Phrase(
                            " 1.       2.\n 3.       4. ",
                            contentFont));
                } else if ("GRDZ".equals(opetype)) {
                    cell = new Cell(new Phrase(
                            " \n \n \n __________________ ",
                            contentFont));
                }
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(5);
                remarktable.addCell(cell);
                if ("GRDZ".equals(opetype)) {
                    cell = new Cell(new Phrase(" ", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(cell);
                    cell = new Cell(new Phrase(" ", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(5);
                    remarktable.addCell(cell);
                }
                cell = new Cell(new Phrase(" ", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(cell);
                cell = new Cell(new Phrase("      ", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(5);
                remarktable.addCell(cell);
            }

            //
            Cell sqrTitle = new Cell(new Phrase("", tblTitleFont));
            sqrTitle.setColspan(6);
            sqrTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
            remarktable.addCell(sqrTitle);

            String sqrtext = "";
            if ("GS".equals(opetype) || "WZGS".equals(opetype)) {
                sqrtext = "\n       \n";
            } else if ("FGS".equals(opetype)) {
                sqrtext = "\n      \n";
            } else if ("NZFR".equals(opetype)) {
                sqrtext = "\n      \n";
            } else if ("NZYY".equals(opetype)) {
                sqrtext = "\n       \n";
            } else if ("HHQY".equals(opetype) || "WZHH".equals(opetype)) {
                sqrtext = "\n      \n";
            } else if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)
                    || "WZHHFZ".equals(opetype)) {
                sqrtext = "\n      \n";
            } else if ("GRDZ".equals(opetype)) {
                sqrtext = "\n      \n";
            } else if ("WGJY".equals(opetype)) {
                sqrtext = "\n      \n";
            } else if ("WGDB".equals(opetype)) {
                sqrtext = "\n       \n";
            } else if ("HZS".equals(opetype) || "HZSFZ".equals(opetype)) {
                sqrtext = "\n      \n";
            }
            Paragraph sqrp = new Paragraph(sqrtext, contentFont);
            String fdbdrname = "";
            if ("HHQY".equals(opetype) || "WZHH".equals(opetype)) {
                fdbdrname = "";
            } else if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)
                    || "WZHHFZ".equals(opetype)) {
                fdbdrname = "\n  \n  ";
            } else if ("GRDZ".equals(opetype)) {
                fdbdrname = "";
            } else if ("WGJY".equals(opetype) || "WGDB".equals(opetype)) {
                fdbdrname = ":";
            }
            Paragraph fdbdr = new Paragraph("      " + fdbdrname
                    + "                                                                                                        ",
                    contentFont);
            fdbdr.setFirstLineIndent(40);
            Paragraph fzrqz = new Paragraph(
                    "    " + (("GS".equals(opetype)
                            || "HHQY".equals(opetype) || "WZHH".equals(opetype) || "GRDZ".equals(opetype)
                            || "WZGS".equals(opetype) || "HZS".equals(opetype))
                                    ? ""
                                    : "")
                            + "                                                                                                                                              ",
                    contentFont);
            fzrqz.setFirstLineIndent(40);
            Cell allCell = new Cell();
            allCell.add(sqrp);
            allCell.add(fdbdr);
            allCell.add(fzrqz);
            allCell.setColspan(6);
            remarktable.addCell(allCell);

            document.add(remarktable);

            //
            if ("GRDZ".equals(opetype)) {
                Paragraph lerepTitle = new Paragraph("\n", titleChinese);
                lerepTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(lerepTitle);

                //TABLE
                Table lereptable = new Table(4);
                int lerepwidths[] = { 20, 30, 20, 30 };
                lereptable.setWidths(lerepwidths);
                lereptable.setWidth(100);
                lereptable.setPadding(3);
                lereptable.setBorderWidth(1);
                lereptable.setAlignment(Cell.ALIGN_CENTER);

                Map<String, String> lerepMap = (Map<String, String>) dataMap.get("lerepMap");
                Cell lerep1 = new Cell(new Phrase(" ", contentFont));
                lerep1.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep1);
                Cell lerep2 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("name"), contentFont));
                lerep2.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep2);
                Cell lerep3 = new Cell(new Phrase(" ", contentFont));
                lerep3.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep3);
                Cell lerep4 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("sex"), contentFont));
                lerep4.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep4);

                Cell lerep5 = new Cell(new Phrase("", contentFont));
                lerep5.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep5);
                Cell lerep6 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("natdate"), contentFont));
                lerep6.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep6);
                Cell lerep7 = new Cell(new Phrase(" ", contentFont));
                lerep7.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep7);
                Cell lerep8 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("nation"), contentFont));
                lerep8.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep8);

                Cell lerep9 = new Cell(new Phrase("", contentFont));
                lerep9.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep9);
                Cell lerep10 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("litedeg"), contentFont));
                lerep10.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep10);
                Cell lerep11 = new Cell(new Phrase("", contentFont));
                lerep11.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep11);
                Cell lerep12 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("polstand"), contentFont));
                lerep12.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep12);

                Cell lerep13 = new Cell(new Phrase("", contentFont));
                lerep13.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep13);
                Cell lerep14 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("mobile"), contentFont));
                lerep14.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep14);
                Cell lerep15 = new Cell(new Phrase("", contentFont));
                lerep15.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep15);
                Cell lerep16 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("email"), contentFont));
                lerep16.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep16);

                Cell lerep17 = new Cell(new Phrase("", contentFont));
                lerep17.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep17);
                Cell lerep18 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("certype"), contentFont));
                lerep18.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep18);
                Cell lerep19 = new Cell(new Phrase("", contentFont));
                lerep19.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep19);
                Cell lerep20 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("cerno"), contentFont));
                lerep20.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep20);

                Cell lerep21 = new Cell(new Phrase(" ", contentFont));
                lerep21.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep21);
                Cell lerep22 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("houseadd"), contentFont));
                lerep22.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep22);
                Cell lerep23 = new Cell(new Phrase("", contentFont));
                lerep23.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep23);
                Cell lerep24 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("postalcode"), contentFont));
                lerep24.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep24);

                Cell lerep25 = new Cell(new Phrase("", contentFont));
                lerep25.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep25);
                Cell lerep26 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("occstbeapp"), contentFont));
                lerep26.setHorizontalAlignment(Element.ALIGN_CENTER);
                lerep26.setColspan(3);
                lereptable.addCell(lerep26);

                document.add(lereptable);
            } else if ("WGDB".equals(opetype)) {
                Paragraph lerepTitle1 = new Paragraph("\n", titleChinese);
                lerepTitle1.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(lerepTitle1);
                Paragraph lerepTitle2 = new Paragraph("/", titleChinese);
                lerepTitle2.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(lerepTitle2);

                //TABLE
                Table lereptable = new Table(4);
                int lerepwidths[] = { 20, 30, 20, 30 };
                lereptable.setWidths(lerepwidths);
                lereptable.setWidth(100);
                lereptable.setPadding(3);
                lereptable.setBorderWidth(1);
                lereptable.setAlignment(Cell.ALIGN_CENTER);

                Map<String, String> lerepMap = (Map<String, String>) dataMap.get("lerepMap");
                Cell lerep1 = new Cell(new Phrase("", contentFont));
                lerep1.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep1);
                Cell lerep2 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("entname"), contentFont));
                lerep2.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep2);
                Cell lerep3 = new Cell(new Phrase("", contentFont));
                lerep3.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep3);
                Cell lerep4 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("name"), contentFont));
                lerep4.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep4);

                Cell lerep5 = new Cell(new Phrase("", contentFont));
                lerep5.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep5);
                Cell lerep6 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("position"), contentFont));
                lerep6.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep6);
                Cell lerep7 = new Cell(new Phrase("", contentFont));
                lerep7.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep7);
                Cell lerep8 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("country"), contentFont));
                lerep8.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep8);

                Cell lerep9 = new Cell(new Phrase("", contentFont));
                lerep9.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep9);
                Cell lerep10 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("arrchdate"), contentFont));
                lerep10.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep10);
                Cell lerep11 = new Cell(new Phrase("", contentFont));
                lerep11.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep11);
                Cell lerep12 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("tel"), contentFont));
                lerep12.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep12);

                Cell lerep13 = new Cell(new Phrase("", contentFont));
                lerep13.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep13);
                Cell lerep14 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("certype"), contentFont));
                lerep14.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep14);
                Cell lerep15 = new Cell(new Phrase("", contentFont));
                lerep15.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep15);
                Cell lerep16 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("cerno"), contentFont));
                lerep16.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep16);

                Cell lerep17 = new Cell(new Phrase("", contentFont));
                lerep17.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep17);
                Cell lerep18 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("houaddinchina"), contentFont));
                lerep18.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep18);
                Cell lerep19 = new Cell(new Phrase("", contentFont));
                lerep19.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep19);
                Cell lerep20 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("repdate"), contentFont));
                lerep20.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep20);

                Paragraph rep1 = new Paragraph("",
                        contentFont);
                rep1.setAlignment(Paragraph.ALIGN_LEFT);
                Paragraph rep2 = new Paragraph("1",
                        contentFont);
                rep2.setAlignment(Paragraph.ALIGN_LEFT);
                Paragraph rep3 = new Paragraph(
                        "25",
                        contentFont);
                rep3.setAlignment(Paragraph.ALIGN_LEFT);
                Paragraph rep4 = new Paragraph("3", contentFont);
                rep4.setAlignment(Paragraph.ALIGN_LEFT);
                Paragraph rep5 = new Paragraph("/", contentFont);
                rep5.setAlignment(Paragraph.ALIGN_LEFT);
                rep5.setIndentationLeft(200);

                Cell lerep21 = new Cell();
                lerep21.add(rep1);
                lerep21.add(rep2);
                lerep21.add(rep3);
                lerep21.add(rep4);
                lerep21.add(rep5);
                lerep21.setColspan(4);
                lereptable.addCell(lerep21);

                document.add(lereptable);
            } else {
                Paragraph lerepTitle = null;
                if ("GS".equals(opetype) || "NZFR".equals(opetype) || "WZGS".equals(opetype)
                        || "HZS".equals(opetype)) {
                    lerepTitle = new Paragraph("\n", titleChinese);
                } else if ("FGS".equals(opetype) || "NZYY".equals(opetype) || "HHFZ".equals(opetype)
                        || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)
                        || "WGJY".equals(opetype) || "HZSFZ".equals(opetype)) {
                    lerepTitle = new Paragraph("\n", titleChinese);
                } else if ("HHQY".equals(opetype) || "WZHH".equals(opetype)) {
                    lerepTitle = new Paragraph("\n", titleChinese);
                }
                lerepTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(lerepTitle);

                //TABLE
                Table lereptable = new Table(4);
                int lerepwidths[] = { 20, 30, 20, 30 };
                lereptable.setWidths(lerepwidths);
                lereptable.setWidth(100);
                lereptable.setPadding(3);
                lereptable.setBorderWidth(1);
                lereptable.setAlignment(Cell.ALIGN_CENTER);

                Map<String, String> lerepMap = (Map<String, String>) dataMap.get("lerepMap");
                Cell lerep1 = new Cell(new Phrase(" ", contentFont));
                lerep1.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep1);
                Cell lerep2 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("name"), contentFont));
                lerep2.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep2);
                Cell lerep3 = new Cell(new Phrase("", contentFont));
                lerep3.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep3);
                Cell lerep4 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("tel"), contentFont));
                lerep4.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep4);

                Cell lerep5 = new Cell(new Phrase("", contentFont));
                lerep5.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep5);
                Cell lerep6 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("mobile"), contentFont));
                lerep6.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep6);
                Cell lerep7 = new Cell(new Phrase("", contentFont));
                lerep7.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep7);
                Cell lerep8 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("email"), contentFont));
                lerep8.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep8);

                Cell lerep9 = new Cell(new Phrase("", contentFont));
                lerep9.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep9);
                Cell lerep10 = new Cell(
                        new Phrase(lerepMap == null ? "" : lerepMap.get("certype"), contentFont));
                lerep10.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep10);
                Cell lerep11 = new Cell(new Phrase("", contentFont));
                lerep11.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep11);
                Cell lerep12 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("cerno"), contentFont));
                lerep12.setHorizontalAlignment(Element.ALIGN_CENTER);
                lereptable.addCell(lerep12);
                if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype)) {
                    Cell lerep13 = new Cell(new Phrase("", contentFont));
                    lerep13.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep13);
                    Cell lerep14 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("occstbeapp"), contentFont));
                    lerep14.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lerep14.setColspan(3);
                    lereptable.addCell(lerep14);
                } else if ("WZFZ".equals(opetype) || "WZHH".equals(opetype) || "WZHHFZ".equals(opetype)
                        || "WGJY".equals(opetype)) {
                    Cell lerep13 = new Cell(new Phrase("", contentFont));
                    lerep13.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep13);
                    Cell lerep14 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("country"), contentFont));
                    lerep14.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lerep14.setColspan(3);
                    lereptable.addCell(lerep14);
                }

                document.add(lereptable);
            }

            if ("HZS".equals(opetype)) {
                Paragraph hzsp = new Paragraph(
                        "\n  ",
                        contentFont);
                document.add(hzsp);
                Paragraph hzsp1 = new Paragraph("\n", contentFont);
                hzsp1.setIndentationLeft(200);
                document.add(hzsp1);
                Paragraph hzsp2 = new Paragraph("\n                                                 ",
                        contentFont);
                hzsp2.setAlignment(Paragraph.ALIGN_RIGHT);
                document.add(hzsp2);
            }

            if ("GS".equals(opetype) || "WZGS".equals(opetype)) {
                //()
                Paragraph ryxxTitle = new Paragraph("\n", titleChinese);
                ryxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(ryxxTitle);

                //TABLE
                Table ryxxtable = new Table(1);
                int ryxxwidths[] = { 100 };
                ryxxtable.setWidths(ryxxwidths);
                ryxxtable.setWidth(100);
                ryxxtable.setPadding(3);
                ryxxtable.setBorderWidth(1);
                ryxxtable.setAlignment(Cell.ALIGN_CENTER);
                List<Map<String, String>> ryxxList = (List<Map<String, String>>) dataMap.get("ryxxList");
                if (ryxxList != null && !ryxxList.isEmpty()) {
                    for (int i = 0; i < ryxxList.size(); i++) {
                        Map<String, String> ryxxs = ryxxList.get(i);
                        Paragraph p = new Paragraph();
                        if ("GS".equals(opetype)) {
                            Phrase p1 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("name")) + "     ", contentFont);
                            p.add(p1);
                            Phrase p2 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("position")) + "     ",
                                    contentFont);
                            p.add(p2);
                            Phrase p3 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("certype")) + "     ",
                                    contentFont);
                            p.add(p3);
                            Phrase p4 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("cerno")) + "     ",
                                    contentFont);
                            p.add(p4);
                        } else if ("WZGS".equals(opetype)) {
                            Phrase p1 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("name")) + "     ", contentFont);
                            p.add(p1);
                            Phrase p2 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("country")) + "     ",
                                    contentFont);
                            p.add(p2);
                            Phrase p3 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("certype")) + "     ",
                                    contentFont);
                            p.add(p3);
                            Phrase p4 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("cerno")) + "     ",
                                    contentFont);
                            p.add(p4);
                            Phrase p5 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("position")) + "     ",
                                    contentFont);
                            p.add(p5);
                            Phrase p6 = new Phrase(
                                    "" + (ryxxs == null ? "" : ryxxs.get("posbrform")) + "     ",
                                    contentFont);
                            p.add(p6);
                        }
                        Cell cell = new Cell(p);
                        ryxxtable.addCell(cell);
                    }
                }
                document.add(ryxxtable);
            }

            if ("GS".equals(opetype)) {
                //()
                Paragraph czxxTitle = new Paragraph("\n()", titleChinese);
                czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(czxxTitle);

                //TABLE
                Table czxxtable = new Table(7);
                int czxxwidths[] = { 20, 20, 15, 10, 10, 15, 10 };
                czxxtable.setWidths(czxxwidths);
                czxxtable.setWidth(100);
                czxxtable.setPadding(3);
                czxxtable.setBorderWidth(1);
                czxxtable.setAlignment(Cell.ALIGN_CENTER);

                List<List<String>> czxxList = (List<List<String>>) dataMap.get("czxxList");
                if (czxxList != null && !czxxList.isEmpty()) {
                    Cell ct1 = new Cell(new Phrase("\n", contentFont));
                    ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct1);
                    Cell ct2 = new Cell(new Phrase("", contentFont));
                    ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct2);
                    Cell ct3 = new Cell(new Phrase("", contentFont));
                    ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct3);
                    Cell ct4 = new Cell(new Phrase("", contentFont));
                    ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct4);
                    Cell ct5 = new Cell(new Phrase("", contentFont));
                    ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct5);
                    Cell ct6 = new Cell(new Phrase("\n", contentFont));
                    ct6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct6);
                    Cell ct7 = new Cell(new Phrase("", contentFont));
                    ct7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct7);
                    for (int i = 0; i < czxxList.size(); i++) {
                        List<String> czxxs = czxxList.get(i);
                        if (!czxxs.isEmpty()) {
                            for (int j = 0; j < czxxs.size(); j++) {
                                Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                czxxtable.addCell(czCell);
                            }
                        }
                    }
                }
                document.add(czxxtable);
            } else if ("WZGS".equals(opetype) || "WZHH".equals(opetype)) {
                //()
                Paragraph czxxTitle = new Paragraph("\n/", titleChinese);
                czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(czxxTitle);

                //TABLE
                int length = 0;
                int[] czxxwidths = null;
                if ("WZGS".equals(opetype)) {
                    length = 8;
                    czxxwidths = new int[] { 20, 10, 15, 10, 10, 15, 10, 10 };
                } else if ("WZHH".equals(opetype)) {
                    length = 9;
                    czxxwidths = new int[] { 12, 11, 11, 11, 11, 11, 11, 11, 11 };
                }
                Table czxxtable = new Table(length);
                czxxtable.setWidths(czxxwidths);
                czxxtable.setWidth(100);
                czxxtable.setPadding(3);
                czxxtable.setBorderWidth(1);
                czxxtable.setAlignment(Cell.ALIGN_CENTER);

                List<List<String>> czxxList = (List<List<String>>) dataMap.get("czxxList");
                if (czxxList != null && !czxxList.isEmpty()) {
                    String ct1text = "";
                    if ("WZGS".equals(opetype)) {
                        ct1text = "\n";
                    } else if ("WZHH".equals(opetype)) {
                        ct1text = "\n";
                    }
                    Cell ct1 = new Cell(new Phrase(ct1text, contentFont));
                    ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct1);
                    Cell ct11 = new Cell(new Phrase("", contentFont));
                    ct11.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct11);
                    Cell ct2 = new Cell(new Phrase("", contentFont));
                    ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct2);
                    Cell ct3 = new Cell(new Phrase("", contentFont));
                    ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct3);
                    Cell ct31 = new Cell(new Phrase("", contentFont));
                    ct31.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct31);
                    Cell ct4 = new Cell(new Phrase("", contentFont));
                    ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct4);
                    Cell ct5 = new Cell(new Phrase("", contentFont));
                    ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct5);
                    Cell ct6 = new Cell(new Phrase("\n", contentFont));
                    ct6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct6);
                    Cell ct7 = new Cell(new Phrase("", contentFont));
                    ct7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct7);
                    for (int i = 0; i < czxxList.size(); i++) {
                        List<String> czxxs = czxxList.get(i);
                        if (!czxxs.isEmpty()) {
                            for (int j = 0; j < czxxs.size(); j++) {
                                Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                czxxtable.addCell(czCell);
                            }
                        }
                    }
                }
                document.add(czxxtable);
            } else if ("HHQY".equals(opetype)) {
                //
                Paragraph czxxTitle = new Paragraph("\n", titleChinese);
                czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(czxxTitle);

                //TABLE
                Table czxxtable = new Table(9);
                int czxxwidths[] = { 12, 11, 11, 11, 11, 11, 11, 11, 11 };
                czxxtable.setWidths(czxxwidths);
                czxxtable.setWidth(100);
                czxxtable.setPadding(3);
                czxxtable.setBorderWidth(1);
                czxxtable.setAlignment(Cell.ALIGN_CENTER);

                List<List<String>> czxxList = (List<List<String>>) dataMap.get("czxxList");
                if (czxxList != null && !czxxList.isEmpty()) {
                    Cell ct1 = new Cell(new Phrase("", contentFont));
                    ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct1);
                    Cell ct2 = new Cell(new Phrase("", contentFont));
                    ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct2);
                    Cell ct3 = new Cell(new Phrase("", contentFont));
                    ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct3);
                    Cell ct4 = new Cell(new Phrase("", contentFont));
                    ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct4);
                    Cell ct5 = new Cell(new Phrase("", contentFont));
                    ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct5);
                    Cell ct6 = new Cell(new Phrase("", contentFont));
                    ct6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct6);
                    Cell ct7 = new Cell(new Phrase("", contentFont));
                    ct7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct7);
                    Cell ct8 = new Cell(new Phrase("", contentFont));
                    ct8.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct8);
                    Cell ct9 = new Cell(new Phrase("", contentFont));
                    ct9.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct9);
                    for (int i = 0; i < czxxList.size(); i++) {
                        List<String> czxxs = czxxList.get(i);
                        if (!czxxs.isEmpty()) {
                            for (int j = 0; j < czxxs.size(); j++) {
                                Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                czxxtable.addCell(czCell);
                            }
                        }
                    }
                }
                document.add(czxxtable);
            } else if ("HZS".equals(opetype)) {
                //
                Paragraph czxxTitle = new Paragraph("\n", titleChinese);
                czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(czxxTitle);

                //TABLE
                Table czxxtable = new Table(5);
                int czxxwidths[] = { 10, 30, 20, 20, 20 };
                czxxtable.setWidths(czxxwidths);
                czxxtable.setWidth(100);
                czxxtable.setPadding(3);
                czxxtable.setBorderWidth(1);
                czxxtable.setAlignment(Cell.ALIGN_CENTER);

                List<List<String>> czxxList = (List<List<String>>) dataMap.get("czxxList");
                if (czxxList != null && !czxxList.isEmpty()) {
                    Cell ct1 = new Cell(new Phrase("", contentFont));
                    ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct1);
                    Cell ct2 = new Cell(new Phrase("", contentFont));
                    ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct2);
                    Cell ct3 = new Cell(new Phrase("", contentFont));
                    ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct3);
                    Cell ct4 = new Cell(new Phrase("", contentFont));
                    ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct4);
                    Cell ct5 = new Cell(new Phrase("", contentFont));
                    ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct5);
                    for (int i = 0; i < czxxList.size(); i++) {
                        List<String> czxxs = czxxList.get(i);
                        if (!czxxs.isEmpty()) {
                            for (int j = 0; j < czxxs.size(); j++) {
                                Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                czxxtable.addCell(czCell);
                            }
                        }
                    }
                }
                document.add(czxxtable);

                Paragraph czzep = new Paragraph("\n:    " + dataMap.get("regcap") + "   ()  ",
                        contentFont);
                czzep.setAlignment(Paragraph.ALIGN_LEFT);
                czzep.setIndentationLeft(100);
                document.add(czzep);
                Paragraph czzep1 = new Paragraph("\n  ", contentFont);
                czzep1.setAlignment(Paragraph.ALIGN_LEFT);
                czzep1.setIndentationLeft(100);
                document.add(czzep1);
                Paragraph czzep2 = new Paragraph(
                        "\n                                                        ", contentFont);
                czzep2.setAlignment(Paragraph.ALIGN_RIGHT);
                document.add(czzep2);
            }

            if ("HZS".equals(opetype)) {
                //
                Paragraph czxxTitle = new Paragraph("\n", titleChinese);
                czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(czxxTitle);

                //TABLE
                Table czxxtable = new Table(5);
                int czxxwidths[] = { 10, 20, 30, 25, 15 };
                czxxtable.setWidths(czxxwidths);
                czxxtable.setWidth(100);
                czxxtable.setPadding(3);
                czxxtable.setBorderWidth(1);
                czxxtable.setAlignment(Cell.ALIGN_CENTER);

                List<List<String>> czxxList = (List<List<String>>) dataMap.get("hzsList");
                if (czxxList != null && !czxxList.isEmpty()) {
                    Cell ct1 = new Cell(new Phrase("", contentFont));
                    ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct1);
                    Cell ct2 = new Cell(new Phrase("", contentFont));
                    ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct2);
                    Cell ct3 = new Cell(new Phrase("", contentFont));
                    ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct3);
                    Cell ct4 = new Cell(new Phrase("", contentFont));
                    ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct4);
                    Cell ct5 = new Cell(new Phrase("", contentFont));
                    ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    czxxtable.addCell(ct5);
                    for (int i = 0; i < czxxList.size(); i++) {
                        List<String> czxxs = czxxList.get(i);
                        if (!czxxs.isEmpty()) {
                            for (int j = 0; j < czxxs.size(); j++) {
                                Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                czxxtable.addCell(czCell);
                            }
                        }
                    }
                }
                document.add(czxxtable);

                Paragraph czzep = new Paragraph("\n:    " + dataMap.get("cyzs") + "   ()    ",
                        contentFont);
                czzep.setAlignment(Paragraph.ALIGN_LEFT);
                czzep.setIndentationLeft(40);
                document.add(czzep);
                Paragraph czzep1 = new Paragraph(" " + dataMap.get("nmcy") + "   ()  "
                        + dataMap.get("nmcyrate") + "    % ", contentFont);
                czzep1.setAlignment(Paragraph.ALIGN_LEFT);
                czzep1.setIndentationLeft(100);
                document.add(czzep1);
                Paragraph czzep2 = new Paragraph("   " + dataMap.get("frcy")
                        + "   () " + dataMap.get("frcyrate") + "  %", contentFont);
                czzep2.setAlignment(Paragraph.ALIGN_LEFT);
                czzep2.setIndentationLeft(100);
                document.add(czzep2);

                Paragraph czzep3 = new Paragraph(
                        " ",
                        contentFont);
                czzep3.setAlignment(Paragraph.ALIGN_LEFT);
                czzep3.setIndentationLeft(40);
                document.add(czzep3);

                Paragraph czzep4 = new Paragraph("\n ", contentFont);
                czzep4.setAlignment(Paragraph.ALIGN_LEFT);
                czzep4.setIndentationLeft(100);
                document.add(czzep4);

                Paragraph czzep5 = new Paragraph(
                        "\n                                                                 ",
                        contentFont);
                czzep4.setAlignment(Paragraph.ALIGN_RIGHT);
                document.add(czzep4);
            }

            //()
            Paragraph cwfzrTitle = new Paragraph("\n", titleChinese);
            cwfzrTitle.setAlignment(Paragraph.ALIGN_CENTER);
            document.add(cwfzrTitle);

            //TABLE
            Table cwfzrtable = new Table(4);
            int cwfzrwidths[] = { 20, 30, 20, 30 };
            cwfzrtable.setWidths(cwfzrwidths);
            cwfzrtable.setWidth(100);
            cwfzrtable.setPadding(3);
            cwfzrtable.setBorderWidth(1);
            cwfzrtable.setAlignment(Cell.ALIGN_CENTER);

            Map<String, String> cwfzrMap = (Map<String, String>) dataMap.get("cwfzrMap");
            Cell cwfzr1 = new Cell(new Phrase(" ", contentFont));
            cwfzr1.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr1);
            Cell cwfzr2 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("name"), contentFont));
            cwfzr2.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr2);
            Cell cwfzr3 = new Cell(new Phrase("", contentFont));
            cwfzr3.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr3);
            Cell cwfzr4 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("tel"), contentFont));
            cwfzr4.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr4);

            Cell cwfzr5 = new Cell(new Phrase("", contentFont));
            cwfzr5.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr5);
            Cell cwfzr6 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("mobile"), contentFont));
            cwfzr6.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr6);
            Cell cwfzr7 = new Cell(new Phrase("", contentFont));
            cwfzr7.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr7);
            Cell cwfzr8 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("email"), contentFont));
            cwfzr8.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr8);

            Cell cwfzr9 = new Cell(new Phrase("", contentFont));
            cwfzr9.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr9);
            Cell cwfzr10 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("certype"), contentFont));
            cwfzr10.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr10);
            Cell cwfzr11 = new Cell(new Phrase("", contentFont));
            cwfzr11.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr11);
            Cell cwfzr12 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("cerno"), contentFont));
            cwfzr12.setHorizontalAlignment(Element.ALIGN_CENTER);
            cwfzrtable.addCell(cwfzr12);

            document.add(cwfzrtable);

            //()
            Paragraph llrTitle = new Paragraph("\n", titleChinese);
            llrTitle.setAlignment(Paragraph.ALIGN_CENTER);
            document.add(llrTitle);

            //TABLE
            Table llrtable = new Table(4);
            int llrwidths[] = { 20, 30, 20, 30 };
            llrtable.setWidths(llrwidths);
            llrtable.setWidth(100);
            llrtable.setPadding(3);
            llrtable.setBorderWidth(1);
            llrtable.setAlignment(Cell.ALIGN_CENTER);

            Map<String, String> llrMap = (Map<String, String>) dataMap.get("llrMap");
            Cell llr1 = new Cell(new Phrase(" ", contentFont));
            llr1.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr1);
            Cell llr2 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("name"), contentFont));
            llr2.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr2);
            Cell llr3 = new Cell(new Phrase("", contentFont));
            llr3.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr3);
            Cell llr4 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("tel"), contentFont));
            llr4.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr4);

            Cell llr5 = new Cell(new Phrase("", contentFont));
            llr5.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr5);
            Cell llr6 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("mobile"), contentFont));
            llr6.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr6);
            Cell llr7 = new Cell(new Phrase("", contentFont));
            llr7.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr7);
            Cell llr8 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("email"), contentFont));
            llr8.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr8);

            Cell llr9 = new Cell(new Phrase("", contentFont));
            llr9.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr9);
            Cell llr10 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("certype"), contentFont));
            llr10.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr10);
            Cell llr11 = new Cell(new Phrase("", contentFont));
            llr11.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr11);
            Cell llr12 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("cerno"), contentFont));
            llr12.setHorizontalAlignment(Element.ALIGN_CENTER);
            llrtable.addCell(llr12);

            document.add(llrtable);

            //()
            Paragraph wtrTitle = new Paragraph("\n", titleChinese);
            wtrTitle.setAlignment(Paragraph.ALIGN_CENTER);
            document.add(wtrTitle);

            Map<String, String> wtrMap = (Map<String, String>) dataMap.get("wtrMap");

            String sqrText = "   " + (wtrMap == null ? "" : wtrMap.get("sqr"));
            Paragraph sqr = new Paragraph(sqrText, contentFont);
            sqr.setAlignment(Paragraph.ALIGN_LEFT);
            document.add(sqr);

            String wtrText = " " + (wtrMap == null ? "" : wtrMap.get("wtr"));
            Paragraph wtr = new Paragraph(wtrText, contentFont);
            wtr.setAlignment(Paragraph.ALIGN_LEFT);
            document.add(wtr);

            Paragraph wtsx = new Paragraph("\n", contentFont);
            wtsx.setAlignment(Paragraph.ALIGN_LEFT);
            document.add(wtsx);

            String wtText1 = "1    " + (wtrMap == null ? "" : wtrMap.get("entname"))
                    + "     ";
            Paragraph wt1 = new Paragraph(wtText1, contentFont);
            //
            wt1.setIndentationLeft(60);
            document.add(wt1);

            Paragraph wt2 = new Paragraph("           ",
                    contentFont);
            //
            wt2.setIndentationLeft(70);
            document.add(wt2);

            Paragraph wt3 = new Paragraph("       __________",
                    contentFont);
            //
            wt3.setIndentationLeft(70);
            document.add(wt3);

            Paragraph wt4 = new Paragraph("2." + (wtrMap == null ? "" : wtrMap.get("qx1"))
                    + " ", contentFont);
            //
            wt4.setIndentationLeft(60);
            document.add(wt4);

            Paragraph wt5 = new Paragraph(
                    "3." + (wtrMap == null ? "" : wtrMap.get("qx2")) + "  ",
                    contentFont);
            //
            wt5.setIndentationLeft(60);
            document.add(wt5);

            Paragraph wt6 = new Paragraph(
                    "4." + (wtrMap == null ? "" : wtrMap.get("qx3")) + " ",
                    contentFont);
            //
            wt6.setIndentationLeft(60);
            document.add(wt6);

            Paragraph wt7 = new Paragraph(
                    "5." + (wtrMap == null ? "" : wtrMap.get("qx4")) + "\n",
                    contentFont);
            //
            wt7.setIndentationLeft(60);
            document.add(wt7);

            Paragraph wt8 = new Paragraph(
                    "    " + (wtrMap == null ? "" : wtrMap.get("confrom"))
                            + "        " + (wtrMap == null ? "" : wtrMap.get("conto")) + " \n ",
                    contentFont);
            wt8.setAlignment(Paragraph.ALIGN_LEFT);
            document.add(wt8);

            //TABLE
            Table wtrtable = new Table(2);
            int[] wtrwidths = { 50, 50 };
            wtrtable.setWidths(wtrwidths);
            wtrtable.setWidth(100);
            wtrtable.setPadding(3);
            wtrtable.setBorderWidth(1);
            wtrtable.setAlignment(Cell.ALIGN_CENTER);

            Cell wtrc1 = new Cell(new Phrase("", contentFont));
            wtrc1.setRowspan(3);
            wtrc1.setHorizontalAlignment(Element.ALIGN_CENTER);
            wtrtable.addCell(wtrc1);

            Cell wtrc2 = new Cell(new Phrase(" ", contentFont));
            wtrc2.setHorizontalAlignment(Element.ALIGN_LEFT);
            wtrtable.addCell(wtrc2);

            String telText = "" + (wtrMap == null ? "" : wtrMap.get("tel"));
            Cell wtrc3 = new Cell(new Phrase(telText, contentFont));
            wtrc3.setHorizontalAlignment(Element.ALIGN_LEFT);
            wtrtable.addCell(wtrc3);

            String mobileText = "" + (wtrMap == null ? "" : wtrMap.get("mobile"));
            Cell wtrc4 = new Cell(new Phrase(mobileText, contentFont));
            wtrc4.setHorizontalAlignment(Element.ALIGN_LEFT);
            wtrtable.addCell(wtrc4);

            document.add(wtrtable);

            Paragraph wt9 = new Paragraph("\n ", contentFont);
            wt9.setAlignment(Paragraph.ALIGN_LEFT);
            document.add(wt9);

            Paragraph wt10 = new Paragraph("\n" + (wtrMap == null ? "" : wtrMap.get("condate")) + " ",
                    contentFont);
            wt10.setAlignment(Paragraph.ALIGN_RIGHT);
            document.add(wt10);

            //
            if ("WZGS".equals(opetype) || "WZHH".equals(opetype) || "WGJY".equals(opetype)) {
                Paragraph wtsTitle1 = new Paragraph("\n", titleChinese);
                wtsTitle1.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(wtsTitle1);
                Paragraph wtsTitle2 = new Paragraph("", titleChinese);
                wtsTitle2.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(wtsTitle2);

                Map<String, String> sdMap = (Map<String, String>) dataMap.get("sdMap");

                Paragraph sdsq = new Paragraph(" ", contentFont);
                sdsq.setAlignment(Paragraph.ALIGN_LEFT);
                document.add(sdsq);

                String sdbsqText = "    " + (sdMap == null ? "" : sdMap.get("name"));
                Paragraph sdbsq = new Paragraph(sdbsqText, contentFont);
                sdbsq.setAlignment(Paragraph.ALIGN_LEFT);
                document.add(sdbsq);

                String sqfwText = "   " + (sdMap == null ? "" : sdMap.get("name"))
                        + "     ";
                Paragraph sqfw = new Paragraph(sqfwText, contentFont);
                sqfw.setAlignment(Paragraph.ALIGN_LEFT);
                document.add(sqfw);

                Paragraph sqfw2 = new Paragraph(
                        "_______",
                        contentFont);
                sqfw2.setAlignment(Paragraph.ALIGN_LEFT);
                sqfw2.setIndentationLeft(60);
                document.add(sqfw2);

                //TABLE
                Table sdstable = new Table(4);
                int[] sdswidths = { 20, 30, 20, 30 };
                sdstable.setWidths(sdswidths);
                sdstable.setWidth(100);
                sdstable.setPadding(3);
                sdstable.setBorderWidth(1);
                sdstable.setAlignment(Cell.ALIGN_CENTER);

                Cell sd1 = new Cell(new Phrase("", contentFont));
                sd1.setHorizontalAlignment(Element.ALIGN_CENTER);
                sdstable.addCell(sd1);

                Cell sd2 = new Cell(new Phrase(sdMap == null ? "" : sdMap.get("addr"), contentFont));
                sd2.setHorizontalAlignment(Element.ALIGN_CENTER);
                sdstable.addCell(sd2);

                Cell sd3 = new Cell(new Phrase("", contentFont));
                sd3.setHorizontalAlignment(Element.ALIGN_CENTER);
                sdstable.addCell(sd3);

                Cell sd4 = new Cell(new Phrase(sdMap == null ? "" : sdMap.get("postalcode"), contentFont));
                sd4.setHorizontalAlignment(Element.ALIGN_CENTER);
                sdstable.addCell(sd4);

                Cell sd5 = new Cell(new Phrase("", contentFont));
                sd5.setHorizontalAlignment(Element.ALIGN_CENTER);
                sdstable.addCell(sd5);

                Cell sd6 = new Cell(new Phrase(sdMap == null ? "" : sdMap.get("linkman"), contentFont));
                sd6.setHorizontalAlignment(Element.ALIGN_CENTER);
                sdstable.addCell(sd6);

                Cell sd7 = new Cell(new Phrase("", contentFont));
                sd7.setHorizontalAlignment(Element.ALIGN_CENTER);
                sdstable.addCell(sd7);

                Cell sd8 = new Cell(new Phrase(sdMap == null ? "" : sdMap.get("email"), contentFont));
                sd8.setHorizontalAlignment(Element.ALIGN_CENTER);
                sdstable.addCell(sd8);

                Cell sd9 = new Cell(new Phrase("\n", contentFont));
                sd9.setRowspan(2);
                sd9.setHorizontalAlignment(Element.ALIGN_CENTER);
                sdstable.addCell(sd9);

                Cell sd10 = new Cell(
                        new Phrase("     " + (sdMap == null ? "" : sdMap.get("tel")), contentFont));
                sd10.setColspan(3);
                sd10.setHorizontalAlignment(Element.ALIGN_LEFT);
                sdstable.addCell(sd10);

                Cell sd11 = new Cell(
                        new Phrase("     " + (sdMap == null ? "" : sdMap.get("mobtel")), contentFont));
                sd11.setColspan(3);
                sd11.setHorizontalAlignment(Element.ALIGN_LEFT);
                sdstable.addCell(sd11);

                document.add(sdstable);

                Paragraph sds1 = new Paragraph(
                        "\n                                                                            ",
                        contentFont);
                sds1.setAlignment(Paragraph.ALIGN_LEFT);
                sds1.setIndentationLeft(100);
                document.add(sds1);

                Paragraph sds2 = new Paragraph("\n                                                      ",
                        contentFont);
                sds2.setAlignment(Paragraph.ALIGN_RIGHT);
                document.add(sds2);

                Paragraph remark = new Paragraph(
                        "  ",
                        contentFont);
                remark.setIndentationLeft(60);
                remark.setAlignment(Paragraph.ALIGN_LEFT);
                document.add(remark);
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
        logger.debug(e);
    }

    //PDF
    document.close();
}

From source file:com.sinkluge.reports.contracts.GenContractChecklist.java

public void create(Info in, Image toplogo) throws Exception {

    //adds the unchecked box
    Image checkbox = Image.getInstance(in.path + "/WEB-INF/images/unchecked.jpg");
    Chunk ch2 = new Chunk(checkbox, -10, -10);
    Phrase checkboxPhrase = new Phrase();
    checkboxPhrase.add(ch2);/*from  ww w.  j  a  v a  2s  .co  m*/
    int[] two = { 10, 90 };//sets the widths of the columns(2) with checkboxes

    //blank spacer for keeping tables apart
    Table spacer = new Table(1, 1);
    spacer.setBorderWidth(0);
    //spacer.setDefaultCellBorderWidth(0);
    spacer.setWidth(100);
    spacer.setPadding(0);
    spacer.setSpacing(0);
    Cell blank = new Cell();
    blank.add(new Chunk("", new Font(Font.TIMES_ROMAN, 1, Font.BOLD, new Color(255, 255, 255))));
    blank.setBorderWidth(0);
    blank.setLeading(0);
    spacer.addCell(blank);

    init();
    //document.setMargins(left, right, top, bottom);
    //add image
    Phrase p1 = new Phrase();
    int[] widths = { 60, 40 };
    Table table1 = new Table(2, 1);
    table1.setWidths(widths);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(2);
    table1.setSpacing(2);
    toplogo.scalePercent(20);
    //Chunk ch1=new Chunk(toplogo, -10, -80);
    Cell cell = new Cell(toplogo);
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(0);
    table1.addCell(cell);
    //just added image

    //add title on right side
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("\n" + title + " Checklist", new Font(Font.TIMES_ROMAN, 18, Font.BOLD)));
    cell.add(new Phrase("\n" + currentDate, new Font(Font.TIMES_ROMAN, 16, Font.BOLD)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    document.add(spacer);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);

    //add "To:" and "Re:"
    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    cell = new Cell();
    p1 = new Phrase("To:", new Font(Font.TIMES_ROMAN, 14, Font.BOLD));
    cell.setVerticalAlignment("middle");
    cell.add(p1);
    cell.add(new Phrase("\t\t" + companyName, new Font(Font.TIMES_ROMAN, 14, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Re:", new Font(Font.TIMES_ROMAN, 14, Font.BOLD)));
    cell.add(new Phrase("\t\t" + jobName, new Font(Font.TIMES_ROMAN, 14, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Enclosed:", new Font(Font.TIMES_ROMAN, 14, Font.BOLD)));
    cell.add(new Phrase("\t\t" + title + " Agreement", new Font(Font.TIMES_ROMAN, 14, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    document.add(spacer);

    //add Instructions
    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    cell = new Cell();
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(
            "In order to finalize your agreement with " + shortName
                    + ", please complete all items as outlined below. "
                    + " It is essential to be finalized no later than ",
            new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
    cell.add(new Phrase(agreementDate + ".  ", new Font(Font.TIMES_ROMAN, 12, Font.BOLDITALIC)));
    cell.setBorder(0);
    table1.addCell(cell);
    //p1 = new Phrase("Subcontractor Change Order Overview Report", new Font(Font.TIMES_ROMAN, 8, Font.BOLD));
    cell = new Cell();
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(
            "A subcontract is considered finalized and ready to activate when all of the attached items outlined below "
                    + "are completed, signed, and returned to " + shortName
                    + ". Do not make any changes directly to the contract documents."
                    + " Any alterations or amendments must be negotiated and mutually agreed upon in advance. If necessary, a new, "
                    + "updated contract will be sent. Contract negotiations are best in person and can be accomplished following the pre-"
                    + "construction conference.",
            new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    document.add(spacer);

    //add "Checklist:"
    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    cell = new Cell();
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Checklist: ", new Font(Font.TIMES_ROMAN, 12, Font.BOLD)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    //add "Business Information"
    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setWidths(two);

    cell = new Cell(checkboxPhrase);
    cell.setBorderWidth(0);
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("top");
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setVerticalAlignment("bottom");
    cell.add(new Phrase("Business Information", new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
    cell.add(new Phrase(" (* indicates required information)", new Font(Font.TIMES_ROMAN, 12, Font.ITALIC)));

    cell.add(new Phrase("\n     * Business Telephone Number", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("\n        Primary Contact Name", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("\n        Business Fax Number", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("\n        Mobile Telephone Number", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("\n        Email Address", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("\n     * Federal ID # or Social Security Number",
            new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    if (insure) {
        cell.add(new Phrase("\n     * Contractor's License Number",
                new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
        cell.add(new Phrase("\n     * Attach copy of current contractor's license",
                new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    }
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    //add "Sign and Date the Agreement"
    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setWidths(two);

    cell = new Cell(checkboxPhrase);
    cell.setBorderWidth(0);
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setVerticalAlignment("bottom");
    cell.add(new Phrase("Sign and date the agreement", new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    document.add(table1);

    //add "initial all pages"
    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setWidths(two);

    cell = new Cell(checkboxPhrase);
    cell.setBorderWidth(0);
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setVerticalAlignment("bottom");
    cell.add(new Phrase("Initial front page where indicated", new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    document.add(table1);

    //add "provide signatures"
    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setWidths(two);

    cell = new Cell(checkboxPhrase);
    cell.setBorderWidth(0);
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setVerticalAlignment("bottom");
    cell.add(new Phrase("Provide appropriate signatures at Exhibit \"C\", Item #2",
            new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    document.add(table1);

    //add "complete and sign exhibit d"
    if (insure) {
        table1 = new Table(2, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(3);
        table1.setWidths(two);

        cell = new Cell(checkboxPhrase);
        cell.setBorderWidth(0);
        cell.setHorizontalAlignment("center");
        cell.setVerticalAlignment("middle");
        cell.setBorder(0);
        table1.addCell(cell);

        cell = new Cell();
        cell.setVerticalAlignment("bottom");
        cell.add(new Phrase("Complete and sign Exhibit \"D\"", new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
        cell.setBorder(0);
        table1.addCell(cell);

        document.add(table1);

        //add "Forward"
        table1 = new Table(2, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(3);
        table1.setWidths(two);

        cell = new Cell(checkboxPhrase);
        cell.setBorderWidth(0);
        cell.setHorizontalAlignment("center");
        cell.setVerticalAlignment("middle");
        cell.setBorder(0);
        table1.addCell(cell);

        cell = new Cell();
        cell.setVerticalAlignment("bottom");
        cell.add(new Phrase(
                "Forward the required insurance certificates (per article 7 and Exhibit \"C\") to " + shortName,
                new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
        cell.setBorder(0);
        table1.addCell(cell);

        document.add(table1);
    }

    //add "return all pages"
    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setWidths(two);

    cell = new Cell(checkboxPhrase);
    cell.setBorderWidth(0);
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setVerticalAlignment("bottom");
    cell.add(new Phrase("Return all pages of both completed copies of your " + title
            + " agreement.  Do not remove any pages.", new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    document.add(table1);

}

From source file:com.sinkluge.reports.contracts.GenSubcontract.java

public void create(Info in, Image toplogo) throws Exception {

    //for the unchecked box
    Image checkbox = Image.getInstance(in.path + "/WEB-INF/images/unchecked.jpg");
    Chunk ch2 = new Chunk(checkbox, -7, -7);
    Phrase checkboxPhrase = new Phrase();
    checkboxPhrase.add(ch2);/*from   w  w  w  . j  a v  a2  s . c  o m*/

    Font tnr8 = new Font(Font.TIMES_ROMAN, 8, Font.NORMAL);

    Image iBox = Image.getInstance(in.path + "/WEB-INF/images/initialsBox.jpg");//(in.path + "/jsp/dev/images/epcologo3.jpg");
    Chunk ch3 = new Chunk(iBox, -3, -3);
    Phrase initialsBoxPhrase = new Phrase();
    initialsBoxPhrase.add(ch3);

    Phrase footerPhrase = new Phrase(
            attr.get("full_name") + ", " + attr.get("address") + ", " + attr.get("city") + ", "
                    + attr.get("state") + " " + attr.get("zip") + "\nPhone: " + attr.get("phone") + "   Fax: "
                    + attr.get("fax") + "   " + attr.get("url") + "   Page: ",
            new Font(Font.TIMES_ROMAN, 7, Font.BOLD | Font.ITALIC));

    HeaderFooter footer = new HeaderFooter(footerPhrase, true);
    footer.setBorder(0);
    footer.setAlignment(Element.ALIGN_CENTER);
    init(40, 40, 40, 40, footer);

    Phrase underLinePhrase = new Phrase(
            "  ___________________________________________________________________________________________  ",
            new Font(Font.TIMES_ROMAN, 10, Font.BOLD));
    int[] twoC = { 30, 70 };
    int[] twoD = { 5, 95 };
    int[] twoF = { 10, 90 };
    int[] twoE = { 25, 75 };
    int[] twoG = { 40, 60 };
    int[] threeD = { 4, 11, 85 };
    int[] threeB = { 70, 15, 15 };
    //int[] threeC = { 47, 5, 48 };
    int[] five = { 18, 25, 14, 18, 25 };

    //blank spacer for keeping tables apart
    Table spacer = new Table(1, 1);
    spacer.setBorderWidth(0);
    //spacer.setDefaultCellBorderWidth(0);
    spacer.setWidth(100);
    spacer.setPadding(0);
    spacer.setSpacing(0);
    Cell blank = new Cell();
    blank.add(new Chunk("", new Font(Font.TIMES_ROMAN, 8, Font.BOLD, new Color(255, 255, 255))));
    blank.setBorderWidth(0);
    //blank.setLeading(0);
    spacer.addCell(blank);

    //start of document
    //document.setFooter(footer);

    //document.setFooter(footer);

    //add image
    Phrase p1 = new Phrase();
    Table table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(2);
    table1.setSpacing(2);
    toplogo.scalePercent(20);
    //Chunk ch1=new Chunk(toplogo, -36, -55);
    //p1.add(ch1);
    Cell cell = new Cell(toplogo);
    cell.setBorderWidth(0);
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    table1.addCell(cell);

    document.add(table1);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);
    document.add(spacer);

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setLeading(19);
    cell.add(
            new Phrase(title.toUpperCase() + " AGREEMENT BETWEEN CONTRACTOR AND " + cTitle.toUpperCase() + "\n",
                    new Font(Font.TIMES_ROMAN, 20, Font.BOLD)));
    cell.setUseDescender(true);
    cell.setBackgroundColor(Color.lightGray);
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    table1.setSpacing(0);
    cell = new Cell();
    cell.add(underLinePhrase);
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("\nDOCUMENTS CONTAINED HEREIN:\n", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    table1 = new Table(3, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setWidths(threeD);
    table1.setPadding(0);
    table1.setSpacing(0);
    table1.addCell(blank);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Page 1", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Agreement Declaration", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.add(new Phrase("    Initial boxes below to indicate complete review of this agreement.",
            new Font(Font.TIMES_ROMAN, 8, Font.ITALIC)));
    cell.setBorder(0);
    table1.addCell(cell);

    table1.addCell(blank);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Page 2", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Articles of " + title + " Agreement and Standard Provisions", tnr8));
    cell.add(new Phrase("    Sign the concluding page.", new Font(Font.TIMES_ROMAN, 8, Font.ITALIC)));
    cell.setBorder(0);
    table1.addCell(cell);

    table1.addCell(blank);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Exhibit \"A\"", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("List of Contract Documents, Plans, Specifications, Etc.", tnr8));
    cell.setBorder(0);
    //cell.add(new Phrase("    Read and initial each page.", new Font(Font.TIMES_ROMAN, 8, Font.ITALIC)));
    table1.addCell(cell);

    table1.addCell(blank);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Exhibit \"B\"", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(cTitle + "'s Scope of Work", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    table1.addCell(blank);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");

    cell.add(new Phrase("Exhibit \"C\"", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");

    cell.add(new Phrase(cTitle + "'s Special Provisions and Procedure Requirements", tnr8));
    cell.add(new Phrase("    Read and complete \"Release Authorization\" information.",
            new Font(Font.TIMES_ROMAN, 8, Font.ITALIC)));
    cell.setBorder(0);
    table1.addCell(cell);
    table1.addCell(blank);
    if (insure) {
        cell = new Cell();
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase("Exhibit \"D\"", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
        cell.setBorder(0);
        table1.addCell(cell);

        cell = new Cell();
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase(cTitle + " Cost Breakdown", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
        cell.add(new Phrase("    Complete and return with signed contract",
                new Font(Font.TIMES_ROMAN, 8, Font.ITALIC)));
        cell.setBorder(0);
        table1.addCell(cell);

        table1.addCell(blank);
    }
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.setColspan(2);
    cell.add(new Phrase("NOTE OTHERS HERE:", new Font(Font.TIMES_ROMAN, 8, Font.ITALIC)));
    cell.setBorder(0);
    table1.addCell(cell);

    document.add(table1);

    table1 = new Table(3);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    table1.setWidths(threeB);
    table1.addCell(blank);
    cell = new Cell();
    cell.setColspan(2);
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("(Initial) Entire agreement thoroughly reviewed:\n",
            new Font(Font.TIMES_ROMAN, 6, Font.ITALIC)));
    cell.setBorder(0);
    table1.addCell(cell);

    table1.addCell(blank);

    cell = new Cell();

    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Contractor: ________", new Font(Font.TIMES_ROMAN, 6, Font.ITALIC)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(cTitle + ": ________", new Font(Font.TIMES_ROMAN, 6, Font.ITALIC)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setColspan(3);
    cell.add(underLinePhrase);
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    table1 = new Table(1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("AGREEMENT", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.add(new Phrase(" made as of " + agreementDate, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    //cell.setLeading(10);
    cell.add(new Phrase("BETWEEN", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.add(new Phrase(" the Contractor: \n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + attr.get("full_name") + " \n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + attr.get("address") + " \n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + attr.get("city") + ", " + attr.get("state") + " " + attr.get("zip"),
            new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("                (hereinafter known as \"Contractor\")\n",
            new Font(Font.TIMES_ROMAN, 6, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    //cell.setLeading(10);
    cell.add(new Phrase("AND", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.add(new Phrase(" the " + cTitle + ": \n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + subName + " \n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + subAddress + "\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + subCityStateZip, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("                (hereinafter known as \"" + cTitle + "\")\n",
            new Font(Font.TIMES_ROMAN, 6, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    //cell.setLeading(10);
    cell.add(new Phrase("FOR", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.add(new Phrase(" the the fixed sum of  " + DocHelper.numberAndText(amount) + " \n",
            new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    //cell.add(new Phrase("     " + amountString + " \n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    //cell.setLeading(10);
    cell.add(new Phrase("FOR", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.add(new Phrase(" the Project known as:\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + projectName + " \n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + projectAddress + "\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + projectCityStateZip, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("                (hereinafter known as \"Project\")\n",
            new Font(Font.TIMES_ROMAN, 6, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    //cell.setLeading(10);
    cell.add(new Phrase("BY", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.add(new Phrase(" the Architect:\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + architectName + " \n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + architectAddress + "\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + architectCityStateZip, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("                (hereinafter known as \"Architect\")\n",
            new Font(Font.TIMES_ROMAN, 6, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    //cell.setLeading(10);
    cell.add(new Phrase("FOR", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.add(new Phrase(" the Project owner:\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + ownerName + " \n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + ownerAddress + "\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("     " + ownerCityStateZip, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.add(new Phrase("                (hereinafter known as \"Owner\")\n",
            new Font(Font.TIMES_ROMAN, 6, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("WHEREFORE", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.add(new Phrase(" the Contractor and " + cTitle + " agree as follows:\n\n\n",
            new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);

    document.add(table1);
    /*
          table1 = new Table(1);
          table1.setBorderWidth(0); table1.setWidth(100);
          //table1.setDefaultCellBorder(0);
          table1.setPadding(0);
               
          cell = new Cell();
          cell.setHorizontalAlignment("center");
          cell.setVerticalAlignment("middle");
          //cell.add(new Phrase("\n", new Font(Font.TIMES_ROMAN, 6, Font.NORMAL)));
          cell.setBorder(Rectangle.BOTTOM | Rectangle.TOP);
          cell.setBorderWidth(1.1f);
          cell.add(footerPhrase);
          cell.add(new Phrase(" 1\n ",
    new Font(Font.TIMES_ROMAN, 6, Font.NORMAL)));
          //cell.add(footerPhrase2);
                  
          cell.setBorder(0); table1.addCell(cell);
            
          document.add(table1);
    */
    document.newPage();

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(title.toUpperCase() + " AGREEMENT\n", new Font(Font.TIMES_ROMAN, 20, Font.BOLD)));
    cell.setBackgroundColor(Color.lightGray);
    cell.setLeading(19);
    cell.setUseDescender(true);
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    Paragraph para = new Paragraph(8, "\n\n" + text.toString(), tnr8);

    document.add(para);

    Phrase p;

    document.add(spacer);
    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setWidths(twoC);
    table1.setPadding(0);
    p = new Phrase("Date:\n\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(p);
    cell.setBorder(0);
    table1.addCell(cell);
    p = new Phrase("Signed:\n\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(p);
    cell.setBorder(0);
    table1.addCell(cell);

    p = new Phrase("_______________________", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(p);
    cell.setBorder(0);
    table1.addCell(cell);
    p = new Phrase("_________________________________________________________________",
            new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(p);
    cell.setBorder(0);
    table1.addCell(cell);

    table1.addCell(blank);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("            General Contractor                                               Title\n",
            tnr8));
    cell.setBorder(0);
    table1.addCell(cell);

    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setColspan(2);
    cell.add(new Phrase("\nThis " + title
            + " Agreement supercedes all other proposals, documents, and negotiations whether written or verbal\n\n",
            new Font(Font.TIMES_ROMAN, 8, Font.BOLDITALIC)));
    cell.setBorder(0);
    table1.addCell(cell);

    p = new Phrase("Date:\n\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(p);
    cell.setBorder(0);
    table1.addCell(cell);
    p = new Phrase("Signed:\n\n", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(p);
    cell.setBorder(0);
    table1.addCell(cell);

    p = new Phrase("_______________________", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(p);
    cell.setBorder(0);
    table1.addCell(cell);
    p = new Phrase("_________________________________________________________________",
            new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(p);
    cell.setBorder(0);
    table1.addCell(cell);

    table1.addCell(blank);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(
            "            " + cTitle + "                                                       Title\n", tnr8));
    cell.setBorder(0);
    table1.addCell(cell);
    table1.setCellsFitPage(true);
    table1.setTableFitsPage(true);
    document.add(table1);

    document.newPage();

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(cTitle.toUpperCase() + " INFORMATION\n", new Font(Font.TIMES_ROMAN, 20, Font.BOLD)));
    cell.setBackgroundColor(Color.lightGray);
    cell.setLeading(19);
    cell.setUseDescender(true);
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    document.add(new Phrase("\n"));

    table1 = new Table(5, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(1);
    table1.setWidths(five);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("middle");

    cell.add(new Phrase("Federal I.D. : ", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(15);
    cell.add(new Phrase(federal_id, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setUseDescender(true);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");

    cell.add(new Phrase("(Both Required)", new Font(Font.TIMES_ROMAN, 8, Font.BOLD)));

    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("License Number : ", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(15);
    cell.add(new Phrase(license_number, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setUseDescender(true);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("middle");

    cell.add(new Phrase("Contact : ", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(15);
    cell.setUseDescender(true);
    cell.add(new Phrase(contactName, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("", new Font(Font.TIMES_ROMAN, 8, Font.BOLD)));
    cell.setUseDescender(true);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Company : ", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(15);
    cell.add(new Phrase(subName, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setUseDescender(true);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Telephone : ", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(15);
    cell.setUseDescender(true);
    cell.add(new Phrase(telephone, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("", new Font(Font.TIMES_ROMAN, 8, Font.BOLD)));
    cell.setUseDescender(true);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("Fax : ", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(15);
    cell.add(new Phrase(fax, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setUseDescender(true);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("middle");

    cell.add(new Phrase("Mobile phone : ", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(15);
    cell.add(new Phrase(mobile, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setUseDescender(true);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("", new Font(Font.TIMES_ROMAN, 8, Font.BOLD)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("E-mail : ", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.setBorder(15);
    cell.add(new Phrase(email, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setUseDescender(true);
    table1.addCell(cell);
    document.add(table1);

    //document.add(spacer);

    table1 = new Table(1, 1);
    //table1.setBorderWidth(4);
    //table1.setBorderColor(Color.lightGray);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setBorder(0);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    if (insure)
        cell.add(new Phrase("Please attach a COPY of your current state license to this page:",
                new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
    else
        cell.add(new Phrase("", new Font(Font.TIMES_ROMAN, 12, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);
    document.add(spacer);

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    if (insure)
        cell.add(new Phrase("\n\nAttach\nCopy of\nContractor's\nLicense\nHere\n(If Applicable)",
                new Font(Font.TIMES_ROMAN, 24, Font.NORMAL, Color.lightGray)));
    else
        cell.add(new Phrase("", new Font(Font.TIMES_ROMAN, 24, Font.NORMAL, Color.lightGray)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    //document.setMargins(72, 72, 36, 36);
    document.newPage();

    table1 = new Table(1, 1);
    table1.setOffset(0);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setWidth(100);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(title.toUpperCase() + " EXHIBIT \"A\"\n", new Font(Font.TIMES_ROMAN, 20, Font.BOLD)));
    cell.setLeading(6);
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell(new Phrase("\n", new Font(Font.TIMES_ROMAN, 8)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("CONTRACT DOCUMENTS, PLANS,\nSPECIFICATIONS, ADDENDUMS, ETC.\n",
            new Font(Font.TIMES_ROMAN, 16, Font.BOLD)));
    cell.setUseDescender(true);
    cell.setLeading(17);
    cell.setBackgroundColor(Color.lightGray);
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("\n" + subName
            + " is responsible to verify versions, dates, and completeness of documents that were used in the preparation of the "
            + cTitle + "'s bid proposal before signing this " + title + " Agreement\n", tnr8));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("This " + title + " Agreement includes, but is not limited to the following items:",
            new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setUseDescender(true);
    cell.setBorder(Rectangle.BOTTOM);
    cell.setBorderWidth(0.5f);
    table1.addCell(cell);
    document.add(table1);

    Paragraph prgh = new Paragraph("\n" + bidDocuments + "\n", tnr8);
    prgh.setLeading(10);
    document.add(prgh);

    document.add(spacer);
    /*
     p = new Phrase("\n"+bidDocuments, new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
     p.setLeading(10);
     cell= new Cell(p);
     cell.setBorder(Rectangle.TOP | Rectangle.BOTTOM);
     cell.setBorderWidth(0.5f);
     //cell.setBorderColor(Color.lightGray);
     cell.setHorizontalAlignment("left");
     cell.setVerticalAlignment("middle");
     //cell.setLeading(10);
     cell.setUseDescender(true);
     table1.addCell(cell);
     */

    table1 = new Table(1, 1);
    table1.setOffset(0);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setWidth(100);
    table1.setTableFitsPage(true);
    p = new Phrase("\nPlease note below all verbal conditions or instructions, if any, that the " + cTitle
            + " has received during the bid process which might affect the scope of work as required by the contract documents",
            new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
    p.setLeading(10);
    cell = new Cell(p);
    cell.setBorder(Rectangle.TOP);
    cell.setBorderWidth(0.5f);
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    table1.addCell(cell);

    document.add(table1);

    document.newPage();

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setOffset(0);
    table1.setWidth(100);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(title.toUpperCase() + " EXHIBIT \"B\"\n", new Font(Font.TIMES_ROMAN, 20, Font.BOLD)));
    cell.setLeading(6);
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell(new Phrase("\n", new Font(Font.TIMES_ROMAN, 8)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase("SCOPE OF WORK\n", new Font(Font.TIMES_ROMAN, 16, Font.BOLD)));
    cell.setBackgroundColor(Color.lightGray);
    cell.setUseDescender(true);
    cell.setLeading(17);
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(
            "\nThis " + title + " Agreement includes, but is not limited to the following items:\n\n",
            new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
    cell.setBorder(Rectangle.BOTTOM);
    cell.setBorderWidth(0.5f);
    table1.addCell(cell);

    document.add(table1);

    prgh = new Paragraph("\n" + contractDescription + "\n", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL));
    prgh.setLeading(10);
    document.add(prgh);
    //cell= new Cell(prgh);
    //cell.setBorder(Rectangle.TOP | Rectangle.BOTTOM);
    //cell.setBorderWidth(0.5f);
    //cell.setBorderColor(Color.lightGray);
    //cell.setHorizontalAlignment("left");
    //cell.setVerticalAlignment("middle");
    //cell.setLeading(10);
    //cell.setUseDescender(true);
    //table1.addCell(cell);

    document.add(spacer);

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setOffset(0);
    table1.setWidth(100);
    table1.setTableFitsPage(true);

    p = new Phrase("\nAll " + cTitle
            + " bid proposal conditions that are outside of, in addition to or are limiting of conditions contained in the Contract Documents are of no effect and are invalid to the "
            + title + " Agreement unless expressly included in the description above.", tnr8);
    p.setLeading(10);
    cell = new Cell(p);
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.setBorder(Rectangle.TOP);
    cell.setBorderWidth(0.5f);
    table1.addCell(cell);

    document.add(table1);

    //document.setMargins(10, 10, 30, 30);

    document.newPage();

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setOffset(0);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(title.toUpperCase() + " EXHIBIT \"C\"\n", new Font(Font.TIMES_ROMAN, 20, Font.BOLD)));
    cell.setLeading(6);
    cell.setBorder(0);
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell(new Phrase("\n", new Font(Font.TIMES_ROMAN, 8)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("center");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(cTitle.toUpperCase() + " SPECIAL PROVISIONS AND REQUIREMENTS\n",
            new Font(Font.TIMES_ROMAN, 16, Font.BOLD)));
    cell.setBackgroundColor(Color.lightGray);
    cell.setUseDescender(true);
    cell.setLeading(17);
    cell.setBorder(0);
    table1.addCell(cell);

    document.add(table1);

    int count = 1;

    if (insure) {

        table1 = new Table(1, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(0);
        table1.setOffset(4);
        cell = new Cell();
        cell.add(new Phrase("1.     Insurance Provisions (If Applicable)",
                new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
        //cell.setLeading(6);
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);
        count++;
        table1 = new Table(2, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(0);
        table1.setWidths(twoD);
        table1.setOffset(0);
        cell = new Cell();
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.setLeading(6);
        cell.add(new Phrase(
                "a.  The " + cTitle + " is required to name the following as additional Primary-Insured:",
                tnr8));
        table1.addCell(blank);
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);

        table1 = new Table(2, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(0);
        table1.setWidths(twoE);
        table1.setOffset(0);
        cell = new Cell();
        cell.setHorizontalAlignment("right");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase("Contractor:  ", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase(attr.get("full_name"), new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        cell.setHorizontalAlignment("right");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase("Owner:  ", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase(ownerName, new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        cell.setHorizontalAlignment("right");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase("Other:  ", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase("_______________________________________", tnr8));
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);

        table1 = new Table(2, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(0);
        table1.setWidths(twoD);
        table1.setOffset(4);
        p = new Phrase("b.  The " + cTitle
                + " must provide verification of current Worker's Compensation coverage with reference to "
                + jobName + " on the policy.", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL));
        p.setLeading(8);
        cell = new Cell(p);
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.setLeading(8);
        table1.addCell(blank);
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);
    }

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    table1.setOffset(4);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(count + ".     Release Authorizations", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    count++;
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);
    table1 = new Table(2, 1);
    table1.setOffset(4);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    table1.setWidths(twoD);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    p = new Phrase(
            "List any Owners, Partners, and/or Corporate Officers who are legally authorized to sign for "
                    + subName
                    + " and who will be signing the MONTHLY REQUEST FOR PAYMENT, FINAL REQUEST FOR PAYMENT, and LIEN WAIVER documents:\n\n",
            tnr8);
    p.setLeading(8);
    p1 = new Phrase(
            "       ______________________________________________________________________          ______________________________________________________________________\n",
            new Font(Font.TIMES_ROMAN, 6, Font.ITALIC));
    //p1.setLeading(0);
    Phrase p2 = new Phrase(
            "       Printed name and title                                                                                                                   Signature\n\n",
            new Font(Font.TIMES_ROMAN, 6, Font.ITALIC));
    //cell.setLeading(8);
    cell.add(p);
    cell.add(p1);
    cell.add(p2);
    cell.add(p1);
    cell.add(p2);
    cell.add(p1);
    cell.add(p2);
    table1.addCell(blank);
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(3);
    table1.setOffset(0);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(count + ".     Shop Drawings - Samples - Submittals",
            new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);
    count++;

    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    table1.setWidths(twoD);
    table1.setOffset(2);
    p = new Phrase(
            "All shop drawings, materials samples, and submittals shall be submitted to the Contractor within 30 days of the issuance of this "
                    + title
                    + " Agreement unless specifically noted below.  All submitted items shall be in number and type as per the contract documents including, but not limited to, the following:",
            tnr8);
    p.setLeading(8);
    cell = new Cell(p);
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    table1.addCell(blank);
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    table1.setWidths(twoF);
    table1.setOffset(4);

    p = new Phrase("--The number of copies of each submittal for " + jobName + " is " + submittal_copies
            + ".\n--All submittals, of any type, are due on or before " + dueDate
            + " unless specifically noted otherwise.\n", tnr8);
    p.setLeading(8);
    cell = new Cell(p);
    table1.addCell(blank);
    cell.setBorder(0);
    table1.addCell(cell);
    String submittals = "";
    if (!submittalVector.isEmpty()) {
        p = new Phrase("            Due Date:\n", new Font(Font.TIMES_ROMAN, 8, Font.BOLD));
        p.setLeading(8);
        cell = new Cell(p);
        cell.setColspan(2);
        cell.setBorder(0);
        table1.addCell(cell);
        for (int i = 0; i < submittalVector.size(); i++) {
            submittals += (String) submittalVector.elementAt(i) + "\n";
        }
        p = new Phrase(submittals, new Font(Font.TIMES_ROMAN, 8, Font.NORMAL));
        p.setLeading(8);
        cell = new Cell(p);
        table1.addCell(blank);
        cell.setBorder(0);
        table1.addCell(cell);
    } else {
        p = new Phrase("\nSubmittals required per contract documents and specifications.\n",
                new Font(Font.TIMES_ROMAN, 8, Font.BOLD));
        p.setLeading(8);
        cell = new Cell(p);
        table1.addCell(blank);
        cell.setBorder(0);
        table1.addCell(cell);
    }
    p = new Phrase("\n(" + subName
            + " is responsible for all submittals required in the Contract Documents as pertaining to labor and materials included in the scope of this "
            + title + " Agreement regardless of items listed, not listed, or incorrectly listed above.)",
            new Font(Font.TIMES_ROMAN, 6, Font.ITALIC));
    p.setLeading(8);
    cell = new Cell(p);

    table1.addCell(blank);
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(1);
    table1.setWidths(twoD);
    table1.setOffset(2);
    p = new Phrase(cTitle.toUpperCase()
            + " acknowledges that review and approval of any type of submittal which deviates from the Project Plans and Specifications does NOT relieve the "
            + cTitle
            + " from costs, penalties and all other remedies required to meet the published specifications where the "
            + cTitle
            + " failed to notify the Owner/Architect/Contractor in writing of the variations from the specifications and failed to obtain written approval for EACH variation from the published specifications.",
            tnr8);
    p.setLeading(8);
    cell = new Cell(p);
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    //cell.setLeading(8);
    table1.addCell(blank);
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    table1 = new Table(1, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    table1.setOffset(2);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    cell.add(new Phrase(count + ".     Project Close-out", new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);
    count++;
    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    table1.setOffset(4);
    table1.setWidths(twoD);
    p = new Phrase(
            "All project close-out documents, materials, and Owner-training required by the Contract Documents shall be submitted to the Contractor PRIOR to payment of the "
                    + cTitle
                    + "'s 90% completion payment request.  The requirements shall include, but not be limited to, the following:",
            tnr8);
    p.setLeading(8);
    cell = new Cell(p);
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("middle");
    //cell.setLeading(8);
    table1.addCell(blank);
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    table1 = new Table(2, 1);
    table1.setBorderWidth(0);
    table1.setWidth(100);
    //table1.setDefaultCellBorder(0);
    table1.setPadding(0);
    table1.setOffset(0);
    table1.setWidths(twoG);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase("\"O & M\" Submittals: ", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase(omSubmittals, new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase("Full Warranty: ", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase(fullWarranty, new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase("Up-to-date Lien Release(s): ", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase(lienReleases, new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase("Signed Training Form: ", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase(signedTraining, new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase("Materials-Equip-Specialty Items: ", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase(specialtyItems, new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("right");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase("Other Items: ", new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    cell = new Cell();
    cell.setHorizontalAlignment("left");
    cell.setVerticalAlignment("top");
    cell.add(new Phrase(otherItems, new Font(Font.TIMES_ROMAN, 8, Font.NORMAL)));
    cell.setBorder(0);
    table1.addCell(cell);
    document.add(table1);

    if (insure) {
        table1 = new Table(1, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(3);
        table1.setOffset(2);
        cell = new Cell();
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase(count + ".     " + cTitle + " Safety Program (If Applicable)",
                new Font(Font.TIMES_ROMAN, 10, Font.BOLD)));
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);
        table1 = new Table(2, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(0);
        table1.setOffset(2);
        table1.setWidths(twoD);
        p = new Phrase(
                cTitle + " will submit one copy of the " + cTitle + "'s job-specific safety program to "
                        + attr.get("full_name")
                        + " before any equipment, manpower, or materials are brought onto the Project site.  ",
                tnr8);
        p.setLeading(8);
        cell = new Cell(p);
        p = new Phrase(cTitle + " will require it's " + cTitle.toLowerCase()
                + "s to have in place a job-specific safety program before they enter the Project site.", tnr8);
        p.setLeading(8);
        cell.add(p);
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        //cell.setLeading(8);

        table1.addCell(blank);
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);
    }

    if (insure) {
        document.newPage();

        table1 = new Table(1, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(3);
        table1.setOffset(0);
        cell = new Cell();
        cell.setHorizontalAlignment("center");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase(title.toUpperCase() + " EXHIBIT \"D\"", new Font(Font.TIMES_ROMAN, 20, Font.BOLD)));
        cell.setLeading(6);
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell(new Phrase("\n", new Font(Font.TIMES_ROMAN, 8)));
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        cell.setHorizontalAlignment("center");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase(cTitle.toUpperCase() + "'S COST BREAKDOWN\n",
                new Font(Font.TIMES_ROMAN, 16, Font.BOLD)));
        cell.setBackgroundColor(Color.lightGray);
        cell.setUseDescender(true);
        cell.setLeading(17);
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);
        table1 = new Table(1, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setPadding(0);
        table1.setOffset(2);
        p = new Phrase("The following information is to be supplied by " + subName + " for " + jobName
                + ". List all SUPPLIERS and SUBCONTRACTORS for approval and payment confirmation (attach additional pages if needed):",
                new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
        p.setLeading(12);
        cell = new Cell(p);
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase(
                "     Name                                        City                                  Phone                                                                            Estimated Dollar Amount",
                tnr8));
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        p = new Phrase(
                "________________________________________________________________________  $___________________\n",
                new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        for (int i = 0; i < 10; i++) {
            cell.add(p);
        }
        cell.setBorder(0);
        table1.addCell(cell);

        p = new Phrase(
                "Supplier accepts full responsibility for acts and omissions of his subcontractors and suppliers.  No suppliers or subcontractors are to be added or deleted without prior notification to "
                        + attr.get("full_name") + ".",
                new Font(Font.TIMES_ROMAN, 8, Font.ITALIC));
        p.setLeading(10);
        cell = new Cell(p);
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.setLeading(15);
        cell.setBorder(0);
        table1.addCell(cell);
        p = new Phrase(
                "List the primary phases of your contracted scope of work and the associated costs.  This information may be released to the Owner if disputes arise over future billings and progress payments.",
                new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
        p.setLeading(12);
        cell = new Cell(p);
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.setLeading(15);
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        cell.add(new Phrase(
                "Description/Phase of Work                     Labor                      Material                    Equipment/Tools       Sub-subcontractor     Total",
                tnr8));
        cell.setBorder(0);
        table1.addCell(cell);
        cell = new Cell();
        p = new Phrase(
                "________________________  $____________ $____________ $____________ $____________ $____________ \n",
                new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
        cell.setHorizontalAlignment("left");
        cell.setVerticalAlignment("middle");
        for (int i = 0; i < 13; i++) {
            cell.add(p);
        }
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);

        document.add(spacer);

        table1 = new Table(1, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setOffset(2);
        table1.setPadding(1);
        cell = new Cell();
        cell.setHorizontalAlignment("center");
        cell.setVerticalAlignment("middle");
        //cell.setLeading(10);
        cell.add(new Phrase(subName, new Font(Font.TIMES_ROMAN, 10, Font.UNDERLINE)));
        cell.add(new Phrase("\n" + cTitle, new Font(Font.TIMES_ROMAN, 6, Font.ITALIC)));
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);
        document.add(spacer);
        document.add(spacer);

        table1 = new Table(1, 1);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        table1.setOffset(0);
        cell = new Cell();
        cell.setHorizontalAlignment("center");
        cell.setVerticalAlignment("middle");
        //cell.setLeading(10);
        cell.add(new Phrase("By:____________________________", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
        cell.add(new Phrase("\nPrint Name of Authorized Company Officer",
                new Font(Font.TIMES_ROMAN, 6, Font.ITALIC)));
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);
        document.add(spacer);
        document.add(spacer);
        table1 = new Table(1, 1);
        table1.setOffset(0);
        table1.setBorderWidth(0);
        table1.setWidth(100);
        //table1.setDefaultCellBorder(0);
        cell = new Cell();
        cell.setHorizontalAlignment("center");
        cell.setVerticalAlignment("middle");
        //cell.setLeading(10);
        cell.add(new Phrase("By:____________________________", new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)));
        cell.add(new Phrase("\nAuthorized Signature", new Font(Font.TIMES_ROMAN, 6, Font.ITALIC)));
        cell.setBorder(0);
        table1.addCell(cell);
        document.add(table1);

    }

}

From source file:com.util.load.RecordDocCreate.java

/**
 * cell/*from   ww  w . j  a  v a2 s  .com*/
 * @param cell
 */
public static void setLocal(Cell cell) {
    cell.setVerticalAlignment(1);
    cell.setHorizontalAlignment(1);
}

From source file:datasoul.servicelist.ServiceListExporterDocument.java

License:Open Source License

public void addServicePlan() throws DocumentException {

    ServiceListTable slt = ServiceListTable.getActiveInstance();

    Paragraph p = new Paragraph(
            java.util.ResourceBundle.getBundle("datasoul/internationalize").getString("SERVICE PLAN"),
            FontFactory.getFont(FontFactory.HELVETICA, 12));
    p.setAlignment(Element.ALIGN_CENTER);
    document.add(p);//from   www.j a  va 2 s .c  o  m

    p = new Paragraph(slt.getTitle(), FontFactory.getFont(FontFactory.HELVETICA_BOLD, 16));
    p.setAlignment(Element.ALIGN_CENTER);
    document.add(p);

    Table t = new Table(4);
    t.setWidths(new int[] { 10, 5, 50, 35 });
    t.setPadding(2.0f);
    t.setWidth(100.0f);

    t.addCell(createHeaderCell(
            java.util.ResourceBundle.getBundle("datasoul/internationalize").getString("TIME")));
    t.addCell(
            createHeaderCell(java.util.ResourceBundle.getBundle("datasoul/internationalize").getString("MIN")));
    t.addCell(createHeaderCell(
            java.util.ResourceBundle.getBundle("datasoul/internationalize").getString("TITLE")));
    t.addCell(createHeaderCell(
            java.util.ResourceBundle.getBundle("datasoul/internationalize").getString("NOTES")));

    for (int i = 0; i < slt.getRowCount(); i++) {

        ServiceItem si = (ServiceItem) slt.getServiceItem(i);
        Cell c;

        // Start time
        c = new Cell(si.getStartTime());
        c.setMaxLines(1);
        c.setVerticalAlignment(Cell.ALIGN_MIDDLE);
        c.setHorizontalAlignment(Cell.ALIGN_CENTER);
        t.addCell(c);

        // Duration
        c = new Cell(Integer.toString(si.getDuration()));
        c.setMaxLines(1);
        c.setVerticalAlignment(Cell.ALIGN_MIDDLE);
        c.setHorizontalAlignment(Cell.ALIGN_RIGHT);
        t.addCell(c);

        // Title
        c = new Cell(si.getTitle());
        c.setVerticalAlignment(Cell.ALIGN_MIDDLE);
        t.addCell(c);

        // Notes
        c = new Cell(si.getNotes());
        c.setVerticalAlignment(Cell.ALIGN_MIDDLE);
        t.addCell(c);

    }

    document.add(t);

    p = new Paragraph(java.util.ResourceBundle.getBundle("datasoul/internationalize").getString("NOTES"),
            FontFactory.getFont(FontFactory.HELVETICA_BOLD));
    document.add(p);

    p = new Paragraph(slt.getNotes(), FontFactory.getFont(FontFactory.HELVETICA));
    p.setIndentationLeft(10.0f);
    document.add(p);

    document.newPage();

}

From source file:datasoul.servicelist.ServiceListExporterDocument.java

License:Open Source License

private Cell createHeaderCell(String text) throws BadElementException {

    Cell c = new Cell(new Chunk(text, FontFactory.getFont(FontFactory.HELVETICA_BOLD)));
    c.setMaxLines(1);/*from w  w  w.  j  a  va  2 s.co m*/
    c.setHeader(true);
    c.setVerticalAlignment(Cell.ALIGN_MIDDLE);
    c.setHorizontalAlignment(Cell.ALIGN_CENTER);
    return c;

}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * set a table for a sessionDataObject// w w  w.  java2  s .  co  m
 * 
 * @param document
 * @param sessionDataObject
 * @param mRequest
 */
private void setDetailSessionObjectTable(Document document, SessionDataObjectInformation sessionDataObject,
        HttpServletRequest mRequest) {
    try {
        int nbCol = 6;
        int nbRows = 5;
        List<Param> listParam = sessionDataObject.getListParameters();
        int idParam = 0;
        int nbParam = listParam.size();
        nbRows = Math.max(nbRows, nbParam);
        boolean secondGraph = sessionDataObject.getGraph2Path() != null
                && !sessionDataObject.getGraph2Path().isEmpty();
        if (secondGraph)
            nbCol += 1;

        Table table = new Table(nbCol);

        int l = 0;

        int[] headersWidth = new int[nbCol];

        headersWidth[l++] = 10; // def
        headersWidth[l++] = 6; // parameters title
        headersWidth[l++] = 6; // parameters value
        headersWidth[l++] = 12; // Thumbnail
        headersWidth[l++] = 12; // Snapshot
        headersWidth[l++] = 22; // Graph
        if (secondGraph)
            headersWidth[l++] = 22; // Graph2
        table.setWidths(headersWidth);

        table.setWidth(100); // percentage
        table.setPadding(1);
        table.setCellsFitPage(true);
        table.setTableFitsPage(true);
        table.setBorderWidth(1);
        table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
        // no header
        // first Row
        // firstCell: def : date
        SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
        String collectTime = formatter.format(sessionDataObject.getDataTime());
        Cell c = getCellValue(collectTime);
        c.setBorderWidthBottom(0);
        table.addCell(c);
        // second Cell param
        setCellParam(table, listParam, idParam++, 1);
        // third Cell : thumbnail
        Cell cellThumbnail = getCellImage(sessionDataObject.getImageThumbnailPath());
        cellThumbnail.setRowspan(nbRows);
        cellThumbnail.setBorderWidth(0);
        table.addCell(cellThumbnail);
        // 4 Cell : snapshot
        Cell cellSnapshot = getCellImage(sessionDataObject.getCrystalSnapshotPath());
        cellSnapshot.setRowspan(nbRows);
        cellSnapshot.setBorderWidth(0);
        table.addCell(cellSnapshot);
        // 5 Cell : graph
        Cell cellGraph = getCellGraph(sessionDataObject);
        cellGraph.setRowspan(nbRows);
        cellGraph.setBorderWidth(0);
        table.addCell(cellGraph);
        // 6 Cell : graph2
        if (secondGraph) {
            Cell cellGraph2 = getCellImage(sessionDataObject.getGraph2Path());
            cellGraph2.setRowspan(nbRows);
            cellGraph2.setBorderWidth(0);
            table.addCell(cellGraph2);
        }

        // second row
        Cell c2 = getCellValue(sessionDataObject.getImagePrefix() + " " + sessionDataObject.getRunNumber());
        c2.setBorderWidth(0);
        table.addCell(c2);
        // param2
        setCellParam(table, listParam, idParam++, 1);

        // third row
        Cell c3 = getCellValue(sessionDataObject.getExperimentType());
        c3.setBorderWidth(0);
        table.addCell(c3);
        // param3
        setCellParam(table, listParam, idParam++, 1);

        // 4 row
        Cell c4 = getCellValue(sessionDataObject.getSampleNameProtein());
        c4.setBorderWidth(0);
        table.addCell(c4);
        // param4
        setCellParam(table, listParam, idParam++, 1);

        // 5 row
        Cell c5 = new Cell();
        c5.setHorizontalAlignment(Element.ALIGN_LEFT);
        c5.add(new Paragraph(sessionDataObject.getComments(), FONT_DOC_ITALIC));
        c5.setBorderWidth(0);
        c5.setRowspan(nbRows - 4);
        table.addCell(c5);
        // param4
        setCellParam(table, listParam, idParam++, 1);

        for (int i = 5; i < nbRows; i++) {
            setCellParam(table, listParam, idParam++, 1);
        }

        // results
        // workflow result status
        if (sessionDataObject.isWorkflow()) {
            Cell resultCell = getWorkflowResult(sessionDataObject.getWorkflow(), mRequest);
            resultCell.setHorizontalAlignment(Element.ALIGN_LEFT);
            resultCell.setColspan(nbCol);
            table.addCell(resultCell);
        }
        // collect OSC
        if ((sessionDataObject.isDataCollection()
                && !sessionDataObject.getDataCollection().getDataCollectionGroupVO().getExperimentType()
                        .equals(Constants.EXPERIMENT_TYPE_CHARACTERIZATION))) {
            DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode,
                    proposalNumber, mRequest);
            DataCollection3VO dataCollection = sessionDataObject.getDataCollection();
            DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dataCollection,
                    getSampleRankingVO(dataCollection.getDataCollectionId()),
                    getAutoProcRankingVO(dataCollection.getDataCollectionId()));
            Cell resultCell = getAutoProcResultStatus(dcInfo);
            resultCell.setColspan(nbCol);
            resultCell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table.addCell(resultCell);
            document.add(table);
            document.add(new Paragraph(" ", VERY_SMALL_FONT));

            setAutoProcResultsTable(document, dcInfo);
        } else if (sessionDataObject.isWorkflow() && sessionDataObject.getWorkflow().isMXPressEOIA()) { // MXPRESS
            // wf
            DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode,
                    proposalNumber, mRequest);
            DataCollection3VO dataCollection = sessionDataObject.getListDataCollection().get(0);
            DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dataCollection,
                    getSampleRankingVO(dataCollection.getDataCollectionId()),
                    getAutoProcRankingVO(dataCollection.getDataCollectionId()));
            Cell resultCell = getAutoProcResultStatus(dcInfo);
            resultCell.setHorizontalAlignment(Element.ALIGN_LEFT);
            resultCell.setColspan(nbCol);
            table.addCell(resultCell);

            document.add(table);
            document.add(new Paragraph(" ", VERY_SMALL_FONT));

            setAutoProcResultsTable(document, dcInfo);
        } else if ((sessionDataObject.isDataCollection()
                && sessionDataObject.getDataCollection().getDataCollectionGroupVO().getExperimentType()
                        .equals(Constants.EXPERIMENT_TYPE_CHARACTERIZATION))) { // Characterization
            DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode,
                    proposalNumber, mRequest);
            DataCollection3VO dataCollection = sessionDataObject.getDataCollection();
            DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dataCollection,
                    getSampleRankingVO(dataCollection.getDataCollectionId()),
                    getAutoProcRankingVO(dataCollection.getDataCollectionId()));
            Cell resultCell = getCharacterizationResultStatus(dcInfo, mRequest);
            resultCell.setColspan(nbCol);
            resultCell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table.addCell(resultCell);
            document.add(table);
            document.add(new Paragraph(" ", VERY_SMALL_FONT));

            setStrategyTable2(document, dcInfo);
        } else {
            List<Param> listResults = sessionDataObject.getListResults();
            if (listResults != null) {
                int nbResults = listResults.size();
                for (int j = 0; j < nbResults; j++) {
                    setCellParam(table, listResults, j, 2);
                    Cell eCell = getEmptyCell(nbCol - 3);
                    eCell.setBorderWidth(0);
                    table.addCell(eCell);
                }
            }
            document.add(table);
            document.add(new Paragraph(" ", FONT_SPACE));
        }

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

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * set a cell for a param or empty cell if no more param in the list
 * //from  w  w  w.j  a v  a2  s . c  o  m
 * @param table
 * @param listParam
 * @param id
 * @param colSpanTitle
 * @throws Exception
 */
private void setCellParam(Table table, List<Param> listParam, int id, int colSpanTitle) throws Exception {
    if (id < listParam.size()) {
        Param param = listParam.get(id);
        Cell cellTitle = new Cell();
        cellTitle.setBorderWidth(0);
        cellTitle.setColspan(colSpanTitle);
        cellTitle.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cellTitle.add(new Paragraph(param.getText(), FONT_DOC_PARAM_TITLE));
        table.addCell(cellTitle);

        Cell cellValue = new Cell();
        cellValue.setBorderWidth(0);
        cellValue.setHorizontalAlignment(Element.ALIGN_LEFT);
        cellValue.add(new Paragraph(param.getValue(), FONT_DOC));
        table.addCell(cellValue);
    } else {
        Cell cellTitle = getEmptyCell(1);
        cellTitle.setBorderWidth(0);
        cellTitle.setColspan(colSpanTitle);
        table.addCell(cellTitle);

        Cell cellValue = getEmptyCell(1);
        cellValue.setBorderWidth(0);
        table.addCell(cellValue);
    }
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

private void setImagesTable(Document document, DataCollectionInformation dcInfo) throws Exception {
    String imgCrystal = dcInfo.getPathjpgCrystal();
    String imgDiff1 = dcInfo.getPathDiffractionImg1();
    String imgDiff2 = dcInfo.getPathDiffractionImg2();
    int nbCol = 0;
    if (imgCrystal != null && !imgCrystal.equals("")) {
        nbCol++;// w  w  w .  ja va  2s.c  o m
    }
    if (imgDiff1 != null && !imgDiff1.equals("")) {
        nbCol++;
    }
    if (imgDiff2 != null && !imgDiff2.equals("")) {
        nbCol++;
    }
    if (nbCol > 0) {
        Table tableImage = new Table(nbCol);
        tableImage.setCellsFitPage(true);
        tableImage.setWidth(100); // percentage
        tableImage.getDefaultCell().setBorderWidth(0);
        tableImage.setBorderWidth(0);
        tableImage.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
        // ------------------------------------- Insert crystal image
        // ----------------------------
        if (imgCrystal != null && !imgCrystal.equals("")) {
            try {
                Image jpgCrystal = Image.getInstance(imgCrystal);
                jpgCrystal.scaleAbsolute(CRYSTAL_IMAGE_WIDTH, CRYSTAL_IMAGE_HEIGHT);
                Cell cellCrystalImage = new Cell(jpgCrystal);
                cellCrystalImage.setLeading(0);
                cellCrystalImage.setBorderWidth(0);
                cellCrystalImage.setHorizontalAlignment(Element.ALIGN_CENTER);
                tableImage.addCell(cellCrystalImage);
            } catch (IOException e) {
                tableImage.addCell(new Paragraph(imgCrystal + " not found", FONT_DOC));
            }
        }
        // --- Image 1
        if (imgDiff1 != null && !imgDiff1.equals("")) {
            try {
                Image jpg1 = Image.getInstance(imgDiff1);
                jpg1.scaleAbsolute(DIFF_IMAGE_WIDTH, DIFF_IMAGE_HEIGHT);
                Cell cellDiffractionThumbnail1 = new Cell(jpg1);
                cellDiffractionThumbnail1.setLeading(0);
                cellDiffractionThumbnail1.setBorderWidth(0);
                cellDiffractionThumbnail1.setHorizontalAlignment(Element.ALIGN_CENTER);
                tableImage.addCell(cellDiffractionThumbnail1);
            } catch (IOException e) {
                tableImage.addCell(new Paragraph(imgDiff1 + " not found", FONT_DOC));
            }
        }
        // --- Image 2
        if (imgDiff2 != null && !imgDiff2.equals("")) {
            try {
                Image jpg2 = Image.getInstance(imgDiff2);
                jpg2.scaleAbsolute(DIFF_IMAGE_WIDTH, DIFF_IMAGE_HEIGHT);
                Cell cellDiffractionThumbnail2 = new Cell(jpg2);
                cellDiffractionThumbnail2.setLeading(0);
                cellDiffractionThumbnail2.setBorderWidth(0);
                cellDiffractionThumbnail2.setHorizontalAlignment(Element.ALIGN_CENTER);
                tableImage.addCell(cellDiffractionThumbnail2);
            } catch (IOException e) {
                tableImage.addCell(new Paragraph(imgDiff2 + " not found", FONT_DOC));
            }
        }
        //
        document.add(tableImage);
        document.add(new Paragraph(" ", VERY_SMALL_FONT));
    }
}