Example usage for com.lowagie.text ListItem ListItem

List of usage examples for com.lowagie.text ListItem ListItem

Introduction

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

Prototype

public ListItem() 

Source Link

Document

Constructs a ListItem.

Usage

From source file:com.amphisoft.epub2pdf.content.XhtmlHandler.java

License:Open Source License

@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) {
    /*/*  ww  w.  j a v  a 2s.c  o  m*/
    if("ol".equals(qName) || "ul".equals(qName) || "li".equals(qName)) {
       System.err.print(qName + " ");
    }
     */
    currentSaxElemId = saxElemIdCounter;

    Map<String, String> attrMap = new HashMap<String, String>();
    // parse attributes
    for (int ai = 0; ai < attributes.getLength(); ai++) {
        attrMap.put(attributes.getQName(ai), attributes.getValue(ai));
    }
    String idAttr = attrMap.get("id");
    if (idAttr == null) {
        idAttr = "";
    }
    String className = attrMap.get("class");
    if (className == null) {
        className = "";
    }
    SaxElement sE = new SaxElement(qName, saxElemIdCounter++, className, idAttr, currentITextStyle);
    //printlnerr("startElement: " + sE.toString());
    saxElementStack.push(sE);

    try {
        if (attrMap.get("class") != null) {
            String[] elemClasses = attrMap.get("class").split(" ");

            for (String eClass : elemClasses) {

                StyleSpecText classTextStyles = styleMap.getTextStyleSpecFor(qName, eClass);
                if (classTextStyles != null) {
                    sE.applyTextStyles(classTextStyles);
                }

            }
        }
        if (attrMap.get("style") != null) {
            // TODO this needs more thought, and careful tracking of which tags are still open, etc.
            //String styleSource = attrMap.get("style");
            //CssStyleMap styleTagStyles = cssParser.getStylesFromStyleTag(styleSource);
            // ...
        }
        if (sE.textStyles == null) {
            try {
                int stackSize = saxElementStack.size();
                if (stackSize > 1) {
                    SaxElement enclosingElement = saxElementStack.elementAt(stackSize - 2);
                    StyleSpecText enclosingSST = enclosingElement.textStyles;
                    if (enclosingSST != null)
                        sE.applyTextStyles(enclosingSST);
                }
            } catch (Exception e) {
            }
        }

        StyleSpecText currentTextStyles = sE.textStyles;
        if (currentTextStyles != null) {
            if (currentTextStyles.isBold()) {
                currentITextStyle |= Font.BOLD;
            }
            if (currentTextStyles.isItalic()) {
                currentITextStyle |= Font.ITALIC;
            }
        }

        //System.err.println("PUSH -> " + saxElementStack);

        previousTag = currentTag;
        currentTag = qName;
        if (document.isOpen()) {
            if (XhtmlTags.NEWLINE.equals(qName)) {
                if (stack.size() > 0) {
                    TextElementArray currentTEA = (TextElementArray) stack.peek();
                    currentTEA.add(Chunk.NEWLINE);
                } else if (specialParagraph != null) {
                    specialParagraph.add(Chunk.NEWLINE);
                }
            }

            updateStack();

            String xmlElementId = attrMap.get("id");

            if (XhtmlTags.ANCHOR.equals(qName)) {
                //concession to nonconformists...
                if (xmlElementId == null) {
                    xmlElementId = attrMap.get("name");
                }
                Anchor anchor = textFactory.newAnchor();
                String ref = attrMap.get(XhtmlTags.REFERENCE);

                if (ref != null) {
                    int aNameStartIdx = ref.lastIndexOf("#") + 1;
                    ref = ref.substring(aNameStartIdx);
                    anchor.setReference(ref);
                }
                if (xmlElementId != null) {
                    anchor.setName(xmlElementId);
                }
                pushToStack(anchor);
            } else {
                if (xmlElementId != null) {
                    //flushStack();
                    Anchor dest = textFactory.newAnchor();
                    dest.setName(xmlElementId);
                    pushToStack(dest);
                    //flushStack();
                }
                for (int i = 0; i < 6; i++) {
                    if (XhtmlTags.H[i].equals(qName)) {
                        flushStack();
                        freshParagraph = true;
                        currentITextStyle |= Font.BOLD;
                        specialParagraph = textFactory.newHeadline(i + 1);
                        return;
                    }
                }
                if ("blockquote".equals(qName)) {
                    flushStack();
                    freshParagraph = true;
                    Paragraph p = textFactory.newParagraph();
                    p.setIndentationLeft(50);
                    p.setIndentationRight(20);
                    p.setAlignment(defaultAlignment);
                    pushToStack(p);
                } else if (XhtmlTags.PARAGRAPH.equals(qName)) {
                    flushStack();
                    freshParagraph = true;
                    Paragraph p = textFactory.newParagraph();
                    pushToStack(p);
                } else if (XhtmlTags.DIV.equals(qName)) {
                    if (stack.size() > 0 && stack.peek().getChunks().size() > 0) {
                        flushStack();
                    }
                    if (stack.size() == 0) {
                        Paragraph brandNewParagraph = textFactory.newParagraph();
                        pushToStack(brandNewParagraph);
                        freshParagraph = true;
                    }
                } else if (XhtmlTags.PRE.equals(qName)) {
                    flushStack();
                    freshParagraph = true;
                    Paragraph p = textFactory.newParagraphPre();
                    pushToStack(p);
                } else if (XhtmlTags.ORDEREDLIST.equals(qName)) {
                    flushStack();
                    List oList = new List(List.ORDERED, 10);
                    pushToStack(oList);
                } else if (XhtmlTags.UNORDEREDLIST.equals(qName)) {
                    flushStack();
                    List uList = new List(List.UNORDERED, 10);
                    pushToStack(uList);
                } else if (XhtmlTags.LISTITEM.equals(qName)) {
                    freshParagraph = true;
                    ListItem listItem = new ListItem();
                    pushToStack(listItem);
                } else if (XhtmlTags.IMAGE.equals(qName)) {
                    handleImage(attributes);
                } else if (qName != null && qName.endsWith("image")) {
                    handleSvgImage(attributes);
                } else if (XhtmlTags.LINK.equals(qName)) {
                    // if it's a stylesheet, parse it & update current-style
                    if ("stylesheet".equals(attrMap.get("rel")) && "text/css".equals(attrMap.get("type"))
                            && attrMap.get("href") != null) {
                        String cssHref = xhtmlDir.getAbsoluteFile().toURI().toString() + attrMap.get("href");
                        CssStyleMap stylesFromLink = cssParser.getStylesFromFileURI(cssHref);
                        if (stylesFromLink != null) {
                            styleMap.updateWith(stylesFromLink);
                        }
                    }
                } else if (XhtmlTags.STYLE.equals(qName)) {
                    inStyleTag = true;
                } else if (XhtmlTags.EM.equals(qName) || "I".equals(qName.toUpperCase())) {
                    currentITextStyle |= Font.ITALIC;
                } else if (XhtmlTags.STRONG.equals(currentTag) || "B".equals(qName.toUpperCase())) {
                    currentITextStyle |= Font.BOLD;
                }

            }

        } else if (XhtmlTags.BODY.equals(qName)) {
            document.open();
            freshParagraph = true;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    //printlnerr("leaving startElement " + localName + "; stack: " + stackStatus());
}

From source file:com.bibisco.export.ITextExporter.java

License:GNU General Public License

@Override
public void startListItem() {
    mListItem = new ListItem();
    mListItem.setFont(mFont);
}

From source file:com.centurylink.mdw.designer.pages.ExportHelper.java

License:Apache License

private void printElementHtml(Element element, Object parent, int depth, Font font, int parentLevel) {
    String tag = element.getName();
    Object av;/*  ww w  .  j a  v a 2 s  . c  o  m*/
    if (element instanceof HTMLDocument.RunElement) {
        HTMLDocument.RunElement re = (HTMLDocument.RunElement) element;
        int start = re.getStartOffset();
        int end = re.getEndOffset();
        try {
            String content = re.getDocument().getText(start, end - start);
            printAttributesHtml(re);
            av = re.getAttribute(CSS.Attribute.FONT_SIZE);
            String fontsize = av == null ? null : av.toString();
            av = re.getAttribute(CSS.Attribute.FONT_FAMILY);
            String fontfamily = av == null ? null : av.toString();
            av = re.getAttribute(CSS.Attribute.COLOR);
            String fontcolor = av == null ? null : av.toString();
            if (fontcolor != null || fontsize != null || fontfamily != null) {
                if (fontfamily == null)
                    fontfamily = font.getFamilyname();
                float size = fontsize == null ? font.getSize() : (Float.parseFloat(fontsize) + 9);
                int style = font.getStyle();
                Color color;
                if (fontcolor != null) {
                    color = Color.decode(fontcolor);
                } else
                    color = font.getColor();
                font = FontFactory.getFont(fontfamily, size, style, color);
            }
            if (parent instanceof Paragraph) {
                ((Paragraph) parent).add(new Chunk(content, font));
            } else {
                System.err.println("chunk with parent "
                        + (parent == null ? "null" : parent.getClass().getName()) + ": " + content);
            }
        } catch (BadLocationException e) {
            e.printStackTrace();
        }
    } else if (element instanceof HTMLDocument.BlockElement) {
        HTMLDocument.BlockElement be = (HTMLDocument.BlockElement) element;
        printAttributesHtml(be);
        av = be.getAttribute(javax.swing.text.html.HTML.Attribute.ALIGN);
        String align = av == null ? null : av.toString();
        if (tag.equalsIgnoreCase("html")) {
            printElementChildrenHtml(element, parent, depth + 1, font, parentLevel);
        } else if (tag.equalsIgnoreCase("head")) {
            // do nothing
        } else if (tag.equalsIgnoreCase("body")) {
            printElementChildrenHtml(element, parent, depth + 1, font, parentLevel);
        } else if (tag.equalsIgnoreCase("p")) {
            if (parent instanceof Section) {
                Paragraph paragraph = new Paragraph();
                if (align != null) {
                    paragraph.setAlignment(align);
                }
                printElementChildrenHtml(element, paragraph, depth + 1, normalFont, parentLevel);
                ((Section) parent).add(paragraph);
            } else {
                System.err.println("p with parent " + (parent == null ? "null" : parent.getClass().getName()));
            }
        } else if (tag.equalsIgnoreCase("h1") || tag.equalsIgnoreCase("h2") || tag.equalsIgnoreCase("h3")) {
            if (parent instanceof Section) {
                Paragraph title = new Paragraph();
                printElementChildrenHtml(element, title, depth + 1, subSectionFont, parentLevel);
                ((Section) parent).addSection(title, parentLevel == 0 ? 0 : (parentLevel + 1));
            } else {
                System.err
                        .println("list with parent " + (parent == null ? "null" : parent.getClass().getName()));
            }
        } else if (tag.equalsIgnoreCase("ul")) {
            if (parent instanceof Section) {
                com.lowagie.text.List list = new com.lowagie.text.List(false, false, 20.0f);
                printElementChildrenHtml(element, list, depth + 1, normalFont, parentLevel);
                ((Section) parent).add(list);
            } else {
                System.err
                        .println("list with parent " + (parent == null ? "null" : parent.getClass().getName()));
            }
        } else if (tag.equalsIgnoreCase("ol")) {
            if (parent instanceof Section) {
                com.lowagie.text.List list = new com.lowagie.text.List(true, false, 20.0f);
                printElementChildrenHtml(element, list, depth + 1, normalFont, parentLevel);
                ((Section) parent).add(list);
            } else {
                System.err
                        .println("list with parent " + (parent == null ? "null" : parent.getClass().getName()));
            }
        } else if (tag.equalsIgnoreCase("li")) {
            ListItem li = new ListItem();
            li.setSpacingAfter(0.0f);
            printElementChildrenHtml(element, li, depth + 1, normalFont, parentLevel);
            ((com.lowagie.text.List) parent).add(li);
        } else if (tag.equalsIgnoreCase("p-implied")) {
            if (parent instanceof ListItem) {
                Paragraph paragraph = new Paragraph();
                printElementChildrenHtml(element, paragraph, depth + 1, normalFont, parentLevel);
                ((ListItem) parent).add(paragraph);
            } else if (parent instanceof Cell) {
                Paragraph paragraph = new Paragraph();
                printElementChildrenHtml(element, paragraph, depth + 1, normalFont, parentLevel);
                ((Cell) parent).add(paragraph);
            }
        } else if (tag.equalsIgnoreCase("table")) {
            try {
                Table table = new Table(3);
                table.setBorderWidth(1);
                table.setBorderColor(new Color(0, 128, 128));
                table.setPadding(1.0f);
                table.setSpacing(0.5f);
                Cell c = new Cell("header");
                c.setHeader(true);
                c.setColspan(3);
                table.addCell(c);
                table.endHeaders();
                printElementChildrenHtml(element, table, depth + 1, normalFont, parentLevel); // TODO
                ((Section) parent).add(table);
            } catch (BadElementException e) {
                e.printStackTrace();
            }
        } else if (tag.equalsIgnoreCase("tr")) {
            printElementChildrenHtml(element, parent, depth + 1, normalFont, parentLevel); // TODO
        } else if (tag.equalsIgnoreCase("td")) {
            Cell cell = new Cell();
            printElementChildrenHtml(element, cell, depth + 1, normalFont, parentLevel); // TODO
            ((Table) parent).addCell(cell);
        } else {
            System.err.println("Unknown element " + element.getName());
            printElementChildrenHtml(element, parent, depth + 1, normalFont, parentLevel);
        }
    } else {
        return; // could be BidiElement - not sure what it is
    }
}

From source file:com.centurylink.mdw.designer.pages.ExportHelper.java

License:Apache License

private Object generateElementHtml(Element element, int depth, Font font) {
    String tag = element.getName();
    Object myself;/* ww  w  . jav a2 s .  c o m*/
    Object av;
    if (element instanceof HTMLDocument.RunElement) {
        HTMLDocument.RunElement re = (HTMLDocument.RunElement) element;
        int start = re.getStartOffset();
        int end = re.getEndOffset();
        try {
            String content = re.getDocument().getText(start, end - start);
            HtmlAttr htmlattr = printAttributesHtml(re);
            av = re.getAttribute(CSS.Attribute.FONT_SIZE);
            String fontsize = av == null ? null : av.toString();
            av = re.getAttribute(CSS.Attribute.FONT_FAMILY);
            String fontfamily = av == null ? null : av.toString();
            av = re.getAttribute(CSS.Attribute.COLOR);
            String fontcolor = av == null ? null : av.toString();
            if (fontcolor != null || fontsize != null || fontfamily != null) {
                if (fontfamily == null)
                    fontfamily = font.getFamilyname();
                if (fontsize != null && fontsize.endsWith("pt"))
                    fontsize = fontsize.substring(0, fontsize.indexOf("pt"));
                float size = fontsize == null ? font.getSize() : (Float.parseFloat(fontsize) + 8);
                int style = font.getStyle();
                Color color;
                if (fontcolor != null) {
                    color = Color.decode(fontcolor);
                } else
                    color = font.getColor();
                font = FontFactory.getFont(fontfamily, size, style, color);
            } else if (htmlattr.bold || htmlattr.italic) {
                String family = font.getFamilyname();
                float size = font.getSize();
                Color color = font.getColor();
                if (htmlattr.bold && htmlattr.italic)
                    font = FontFactory.getFont(family, size, Font.BOLDITALIC, color);
                else if (htmlattr.italic)
                    font = FontFactory.getFont(family, size, Font.ITALIC, color);
                else if (htmlattr.bold)
                    font = FontFactory.getFont(family, size, Font.BOLD);
            }
            myself = new Chunk(content, font);
        } catch (BadLocationException e) {
            e.printStackTrace();
            myself = null;
        }
    } else if (element instanceof HTMLDocument.BlockElement) {
        HTMLDocument.BlockElement be = (HTMLDocument.BlockElement) element;
        HtmlAttr htmlattr = printAttributesHtml(be);
        if (htmlattr.bold) {
            System.out.println("+++BOLD!!!");
        }
        av = be.getAttribute(javax.swing.text.html.HTML.Attribute.ALIGN);
        String align = av == null ? null : av.toString();
        if (htmlattr.bold || htmlattr.italic) {
            String family = font.getFamilyname();
            float size = font.getSize();
            Color color = font.getColor();
            if (htmlattr.bold && htmlattr.italic)
                font = FontFactory.getFont(family, size, Font.BOLDITALIC, color);
            else if (htmlattr.italic)
                font = FontFactory.getFont(family, size, Font.ITALIC, color);
            else if (htmlattr.bold)
                font = FontFactory.getFont(family, size, Font.BOLD, Color.blue);
        }
        if (tag.equalsIgnoreCase("html")) {
            myself = generateElementChildrenHtml(element, depth + 1, font);
        } else if (tag.equalsIgnoreCase("head")) {
            myself = null;
        } else if (tag.equalsIgnoreCase("body")) {
            myself = generateElementChildrenHtml(element, depth + 1, font);
        } else if (tag.equalsIgnoreCase("p") || tag.equalsIgnoreCase("p-implied")) {
            List<Object> children = generateElementChildrenHtml(element, depth + 1, normalFont);
            Paragraph paragraph = new Paragraph();
            paragraph.setFirstLineIndent(0F);
            for (Object child : children) {
                if (child instanceof Chunk) {
                    Chunk chunk = (Chunk) child;
                    /*if (!chunk.getContent().equals("\n"))*/ paragraph.add(chunk);
                } else
                    paragraph.add(child);
            }
            if (align != null)
                paragraph.setAlignment(align);
            myself = paragraph;
        } else if (tag.equalsIgnoreCase("h1") || tag.equalsIgnoreCase("h2") || tag.equalsIgnoreCase("h3")) {
            List<Object> children = generateElementChildrenHtml(element, depth + 1, subSectionFont);
            Paragraph title = new Paragraph();
            for (Object child : children) {
                title.add(child);
            }
            myself = new TempSectionPdf(title);
        } else if (tag.equalsIgnoreCase("ul")) {
            com.lowagie.text.List list = new com.lowagie.text.List(false, false, 20.0f);
            list.setIndentationLeft(25.0f);
            List<Object> children = generateElementChildrenHtml(element, depth + 1, normalFont);
            for (Object child : children) {
                list.add(child);
            }
            myself = list;
        } else if (tag.equalsIgnoreCase("ol")) {
            com.lowagie.text.List list = new com.lowagie.text.List(true, false, 20.0f);
            list.setIndentationLeft(25.0f);
            List<Object> children = generateElementChildrenHtml(element, depth + 1, normalFont);
            for (Object child : children) {
                list.add(child);
            }
            myself = list;
        } else if (tag.equalsIgnoreCase("li")) {
            ListItem li = new ListItem();
            li.setSpacingAfter(0.0f);
            List<Object> children = generateElementChildrenHtml(element, depth + 1, normalFont);
            for (Object child : children) {
                li.add(child);
            }
            myself = li;
        } else if (tag.equalsIgnoreCase("table")) {
            List<Object> rows = generateElementChildrenHtml(element, depth + 1, normalFont);
            try {
                int ncols = 0;
                for (Object row : rows) {
                    if (row instanceof List<?>) {
                        int n = ((List<?>) row).size();
                        if (n > ncols)
                            ncols = n;
                    }
                }
                Table table = new Table(2);
                table.setBorderWidth(1);
                table.setBorderColor(new Color(0, 128, 128));
                table.setPadding(1.0f);
                table.setSpacing(0.5f);
                Cell c = new Cell("header");
                c.setHeader(true);
                c.setColspan(ncols);
                table.addCell(c);
                table.endHeaders();
                for (Object row : rows) {
                    if (row instanceof List<?>) {
                        for (Object cell : (List<?>) row) {
                            if (cell instanceof Cell)
                                table.addCell((Cell) cell);
                        }
                    }
                }
                myself = table;
            } catch (BadElementException e) {
                e.printStackTrace();
                myself = null;
            }
        } else if (tag.equalsIgnoreCase("tr")) {
            List<Object> children = generateElementChildrenHtml(element, depth + 1, normalFont);
            myself = children;
        } else if (tag.equalsIgnoreCase("td")) {
            Cell cell = new Cell();
            List<Object> children = generateElementChildrenHtml(element, depth + 1, normalFont);
            for (Object child : children) {
                cell.add(child);
            }
            myself = cell;
        } else if (tag.equalsIgnoreCase("div")) {
            List<Object> children = generateElementChildrenHtml(element, depth + 1, normalFont);
            Paragraph paragraph = new Paragraph();
            paragraph.setFirstLineIndent(0F);
            for (Object child : children) {
                paragraph.add(child);
            }
            if (align != null)
                paragraph.setAlignment(align);
            myself = paragraph;
        } else {
            System.err.println("Unknown element " + element.getName());
            myself = null;
        }
    } else {
        myself = null; // could be BidiElement - not sure what it is
    }
    return myself;
}

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

/**
 * //from  w  w  w .j  av a 2s . c om
 * @param unitInfo ???
 * @param systemManager ?
 * @param rank 
 * @param countTol ?
 * @param countSec ?
 * @param countThr ?
 * @param countThir?
 * @param countMay ?
 * @param fileName ??
 * @return ?   1?
 */
public static int createRecordDoc(UnitInfo unitInfo, SystemManager systemManager, Rank rank, int countTol,
        int countSec, int countThr, int countThir, int countMay, File fileName) {

    Document document = new Document(PageSize.A4, 90.0F, 90.0F, 50.0F, 40.0F);
    try {
        RtfWriter2.getInstance(document, new FileOutputStream(fileName));
        document.open();

        String songPath = "";
        String blackFontPath = "";
        String fangsongPath = "";
        String wingdings2FontPath = "";
        if (System.getProperties().getProperty("os.name").toUpperCase().indexOf("WINDOWS") == 0) {
            songPath = "c:\\windows\\fonts\\msyh.ttf";
            blackFontPath = "c:\\windows\\fonts\\simhei.ttf";
            fangsongPath = "C:\\Windows\\Fonts\\simfang.ttf";
            wingdings2FontPath = "c:\\windows\\fonts\\WINGDNG2.TTF";
        } else {
            /*songPath="/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf";
            blackFontPath="/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf";
            fangsongPath="/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf";
            wingdings2FontPath="/usr/share/fonts/truetype/unifont/unifont.ttf";*/
            songPath = "/usr/share/fonts/dejavu/DejaVuSansMono.ttf";
            blackFontPath = "/usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf";
            fangsongPath = "/usr/share/fonts/dejavu/DejaVuSerif.ttf";
            wingdings2FontPath = "/usr/share/fonts/dejavu/unifont.ttf";
        }

        BaseFont blackBaseFont = BaseFont.createFont(songPath, "Identity-H", false);
        BaseFont songFont = BaseFont.createFont(blackFontPath, "Identity-H", false);
        BaseFont fangsongFont = BaseFont.createFont(fangsongPath, "Identity-H", false);
        BaseFont wingdings2Font = BaseFont.createFont(wingdings2FontPath, "Identity-H", false);

        Font songfont_11 = new Font(songFont, 11.0F, 0);
        Font songfontUnderLine_11 = new Font(songFont, 11.0F, 4);

        Chunk rightSign = new Chunk("R", new Font(wingdings2Font, 16.0F, 0));
        Chunk blankSign = new Chunk("*", new Font(wingdings2Font, 20.0F, 0));

        Paragraph p = new Paragraph();
        //p.setFont(new Font(songFont, 14.0F, 0));
        p.add("  2");
        document.add(p);

        Paragraph p1 = new Paragraph();
        p1.add(new Chunk("?"));
        Table numTable = new Table(12, 1);
        numTable.setLeft(0);
        numTable.setWidth(50.0F);
        numTable.addCell("");
        p1.add(numTable);
        document.add(p1);
        /*String docName="";
        if("1".equals(rank.getRankOrganType())){
        docName="??";
        }
        if("2".equals(rank.getRankOrganType())){
        docName="??";
        }
        if("3".equals(rank.getRankOrganType())){
        docName="??";
        }
        if("4".equals(rank.getRankOrganType())){
        docName="???";
        }
        if("5".equals(rank.getRankOrganType())){
        docName="?";
        }
        if("6".equals(rank.getRankOrganType())){
        docName="?";
        }*/
        p = new Paragraph(rank.getSysInfoName() + "?");
        p.setFont(new Font(songFont, 36.0F, 1));
        p.setAlignment(1);
        document.add(p);

        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("  ? ?", new Font(fangsongFont, 16.0F, 0)));
        p.add(new Chunk("__________", new Font(fangsongFont, 16.0F, 0)));
        p.add(new Chunk("()", new Font(fangsongFont, 16.0F, 4)));
        p.add(new Chunk("__________", new Font(fangsongFont, 16.0F, 0)));
        document.add(p);

        document.add(Chunk.NEWLINE);

        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("   ", new Font(fangsongFont, 16.0F, 0)));
        p.add(new Chunk("__________________________", new Font(fangsongFont, 16.0F, 0)));
        document.add(p);

        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("   ", new Font(fangsongFont, 16.0F, 0)));
        p.add(new Chunk("__________", new Font(fangsongFont, 16.0F, 0)));
        p.add(new Chunk("()", new Font(fangsongFont, 16.0F, 4)));
        p.add(new Chunk("__________", new Font(fangsongFont, 16.0F, 0)));
        document.add(p);

        document.add(Chunk.NEWLINE);

        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("   ", new Font(fangsongFont, 16.0F, 0)));
        p.add(new Chunk("__________________________", new Font(fangsongFont, 16.0F, 0)));
        document.add(p);

        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("????", new Font(fangsongFont, 16.0F, 0)));
        p.add(new Chunk("__________", new Font(fangsongFont, 16.0F, 0)));
        p.add(new Chunk("()", new Font(fangsongFont, 16.0F, 4)));
        p.add(new Chunk("__________", new Font(fangsongFont, 16.0F, 0)));
        document.add(p);

        document.add(Chunk.NEWLINE);

        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("? ?  ", new Font(fangsongFont, 16.0F, 0)));
        p.add(new Chunk("__________________________", new Font(fangsongFont, 16.0F, 0)));
        document.add(p);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("?", new Font(songFont, 20.0F, 1)));
        document.add(p);

        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("", new Font(songFont, 16.0F, 1)));
        document.add(p);

        Chapter chapter = new Chapter(1);
        com.lowagie.text.List list = new com.lowagie.text.List(true, false, 20.0F);

        //1
        ListItem listItem = new ListItem();
        Chunk itemChunk = new Chunk("??", new Font(blackBaseFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk(
                "????[2007]43?");
        listItem.add(itemChunk);
        list.add(listItem);

        //2
        listItem = new ListItem();
        itemChunk = new Chunk("", new Font(blackBaseFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk(
                "???????????????????????????????????????????????");
        listItem.add(itemChunk);
        list.add(listItem);

        //3
        listItem = new ListItem();
        itemChunk = new Chunk("??", new Font(blackBaseFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk(
                "??????");
        listItem.add(itemChunk);
        list.add(listItem);

        //4
        listItem = new ListItem("",
                new Font(songFont, 11.0F, 0));
        listItem.add(blankSign);
        listItem.add(new Chunk("?", songfont_11));
        listItem.add(rightSign);
        listItem.add(new Chunk("???",
                songfont_11));
        list.add(listItem);

        //5
        listItem = new ListItem();
        itemChunk = new Chunk("???", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk(
                "??11?6????????GA380-20025???????");
        listItem.add(itemChunk);
        list.add(listItem);

        //6
        listItem = new ListItem();
        itemChunk = new Chunk("????", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk("?????");
        listItem.add(itemChunk);
        list.add(listItem);

        //7
        listItem = new ListItem();
        itemChunk = new Chunk("??", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk("??");
        listItem.add(itemChunk);
        list.add(listItem);
        //8
        listItem = new ListItem();
        itemChunk = new Chunk("??????", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk(
                "???????");
        listItem.add(itemChunk);
        list.add(listItem);

        //9
        listItem = new ListItem();
        itemChunk = new Chunk("04?", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk("??(???)?");
        listItem.add(itemChunk);
        list.add(listItem);

        //10
        listItem = new ListItem();
        itemChunk = new Chunk("05??", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk("???");
        listItem.add(itemChunk);
        list.add(listItem);

        //11
        listItem = new ListItem();
        itemChunk = new Chunk("06", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk("???");
        listItem.add(itemChunk);
        list.add(listItem);

        //12
        listItem = new ListItem();
        itemChunk = new Chunk("08", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk(
                "????????GB/T124041997");
        listItem.add(itemChunk);
        list.add(listItem);

        //13
        listItem = new ListItem();
        itemChunk = new Chunk("02?", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk("????????");
        listItem.add(itemChunk);
        list.add(listItem);

        //14
        listItem = new ListItem();
        itemChunk = new Chunk("05?", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk("");
        listItem.add(itemChunk);
        list.add(listItem);

        //15
        listItem = new ListItem();
        itemChunk = new Chunk("07?", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk(
                "??????????");
        listItem.add(itemChunk);
        list.add(listItem);

        //16
        listItem = new ListItem();
        itemChunk = new Chunk("08?", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk(
                "?????????");
        listItem.add(itemChunk);
        list.add(listItem);

        //17
        listItem = new ListItem();
        itemChunk = new Chunk("", new Font(songFont, 11.0F, 0));
        listItem.add(itemChunk);
        itemChunk = new Chunk(
                "??????");
        listItem.add(itemChunk);
        list.add(listItem);
        document.add(list);

        document.add(Chunk.NEXTPAGE);

        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("  ??", new Font(songFont, 16.0F, 0)));
        document.add(p);

        Table table1 = new Table(16);
        table1.setWidth(110.0F);
        table1.setWidths(new int[] { 20, 5, 5, 5, 5, 5, 5, 10, 25, 5, 5, 5, 5, 5, 5, 10 });
        Cell cell = new Cell(new Phrase(new Chunk("01????", songfont_11)));
        setLocal(cell);
        table1.addCell(cell);
        cell = new Cell(unitInfo.getUnitName() == null ? " " : unitInfo.getUnitName());
        setLocal(cell);
        cell.setColspan(15);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("02???", songfont_11)));
        setLocal(cell);
        table1.addCell(cell);
        cell = new Cell();
        Font underLineFont = new Font(songFont, 11.0F, 4);
        cell.add(new Chunk(unitInfo.getProvince() == null ? "" : unitInfo.getProvince(), underLineFont));
        cell.add(new Chunk("?(?) ", songfont_11));
        cell.add(new Chunk(unitInfo.getCity() == null ? "" : unitInfo.getCity(), underLineFont));
        cell.add(new Chunk(" (???) ", songfont_11));
        cell.add(new Chunk(unitInfo.getCounty() == null ? "" : unitInfo.getCounty(), underLineFont));
        cell.add(new Chunk("(??)", songfont_11));
        cell.setColspan(15);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("03?", songfont_11)));
        setLocal(cell);
        table1.addCell(cell);

        table1.addCell(
                new Phrase(new Chunk(unitInfo.getPostcode() == null || "".equals(unitInfo.getPostcode()) ? ""
                        : unitInfo.getPostcode().charAt(0) + "", songfont_11)));
        table1.addCell(
                new Phrase(new Chunk(unitInfo.getPostcode() == null || "".equals(unitInfo.getPostcode()) ? ""
                        : unitInfo.getPostcode().charAt(1) + "", songfont_11)));
        table1.addCell(
                new Phrase(new Chunk(unitInfo.getPostcode() == null || "".equals(unitInfo.getPostcode()) ? ""
                        : unitInfo.getPostcode().charAt(2) + "", songfont_11)));
        table1.addCell(
                new Phrase(new Chunk(unitInfo.getPostcode() == null || "".equals(unitInfo.getPostcode()) ? ""
                        : unitInfo.getPostcode().charAt(3) + "", songfont_11)));
        table1.addCell(
                new Phrase(new Chunk(unitInfo.getPostcode() == null || "".equals(unitInfo.getPostcode()) ? ""
                        : unitInfo.getPostcode().charAt(4) + "", songfont_11)));
        table1.addCell(
                new Phrase(new Chunk(unitInfo.getPostcode() == null || "".equals(unitInfo.getPostcode()) ? ""
                        : unitInfo.getPostcode().charAt(5) + "", songfont_11)));
        table1.addCell("");
        table1.addCell(new Phrase(new Chunk("04?", songfont_11)));
        table1.addCell(new Phrase(
                new Chunk(unitInfo.getDivisionCode() == null || "".equals(unitInfo.getDivisionCode()) ? ""
                        : unitInfo.getDivisionCode().charAt(0) + "", songfont_11)));
        table1.addCell(new Phrase(
                new Chunk(unitInfo.getDivisionCode() == null || "".equals(unitInfo.getDivisionCode()) ? ""
                        : unitInfo.getDivisionCode().charAt(1) + "", songfont_11)));
        table1.addCell(new Phrase(
                new Chunk(unitInfo.getDivisionCode() == null || "".equals(unitInfo.getDivisionCode()) ? ""
                        : unitInfo.getDivisionCode().charAt(2) + "", songfont_11)));
        table1.addCell(new Phrase(
                new Chunk(unitInfo.getDivisionCode() == null || "".equals(unitInfo.getDivisionCode()) ? ""
                        : unitInfo.getDivisionCode().charAt(3) + "", songfont_11)));
        table1.addCell(new Phrase(
                new Chunk(unitInfo.getDivisionCode() == null || "".equals(unitInfo.getDivisionCode()) ? ""
                        : unitInfo.getDivisionCode().charAt(4) + "", songfont_11)));
        table1.addCell(new Phrase(
                new Chunk(unitInfo.getDivisionCode() == null || "".equals(unitInfo.getDivisionCode()) ? ""
                        : unitInfo.getDivisionCode().charAt(5) + "", songfont_11)));
        table1.addCell("");

        cell = new Cell(new Chunk("05??", new Font(songFont, 11.0F, 0)));
        setLocal(cell);
        cell.setRowspan(2);
        table1.addCell(cell);

        cell = new Cell(new Chunk("   ??", new Font(songFont, 11.0F, 0)));
        cell.setColspan(3);
        table1.addCell(cell);
        cell = new Cell(new Chunk(unitInfo.getUnitLeader() == null ? "" : unitInfo.getUnitLeader(),
                new Font(songFont, 11.0F, 0)));
        cell.setColspan(4);
        table1.addCell(cell);

        table1.addCell(new Phrase(new Chunk("?/?", new Font(songFont, 11.0F, 0))));
        cell = new Cell(new Phrase(
                new Chunk(unitInfo.getDuty() == null ? "" : unitInfo.getDuty(), new Font(songFont, 11.0F, 0))));
        cell.setColspan(7);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", new Font(songFont, 11.0F, 0))));
        cell.setColspan(3);
        table1.addCell(cell);
        cell = new Cell(new Chunk(unitInfo.getUnitTel() == null ? "" : unitInfo.getUnitTel(),
                new Font(songFont, 11.0F, 0)));
        cell.setColspan(4);
        table1.addCell(cell);

        table1.addCell(new Phrase(new Chunk("?", new Font(songFont, 11.0F, 0))));
        cell = new Cell(new Phrase(new Chunk(unitInfo.getUnitEmail() == null ? "" : unitInfo.getUnitEmail(),
                new Font(songFont, 11.0F, 0))));
        cell.setColspan(7);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("06", new Font(songFont, 11.0F, 0))));
        setLocal(cell);
        table1.addCell(cell);
        cell = new Cell(new Chunk(unitInfo.getUnitDep() == null ? "" : unitInfo.getUnitDep(),
                new Font(songFont, 11.0F, 0)));
        cell.setColspan(15);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("07?", new Font(songFont, 11.0F, 0))));
        setLocal(cell);
        cell.setRowspan(3);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("   ??", new Font(songFont, 11.0F, 0))));
        cell.setColspan(3);
        table1.addCell(cell);
        cell = new Cell(new Chunk(unitInfo.getDepContact() == null ? "" : unitInfo.getDepContact(),
                new Font(songFont, 11.0F, 0)));
        cell.setColspan(4);
        table1.addCell(cell);

        table1.addCell(new Phrase(new Chunk("?/?", new Font(songFont, 11.0F, 0))));
        cell = new Cell(new Chunk(unitInfo.getDepDuty() == null ? "" : unitInfo.getDepDuty(),
                new Font(songFont, 11.0F, 0)));
        cell.setColspan(7);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", new Font(songFont, 11.0F, 0))));
        cell.setColspan(3);
        table1.addCell(cell);
        cell = new Cell(new Chunk(unitInfo.getDepTel() == null ? "" : unitInfo.getDepTel(),
                new Font(songFont, 11.0F, 0)));
        cell.setColspan(4);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", new Font(songFont, 11.0F, 0))));
        cell.setRowspan(2);
        table1.addCell(cell);
        cell = new Cell(new Chunk(unitInfo.getDepEmail() == null ? "" : unitInfo.getDepEmail(),
                new Font(songFont, 11.0F, 0)));
        cell.setColspan(7);
        cell.setRowspan(2);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", new Font(songFont, 11.0F, 0))));
        cell.setColspan(3);
        table1.addCell(cell);
        cell = new Cell(new Chunk(unitInfo.getDepMobile() == null ? "" : unitInfo.getDepMobile(),
                new Font(songFont, 11.0F, 0)));
        cell.setColspan(4);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("08", new Font(songFont, 11.0F, 0))));
        setLocal(cell);
        table1.addCell(cell);
        cell = new Cell("".equals(unitInfo.getSubordinate()) ? rightSign : blankSign);
        cell.add(new Chunk("1\t", new Font(songFont, 11.0F, 0)));
        cell.add("?".equals(unitInfo.getSubordinate()) ? rightSign : blankSign);
        cell.add(new Chunk("2?(?)\t", new Font(songFont, 11.0F, 0)));
        cell.add("".equals(unitInfo.getSubordinate()) ? rightSign : blankSign);
        cell.add(new Chunk("3(???)\t", new Font(songFont, 11.0F, 0)));
        cell.add(Chunk.NEWLINE);
        cell.add("".equals(unitInfo.getSubordinate()) ? rightSign : blankSign);
        cell.add(new Chunk("4(??)\t", new Font(songFont, 11.0F, 0)));
        cell.add("".equals(unitInfo.getSubordinate()) ? rightSign : blankSign);
        cell.add(new Chunk("9", new Font(songFont, 11.0F, 0)));
        cell.add(new Chunk(unitInfo.getOtherSub() != null ? unitInfo.getOtherSub() : "________",
                new Font(songFont, 11.0F, 4)));
        cell.setColspan(15);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("09??", new Font(songFont, 11.0F, 0))));
        setLocal(cell);
        table1.addCell(cell);
        cell = new Cell("".equals(unitInfo.getUnitType()) ? rightSign : blankSign);
        cell.add(new Chunk("1\t\t", songfont_11));
        cell.add("".equals(unitInfo.getUnitType()) ? rightSign : blankSign);
        cell.add(new Chunk("2\t\t", songfont_11));
        cell.add("??".equals(unitInfo.getUnitType()) ? rightSign : blankSign);
        cell.add(new Chunk("3??\t\t", songfont_11));
        cell.add("?".equals(unitInfo.getUnitType()) ? rightSign : blankSign);
        cell.add(new Chunk("4?", songfont_11));
        cell.add(Chunk.NEWLINE);
        cell.add("".equals(unitInfo.getUnitType()) ? rightSign : blankSign);
        cell.add(new Chunk("9", songfont_11));
        cell.add(new Chunk(unitInfo.getOtherUnitType() != null ? unitInfo.getOtherUnitType() : "________",
                new Font(songFont, 11.0F, 4)));
        cell.setColspan(15);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("10", songfont_11)));
        setLocal(cell);
        table1.addCell(cell);
        cell = new Cell("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("11\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("12\t", songfont_11));

        cell.add("???".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("13???", songfont_11));
        cell.add(Chunk.NEWLINE);

        cell.add("?".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("21?\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("22\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("23\t\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("24", songfont_11));
        cell.add(Chunk.NEWLINE);

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("25\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("26\t", songfont_11));

        cell.add("?".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("27?\t\t\t", songfont_11));

        cell.add("?".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("28?", songfont_11));
        cell.add(Chunk.NEWLINE);

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("31\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("32\t", songfont_11));

        cell.add("?".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("33?\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("34", songfont_11));
        cell.add(Chunk.NEWLINE);

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("35\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("36\t", songfont_11));

        cell.add("?".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("37?\t\t\t", songfont_11));

        cell.add("?".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("38?", songfont_11));
        cell.add(Chunk.NEWLINE);

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("39\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("40\t", songfont_11));

        cell.add("?".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("41?\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("42", songfont_11));
        cell.add(Chunk.NEWLINE);

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("43\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("44\t", songfont_11));

        cell.add("?".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("45?\t\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("46", songfont_11));
        cell.add(Chunk.NEWLINE);

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("47\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("48\t", songfont_11));

        cell.add("??".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("49??\t\t\t", songfont_11));

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("50", songfont_11));
        cell.add(Chunk.NEWLINE);

        cell.add("".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("51\t\t", songfont_11));

        cell.add("??".equals(unitInfo.getEmployment()) ? rightSign : blankSign);
        cell.add(new Chunk("52??\t", songfont_11));
        cell.add(Chunk.NEWLINE);

        cell.add("".equals(unitInfo.getOtherEmp()) ? rightSign : blankSign);
        cell.add(new Chunk("99", songfont_11));
        cell.add(new Chunk("".equals(unitInfo.getOtherEmp()) ? unitInfo.getOtherEmp() : "________"));
        cell.setColspan(15);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("11?", songfont_11)));
        setLocal(cell);
        cell.setRowspan(2);
        table1.addCell(cell);
        cell = new Cell(new Phrase(new Chunk(countTol + "", songfont_11)));
        setLocal(cell);
        cell.setColspan(2);
        cell.setRowspan(2);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("12?", songfont_11)));
        cell.setColspan(5);
        table1.addCell(cell);
        cell = new Cell(new Phrase(new Chunk(countSec + "", songfont_11)));
        setLocal(cell);
        cell.setColspan(1);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("13?", songfont_11)));
        cell.setColspan(6);
        table1.addCell(cell);
        cell = new Cell(new Phrase(new Chunk(countThr + "", songfont_11)));
        cell.setColspan(1);
        setLocal(cell);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("14?", songfont_11)));
        cell.setColspan(5);
        table1.addCell(cell);
        cell = new Cell(new Phrase(new Chunk(countThir + "", songfont_11)));
        cell.setColspan(1);
        setLocal(cell);
        table1.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("15?", songfont_11)));
        cell.setColspan(6);
        table1.addCell(cell);
        cell = new Cell(new Phrase(new Chunk("0", songfont_11)));
        cell.setColspan(1);
        setLocal(cell);
        table1.addCell(cell);

        document.add(table1);

        document.add(Chunk.NEXTPAGE);

        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk(" (" + rank.getSysInfoName() + ")?",
                new Font(songFont, 16.0F, 0)));
        document.add(p);

        Table table2 = new Table(14);
        table2.setWidth(120.0F);
        table2.setWidths(new int[] { 8, 13, 5, 12, 3, 8, 5, 5, 5, 13, 5, 5, 5, 5 });

        cell = new Cell(new Phrase(new Chunk("01??", songfont_11)));
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell(new Chunk(rank.getSysInfoName() == null ? "" : rank.getSysInfoName(), songfont_11));
        cell.setColspan(7);
        table2.addCell(cell);

        table2.addCell(new Phrase(new Chunk("02?", songfont_11)));
        cell = new Cell(new Chunk(rank.getSysInfoId() == null ? "" : rank.getSysInfoId(), songfont_11));
        cell.setColspan(4);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("03", songfont_11)));
        setLocal(cell);
        cell.setRowspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("", songfont_11)));
        setLocal(cell);
        table2.addCell(cell);
        cell = new Cell("1".equals(systemManager.getBusType()) ? rightSign : blankSign);
        cell.add(new Chunk("1\t", songfont_11));
        cell.add("2".equals(systemManager.getBusType()) ? rightSign : blankSign);
        cell.add(new Chunk("2\t", songfont_11));
        cell.add("3".equals(systemManager.getBusType()) ? rightSign : blankSign);
        cell.add(new Chunk("3?\t", songfont_11));
        cell.add("4".equals(systemManager.getBusType()) ? rightSign : blankSign);
        cell.add(new Chunk("4\t\n", songfont_11));
        cell.add("5".equals(systemManager.getBusType()) ? rightSign : blankSign);
        cell.add(new Chunk("5?\t", songfont_11));
        cell.add("9".equals(systemManager.getBusType()) ? rightSign : blankSign);
        cell.add(new Chunk("9", songfont_11));
        cell.add(new Chunk(
                systemManager.getOtherBusType() != null ? systemManager.getOtherBusType() : "________",
                songfontUnderLine_11));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("??", songfont_11)));
        setLocal(cell);
        table2.addCell(cell);
        cell = new Cell(new Chunk(systemManager.getBusDescription(), songfont_11));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("04?", songfont_11)));
        setLocal(cell);
        cell.setRowspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", songfont_11)));
        setLocal(cell);
        table2.addCell(cell);
        cell = new Cell("10".equals(systemManager.getSerArea()) ? rightSign : blankSign);
        cell.add(new Chunk("10\t", songfont_11));

        cell.add(new Chunk("11".equals(systemManager.getSerArea()) ? rightSign : blankSign));
        cell.add(new Chunk("11??", songfont_11));
        cell.add(new Chunk(systemManager.getProTotal() != null ? systemManager.getProTotal() + "" : "________",
                songfontUnderLine_11));
        cell.add(new Chunk("\t", songfont_11));

        cell.add("20".equals(systemManager.getSerArea()) ? rightSign : blankSign);
        cell.add(new Chunk("20??\t\n", songfont_11));

        cell.add("21".equals(systemManager.getSerArea()) ? rightSign : blankSign);
        cell.add(new Chunk("21? ", songfont_11));
        cell.add(
                new Chunk(systemManager.getCityTotal() != null ? systemManager.getCityTotal() + "" : "________",
                        songfontUnderLine_11));
        cell.add(new Chunk("\t", songfont_11));

        cell.add("30".equals(systemManager.getSerArea()) ? rightSign : blankSign);
        cell.add(new Chunk("30?\t", songfont_11));

        cell.add(new Chunk("99".equals(systemManager.getSerArea()) ? rightSign : blankSign));
        cell.add(new Chunk("99", songfont_11));
        cell.add(new Chunk(systemManager.getOtherArea() != null ? systemManager.getOtherArea() : "________",
                songfontUnderLine_11));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", songfont_11)));
        setLocal(cell);
        table2.addCell(cell);
        cell = new Cell("1".equals(systemManager.getSerObj()) ? rightSign : blankSign);
        cell.add(new Chunk("1??   ", songfont_11));
        cell.add("2".equals(systemManager.getSerObj()) ? rightSign : blankSign);
        cell.add(new Chunk("2   ", songfont_11));
        cell.add("3".equals(systemManager.getSerObj()) ? rightSign : blankSign);
        cell.add(new Chunk("3?   ", songfont_11));
        cell.add("9".equals(systemManager.getSerObj()) ? rightSign : blankSign);
        cell.add(new Chunk("9", songfont_11));
        cell.add(new Chunk(systemManager.getOtherObj() != null ? systemManager.getOtherObj() : "________",
                songfontUnderLine_11));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("05?", songfont_11)));
        setLocal(cell);
        cell.setRowspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("", songfont_11)));
        setLocal(cell);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankCoveArea()) ? rightSign : blankSign);
        cell.add(new Chunk("1\t", songfont_11));
        cell.add("2".equals(rank.getRankCoveArea()) ? rightSign : blankSign);
        cell.add(new Chunk("2\t", songfont_11));
        cell.add("3".equals(rank.getRankCoveArea()) ? rightSign : blankSign);
        cell.add(new Chunk("3\t", songfont_11));
        cell.add("4".equals(rank.getRankCoveArea()) ? rightSign : blankSign);
        cell.add(new Chunk("9", songfont_11));
        cell.add(new Chunk(rank.getRankOthArea() != null ? rank.getRankOthArea() : "________",
                songfontUnderLine_11));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("", songfont_11)));
        setLocal(cell);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankNetworkProp()) ? rightSign : blankSign);
        cell.add(new Chunk("1\t", songfont_11));
        cell.add("2".equals(rank.getRankNetworkProp()) ? rightSign : blankSign);
        cell.add(new Chunk("2?\t", songfont_11));
        cell.add("3".equals(rank.getRankNetworkProp()) ? rightSign : blankSign);
        cell.add(new Chunk("9", songfont_11));
        cell.add(new Chunk(rank.getRankOthNetworkProp() != null ? rank.getRankOthNetworkProp() : "________",
                songfontUnderLine_11));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("06?", songfont_11)));
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);

        cell = new Cell("1".equals(rank.getRankSysConn()) ? rightSign : blankSign);
        cell.add(new Chunk("1\t", songfont_11));
        cell.add("2".equals(rank.getRankSysConn()) ? rightSign : blankSign);
        cell.add(new Chunk("2??\t\n", songfont_11));
        cell.add("3".equals(rank.getRankSysConn()) ? rightSign : blankSign);
        cell.add(new Chunk("3??\t", songfont_11));
        cell.add("4".equals(rank.getRankSysConn()) ? rightSign : blankSign);
        cell.add(new Chunk("9", songfont_11));
        cell.add(new Chunk(rank.getRankOtherSysConn() != null ? rank.getRankOtherSysConn() : "________",
                songfontUnderLine_11));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("07?", songfont_11)));
        cell.setColspan(2);
        cell.setRowspan(8);
        setLocal(cell);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("??", songfont_11)));
        setLocal(cell);
        cell.setRowspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", songfont_11)));
        setLocal(cell);
        cell.setRowspan(2);
        cell.setColspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", songfont_11)));
        setLocal(cell);
        cell.setRowspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", songfont_11)));
        setLocal(cell);
        cell.setColspan(8);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk(" ", songfont_11)));
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk(" ", songfont_11)));
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?  ", songfont_11)));
        setLocal(cell);
        cell.setColspan(4);
        table2.addCell(cell);

        for (int i = 1; i <= 6; i++) {

            table2.addCell(new Phrase(new Chunk(i + "", songfont_11)));
            switch (i) {

            case 1:
                cell = new Cell(new Chunk("?", songfont_11));
                cell.setColspan(2);
                table2.addCell(cell);
                table2.addCell(new Phrase(new Chunk(rank.getRankSecCount(), songfont_11)));
                cell = new Cell(("100".equals(rank.getRankSecUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("0".equals(rank.getRankSecUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("3".equals(rank.getRankSecUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.add(new Chunk(
                        (rank.getPartRankSecUse() != null ? rank.getPartRankSecUse() : "________") + "%",
                        songfontUnderLine_11));
                cell.setColspan(4);
                table2.addCell(cell);
                break;

            case 2:
                cell = new Cell(new Chunk("?", songfont_11));
                cell.setColspan(2);
                table2.addCell(cell);
                table2.addCell(new Phrase(new Chunk(rank.getRankNetCount(), songfont_11)));
                cell = new Cell(("100".equals(rank.getRankNetUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("0".equals(rank.getRankNetUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("3".equals(rank.getRankNetUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.add(new Chunk(
                        (rank.getPartRankNetUse() != null ? rank.getPartRankNetUse() : "________") + "%",
                        songfontUnderLine_11));
                cell.setColspan(4);
                table2.addCell(cell);
                break;
            case 3:
                cell = new Cell(new Chunk("?", songfont_11));
                cell.setColspan(2);
                table2.addCell(cell);
                table2.addCell(new Phrase(new Chunk(rank.getRankSysCount(), songfont_11)));
                cell = new Cell(("100".equals(rank.getRankSysUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("0".equals(rank.getRankSysUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("3".equals(rank.getRankSysUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.add(new Chunk(
                        (rank.getPartRankSysUse() != null ? rank.getPartRankSysUse() : "________") + "%",
                        songfontUnderLine_11));
                cell.setColspan(4);
                table2.addCell(cell);
                break;
            case 4:
                cell = new Cell(new Chunk("?", songfont_11));
                cell.setColspan(2);
                table2.addCell(cell);
                table2.addCell(new Phrase(new Chunk(rank.getRankSqlCount(), songfont_11)));
                cell = new Cell(("100".equals(rank.getRankSqlUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("0".equals(rank.getRankSqlUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("3".equals(rank.getRankSqlUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.add(new Chunk(
                        (rank.getPartRankSqlUse() != null ? rank.getPartRankSqlUse() : "________") + "%",
                        songfontUnderLine_11));
                cell.setColspan(4);
                table2.addCell(cell);
                break;
            case 5:
                cell = new Cell(new Chunk("?", songfont_11));
                cell.setColspan(2);
                table2.addCell(cell);
                table2.addCell(new Phrase(new Chunk(rank.getRankSerCount(), songfont_11)));
                cell = new Cell(("100".equals(rank.getRankSerUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("0".equals(rank.getRankSerUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("3".equals(rank.getRankSerUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.add(new Chunk(
                        (rank.getPartRankSerUse() != null ? rank.getPartRankSerUse() : "________") + "%",
                        songfontUnderLine_11));
                cell.setColspan(4);
                table2.addCell(cell);
                break;
            case 6:
                cell = new Cell(new Chunk("", songfont_11));
                cell.add(new Chunk((rank.getRankOthProd() != null ? rank.getRankOthProd() : "________"),
                        songfontUnderLine_11));
                cell.setColspan(2);
                table2.addCell(cell);
                table2.addCell(new Phrase(new Chunk(rank.getRankOthProdCount(), songfont_11)));
                cell = new Cell(("100".equals(rank.getRankOthProdUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("0".equals(rank.getRankOthProdUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.setColspan(2);
                table2.addCell(cell);
                cell = new Cell(("3".equals(rank.getRankOthProdUse())) ? rightSign : blankSign);
                setLocal(cell);
                cell.add(new Chunk(
                        (rank.getPartRankOthProdUse() != null ? rank.getPartRankOthProdUse() : "________")
                                + "%",
                        songfontUnderLine_11));
                cell.setColspan(4);
                table2.addCell(cell);
                break;

            }

        }

        cell = new Cell(new Phrase(new Chunk("08?", songfont_11)));
        cell.setColspan(2);
        cell.setRowspan(10);
        setLocal(cell);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("??", songfont_11)));
        setLocal(cell);
        cell.setRowspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", songfont_11)));
        setLocal(cell);
        cell.setRowspan(2);
        cell.setColspan(3);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", songfont_11)));
        setLocal(cell);
        cell.setColspan(8);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("??", songfont_11)));
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("? ", songfont_11)));
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("?", songfont_11)));
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        table2.addCell(new Phrase(new Chunk("1", songfont_11)));
        table2.addCell(new Phrase(new Chunk("", songfont_11)));
        cell = new Cell("1".equals(rank.getRankIfGradeEval()) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.add(("0".equals(rank.getRankIfGradeEval())) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankSerGradeType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);
        cell = new Cell("2".equals(rank.getRankSerGradeType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("3".equals(rank.getRankSerGradeType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        table2.addCell(new Phrase(new Chunk("2", songfont_11)));
        table2.addCell(new Phrase(new Chunk("", songfont_11)));
        cell = new Cell("1".equals(rank.getRankIfRiskEval()) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.add(("0".equals(rank.getRankIfRiskEval())) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankSerRiskType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);
        cell = new Cell("2".equals(rank.getRankSerRiskType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("3".equals(rank.getRankSerRiskType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        table2.addCell(new Phrase(new Chunk("3", songfont_11)));
        table2.addCell(new Phrase(new Chunk("???", songfont_11)));
        cell = new Cell("1".equals(rank.getRankIfSuffReco()) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.add(("0".equals(rank.getRankIfSuffReco())) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankIfSuffRecoType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);
        cell = new Cell("2".equals(rank.getRankIfSuffRecoType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("3".equals(rank.getRankIfSuffRecoType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        table2.addCell(new Phrase(new Chunk("4", songfont_11)));
        table2.addCell(new Phrase(new Chunk("?", songfont_11)));
        cell = new Cell("1".equals(rank.getRankIfResponse()) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.add(("0".equals(rank.getRankIfResponse())) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankResponseType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);
        cell = new Cell("2".equals(rank.getRankResponseType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("3".equals(rank.getRankResponseType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        table2.addCell(new Phrase(new Chunk("5", songfont_11)));
        table2.addCell(new Phrase(new Chunk("?", songfont_11)));
        cell = new Cell("1".equals(rank.getRankIfSysInte()) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.add(("0".equals(rank.getRankIfSysInte())) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankSysInteType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);
        cell = new Cell("2".equals(rank.getRankSysInteType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("3".equals(rank.getRankSysInteType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        table2.addCell(new Phrase(new Chunk("6", songfont_11)));
        table2.addCell(new Phrase(new Chunk("", songfont_11)));
        cell = new Cell("1".equals(rank.getRankIfSecCon()) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.add(("0".equals(rank.getRankIfSecCon())) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankSecConypeType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);
        cell = new Cell("2".equals(rank.getRankSecConypeType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("3".equals(rank.getRankSecConypeType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        table2.addCell(new Phrase(new Chunk("7", songfont_11)));
        table2.addCell(new Phrase(new Chunk("", songfont_11)));
        cell = new Cell("1".equals(rank.getRankIfSecTrain()) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.add(("0".equals(rank.getRankIfSecTrain())) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankSecTrainType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);
        cell = new Cell("2".equals(rank.getRankSecTrainType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("3".equals(rank.getRankSecTrainType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        table2.addCell(new Phrase(new Chunk("8", songfont_11)));
        cell = new Cell(new Chunk("", songfont_11));
        cell.add(new Chunk((rank.getRankOthSerName() != null ? rank.getRankOthSerName() : "________"),
                songfontUnderLine_11));
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankIfOthSer()) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.add(("0".equals(rank.getRankIfOthSer())) ? rightSign : blankSign);
        setLocal(cell);
        cell.add(new Chunk("", new Font(songFont, 9.0F, 0)));
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("1".equals(rank.getRankOthUseType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);
        cell = new Cell("2".equals(rank.getRankOthUseType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(2);
        table2.addCell(cell);
        cell = new Cell("3".equals(rank.getRankOthUseType()) ? rightSign : blankSign);
        setLocal(cell);
        cell.setColspan(3);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("09????", songfont_11)));
        cell.setColspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk(rank.getRankEvalUnitName(), songfont_11)));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("10?", songfont_11)));
        cell.setColspan(2);
        table2.addCell(cell);

        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        cell = new Cell(new Phrase(new Chunk(format.format(rank.getRankUseDate()), songfont_11)));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("11?", songfont_11)));
        cell.setColspan(2);
        table2.addCell(cell);

        cell = new Cell("1".equals(rank.getRankFlag()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        cell.add("0".equals(rank.getRankFlag()) ? rightSign : blankSign);
        cell.add(new Chunk("?", songfont_11));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("12??", songfont_11)));
        cell.setColspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk(rank.getRankParentSysName(), songfont_11)));
        cell.setColspan(12);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("13????", songfont_11)));
        cell.setColspan(2);
        table2.addCell(cell);

        cell = new Cell(new Phrase(new Chunk(rank.getRankParentUnitName(), songfont_11)));
        cell.setColspan(12);
        table2.addCell(cell);

        document.add(table2);
        document.add(Chunk.NEXTPAGE);

        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk("(" + systemManager.getSysName() + ")?",
                new Font(songFont, 16.0F, 0)));
        document.add(p);

        Table table3 = new Table(2);
        table3.setWidth(110.0F);
        table3.setWidths(new int[] { 40, 70 });

        cell = new Cell(new Phrase(new Chunk("01??", songfont_11)));
        table3.addCell(cell);

        cell = new Cell("".equals(rank.getRankGrade()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        cell.add("".equals(rank.getRankGrade()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        cell.add("".equals(rank.getRankGrade()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        cell.add("".equals(rank.getRankGrade()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        cell.add("".equals(rank.getRankGrade()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        table3.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("02", songfont_11)));
        table3.addCell(cell);
        cell = new Cell(new Chunk(format.format(rank.getRankTime()), songfont_11));
        table3.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("03", songfont_11)));
        table3.addCell(cell);
        cell = new Cell(new Phrase(
                new Chunk("1".equals(rank.getRankJudge()) ? "" : "", songfont_11)));
        table3.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("04?", songfont_11)));
        table3.addCell(cell);
        cell = new Cell("1".equals(rank.getRankIsDep()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        cell.add("0".equals(rank.getRankIsDep()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        table3.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("05??", songfont_11)));
        table3.addCell(cell);
        cell = new Cell(
                new Phrase(new Chunk(rank.getRankDepName() == null ? "" : rank.getRankDepName(), songfont_11)));
        table3.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("06", songfont_11)));
        table3.addCell(cell);
        cell = new Cell("1".equals(rank.getRankDepJudge()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        cell.add("0".equals(rank.getRankDepJudge()) ? rightSign : blankSign);
        cell.add(new Chunk("", songfont_11));
        table3.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("07", songfont_11)));
        table3.addCell(cell);
        cell = new Cell(new Phrase(new Chunk("1".equals(rank.getRankDoc()) ? rightSign : blankSign)));
        cell.add(new Chunk("", songfont_11));
        cell.add("0".equals(rank.getRankDoc()) ? rightSign : blankSign);
        cell.add(new Chunk("\t", songfont_11));
        cell.add(new Chunk("??" + (rank.getRankAccess() == null ? "" : rank.getRankAccess()),
                songfont_11));
        table3.addCell(cell);

        cell = new Cell(new Phrase(new Chunk("", songfont_11)));
        cell.add(new Chunk(rank.getRankInformant()));
        table3.addCell(cell);
        cell = new Cell(new Phrase(new Chunk("", songfont_11)));
        cell.add(new Chunk(format.format(rank.getRankDate())));
        table3.addCell(cell);

        document.add(table3);
        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk(
                "                                           ",
                songfont_11));
        document.add(p);
        document.add(Chunk.NEXTPAGE);

        p = new Paragraph();
        p.setAlignment(1);
        p.add(new Chunk(" " + systemManager.getSysName()
                + " ??????", songfont_11));
        document.add(p);
        if (null == null) {
            Table table4 = new Table(2);
            table4.setWidth(110.0F);
            table4.setWidths(new int[] { 40, 70 });

            table4.addCell(new Phrase(new Chunk("01?", songfont_11)));
            cell = new Cell("1".equals(rank.getRankTopStruct()) ? rightSign : blankSign);
            cell.add(new Chunk("", songfont_11));
            cell.add("0".equals(rank.getRankTopStruct()) ? rightSign : blankSign);
            cell.add(new Chunk("\t??", songfont_11));
            cell.add(new Chunk(rank.getRankTopRelAcc() != null ? rank.getRankTopRelAcc() : "________",
                    songfont_11));
            table4.addCell(cell);

            table4.addCell(new Phrase(new Chunk("02??", songfont_11)));

            cell = new Cell("1".equals(rank.getRankSysManage()) ? rightSign : blankSign);
            cell.add(new Chunk("", songfont_11));
            cell.add("0".equals(rank.getRankSysManage()) ? rightSign : blankSign);
            cell.add(new Chunk("\t??", songfont_11));
            cell.add(new Chunk(rank.getRankSysManRel() != null ? rank.getRankSysManRel() : "________",
                    songfont_11));
            table4.addCell(cell);

            table4.addCell(new Phrase(new Chunk(
                    "03?", songfont_11)));
            cell = new Cell("1".equals(rank.getRankSysPlan()) ? rightSign : blankSign);
            cell.add(new Chunk("", songfont_11));
            cell.add("0".equals(rank.getRankSysPlan()) ? rightSign : blankSign);
            cell.add(new Chunk("\t??", songfont_11));
            cell.add(new Chunk(rank.getRankSysPlanRel() != null ? rank.getRankSysPlanRel() : "________",
                    songfont_11));

            table4.addCell(cell);

            table4.addCell(new Phrase(new Chunk(
                    "04???????", songfont_11)));
            cell = new Cell("1".equals(rank.getRankSysLicense()) ? rightSign : blankSign);
            cell.add(new Chunk("", songfont_11));
            cell.add("0".equals(rank.getRankSysLicense()) ? rightSign : blankSign);
            cell.add(new Chunk("\t??", songfont_11));
            cell.add(new Chunk(rank.getRankSysLiceRel() != null ? rank.getRankSysLiceRel() : "________",
                    songfont_11));
            table4.addCell(cell);

            table4.addCell(new Phrase(new Chunk("05", songfont_11)));
            cell = new Cell("1".equals(rank.getRankSysReport()) ? rightSign : blankSign);
            cell.add(new Chunk("", songfont_11));
            cell.add("0".equals(rank.getRankSysReport()) ? rightSign : blankSign);
            cell.add(new Chunk("\t??", songfont_11));
            cell.add(new Chunk(rank.getRankSysReportRel() != null ? rank.getRankSysReportRel() : "________",
                    songfont_11));
            table4.addCell(cell);

            table4.addCell(new Phrase(new Chunk("06", songfont_11)));
            cell = new Cell("1".equals(rank.getRankPeerRev()) ? rightSign : blankSign);
            cell.add(new Chunk("", songfont_11));
            cell.add("0".equals(rank.getRankPeerRev()) ? rightSign : blankSign);
            cell.add(new Chunk("\t??", songfont_11));
            cell.add(new Chunk(rank.getRankPeerRevRel() != null ? rank.getRankPeerRevRel() : "________",
                    songfont_11));
            table4.addCell(cell);

            table4.addCell(new Phrase(new Chunk("07??", songfont_11)));
            cell = new Cell("1".equals(rank.getRankSuperOpin()) ? rightSign : blankSign);
            cell.add(new Chunk("", songfont_11));
            cell.add("0".equals(rank.getRankSuperOpin()) ? rightSign : blankSign);
            cell.add(new Chunk("\t??", songfont_11));
            cell.add(new Chunk(rank.getRankSuperOpinRel() != null ? rank.getRankSuperOpinRel() : "________",
                    songfont_11));
            table4.addCell(cell);

            document.add(table4);
            document.close();
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return 1;

}