Example usage for com.lowagie.text Chunk NEXTPAGE

List of usage examples for com.lowagie.text Chunk NEXTPAGE

Introduction

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

Prototype

Chunk NEXTPAGE

To view the source code for com.lowagie.text Chunk NEXTPAGE.

Click Source Link

Document

This is a Chunk containing a newpage.

Usage

From source file:com.concursive.connect.web.modules.wiki.utils.WikiPDFUtils.java

License:Open Source License

private static void appendWiki(WikiPDFContext context, Wiki currentWiki, Document document, Connection db,
        ArrayList<Integer> wikiListDone) throws SQLException {

    LOG.debug("appendWiki-> " + currentWiki.getSubject());

    // Context Objects
    Project project = context.getProject();
    WikiExportBean exportBean = context.getExportBean();

    // Track the wikis to get appended to the output
    ArrayList<Integer> wikiListTodo = new ArrayList<Integer>();

    try {//from w  w w  .  j  av a2  s. c om
        // Output the name of the Wiki
        boolean hasTitle = StringUtils.hasText(currentWiki.getSubject());
        if (hasTitle) {
            Anchor wikiAnchor = new Anchor(currentWiki.getSubject(), wikiFont);
            wikiAnchor.setName(currentWiki.getSubject().toLowerCase());
            LOG.debug("Add anchor: " + currentWiki.getSubject().toLowerCase());
            document.add(wikiAnchor);
            LOG.debug("document.add(wikiAnchor)");
        }

        // Output the wiki content
        parseContent(context, currentWiki, currentWiki.getContent(), document, null, db, wikiListTodo,
                wikiListDone, 0f);
        wikiListDone.add(currentWiki.getId());

        // See if any linked wikis should be appended
        if (exportBean.getFollowLinks() && wikiListTodo.size() > 0) {
            Iterator i = wikiListTodo.iterator();
            while (i.hasNext()) {
                Integer id = (Integer) i.next();
                if (id > -1 && !wikiListDone.contains(id)) {
                    Wiki subwiki = new Wiki(db, id);
                    document.add(Chunk.NEXTPAGE);
                    appendWiki(context, subwiki, document, db, wikiListDone);
                }
                //i.remove();
            }
        }
    } catch (Exception e) {
        LOG.error("appendWiki", e);
    }
}

From source file:com.orange.atk.compModel.PDFGenerator.java

License:Apache License

/**
 * @see com.orange.atk.results.logger.documentGenerator.DocumentGenerator#dumpInStream(boolean, interpreter.logger.DocumentLogger)
 *//*  ww w .  j  a v a 2 s . c  om*/

public void dumpInStream(boolean isParseErrorHappened, /*DocumentLogger dl,*/ org.w3c.dom.Document xmlDoc,
        Model model3) {
    long endTime = new Date().getTime();
    // step 1: creation of a document-object
    Document document = new Document();
    PdfWriter writer = null;

    // step 2:
    // we create a writer that listens to the document
    // and directs a PDF-stream to the outputStream
    try {
        writer = PdfWriter.getInstance(document, outputStream);
    } catch (DocumentException e1) {
        e1.printStackTrace();
        return;
    }
    writer.setViewerPreferences(PdfWriter.PageModeUseOutlines);
    // step 3: we open the document
    document.open();
    document.addTitle("REPORT");
    document.addCreationDate();

    HeaderFooter headerPage = new HeaderFooter(new Phrase("ScreenShot report"), false);
    HeaderFooter footerPage = new HeaderFooter(new Phrase(" - "), new Phrase(" - "));
    headerPage.setAlignment(Element.ALIGN_CENTER);
    footerPage.setAlignment(Element.ALIGN_CENTER);
    document.setHeader(headerPage);
    document.setFooter(footerPage);

    // Chapter 1 : Summary
    // Section 1 : Informations

    Chunk c = new Chunk("Summary");
    c.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c.setFont(FONT_PAR_TITLE);

    Paragraph title1 = new Paragraph(c);
    title1.setAlignment("CENTER");
    title1.setLeading(20);
    Chapter chapter1 = new Chapter(title1, 1);
    chapter1.setNumberDepth(0);

    Paragraph title11 = new Paragraph("Informations");
    Section section1 = chapter1.addSection(title11);
    Paragraph pSum = new Paragraph();
    pSum.add("Author : " + author);
    pSum.add(Chunk.NEWLINE);
    pSum.add("Group : " + group);
    pSum.add(Chunk.NEWLINE);
    pSum.add("Script : " + script);
    pSum.add(Chunk.NEWLINE);
    pSum.add("Reference directory: " + model3.getRefDirectory());
    pSum.add(Chunk.NEWLINE);
    pSum.add("Test directory: " + model3.getTestDirectory());
    pSum.add(Chunk.NEWLINE);
    SimpleDateFormat formatter = new SimpleDateFormat("MMMMM dd, yyyy - hh:mm aaa");
    String dateString = formatter.format(endTime);
    pSum.add("Date : " + dateString);
    pSum.add(Chunk.NEWLINE);
    pSum.add(Chunk.NEWLINE);
    if (model3.getNbFail() > 0) {
        pSum.add(model3.getNbFail() + "/" + model3.getNbImages() + " images didn't succeed the test.");
    } else {
        pSum.add("All images (" + model3.getNbImages() + ") have succeed this comparaison.");
    }
    pSum.add(Chunk.NEWLINE);
    pSum.setIndentationLeft(20);
    section1.add(pSum);
    section1.add(new Paragraph(Chunk.NEXTPAGE));

    try {
        document.add(chapter1);
    } catch (DocumentException e) {
        e.printStackTrace();
    }
    document.newPage();

    if (isParseErrorHappened) {
        document.close();
        return;
    }

    // Add generated pictures
    Chunk c3 = new Chunk("ScreenShots");
    c3.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c3.setFont(FONT_PAR_TITLE);
    Paragraph p3 = new Paragraph(c3);
    p3.setAlignment("CENTER");
    p3.setLeading(20);
    Chapter chapter3 = new Chapter(p3, 1);
    chapter3.setNumberDepth(0);

    NodeList imgs = xmlDoc.getElementsByTagName("img");
    for (int i = 0; i < imgs.getLength(); i++) {
        org.w3c.dom.Element eImg = (org.w3c.dom.Element) imgs.item(i);
        if (eImg.getElementsByTagName("Pass").item(0).getTextContent().equals(Model.FAIL)) {

            org.w3c.dom.Element eRef = (org.w3c.dom.Element) eImg.getElementsByTagName("Ref").item(0);
            org.w3c.dom.Element eTest = (org.w3c.dom.Element) eImg.getElementsByTagName("Test").item(0);
            Paragraph pScreen = new Paragraph(eTest.getAttributes().getNamedItem("name").getNodeValue() + " "
                    + eImg.getElementsByTagName("Pass").item(0).getTextContent());
            Section section31 = chapter3.addSection(pScreen);
            PdfPTable scTable = null;
            scTable = new PdfPTable(2);
            scTable.getDefaultCell().setBorder(Rectangle.NO_BORDER);
            scTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
            scTable.getDefaultCell().setPadding(5);
            if (new File(eRef.getTextContent()).exists()) {
                Image refImg;
                try {
                    refImg = Image.getInstance(eRef.getTextContent());
                    refImg.scaleToFit(310, 260);
                    refImg.setAlignment(Element.ALIGN_BASELINE);
                    scTable.addCell(refImg);
                } catch (BadElementException e) {
                    e.printStackTrace();
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (DOMException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
            if (new File(eTest.getTextContent()).exists()) {
                Image testImg;
                try {
                    BufferedImage bi = ImageIO.read(new File(eTest.getTextContent()));
                    Graphics2D g2d = (Graphics2D) bi.getGraphics();
                    g2d.setStroke(new BasicStroke(1.5f));
                    g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.6f));

                    Boolean2D dif = model3.getCouplesComparaison().get(i).getDifWithMask();
                    //               if (squarable){
                    g2d.setColor(Color.red);
                    int w = bi.getWidth();
                    int h = bi.getHeight();
                    //TODO: Gurvan, Maybe we need to have the list of masks in the report?
                    Mask mask = model3.getCouplesComparaison().get(i).getMaskSum();
                    //g2d.drawRect(0, 0, mask.getWidth()*2*sampleWidth, mask.getHeight()*2*sampleHeight);
                    for (int x = 0; x < mask.getWidth(); x++) {

                        for (int y = 0; y < mask.getHeight(); y++) {

                            if (mask.getCell(x, y)) {
                                g2d.setColor(Color.blue);
                                ////Logger.getLogger(this.getClass() ).debug("grise");
                                g2d.fillRect(x * 2 * Mask.getCELL_HALF_SIZE(), y * 2 * Mask.getCELL_HALF_SIZE(),
                                        2 * Mask.getCELL_HALF_SIZE(), 2 * Mask.getCELL_HALF_SIZE());
                            }

                            if (!dif.get(x, y)) {
                                g2d.setColor(Color.green);
                                g2d.fillRect(x * 2 * Mask.getCELL_HALF_SIZE(), y * 2 * Mask.getCELL_HALF_SIZE(),
                                        2 * Mask.getCELL_HALF_SIZE(), 2 * Mask.getCELL_HALF_SIZE());
                            }
                        }
                    }
                    testImg = Image.getInstance(bi, null);
                    testImg.scaleToFit(310, 260);
                    testImg.setAlignment(Element.ALIGN_BASELINE);
                    scTable.addCell(testImg);
                    section31.add(Chunk.NEWLINE);
                    section31.add(scTable);
                } catch (BadElementException e) {
                    e.printStackTrace();
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (DOMException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
            section31.add(new Paragraph("Reference screenshot description : "
                    + eImg.getElementsByTagName("RefDescription").item(0).getTextContent()));
            section31.add(Chunk.NEWLINE);

            section31
                    .add(new Paragraph("Mask : " + eImg.getElementsByTagName("Mask").item(0).getTextContent()));
            section31.add(Chunk.NEWLINE);

            section31.add(new Paragraph(
                    "Comment : " + eImg.getElementsByTagName("Comment").item(0).getTextContent()));
            section31.add(new Paragraph(Chunk.NEXTPAGE));

        }
    }
    try {
        document.add(chapter3);
    } catch (DocumentException e) {
        e.printStackTrace();
    }
    document.newPage();

    // step 5: we close the document
    document.close();
}

From source file:com.orange.atk.results.logger.documentGenerator.PDFGenerator.java

License:Apache License

/**
 * @see com.orange.atk.results.logger.documentGenerator.DocumentGenerator#dumpInStream(boolean,
 *      com.orange.atk.results.logger.log.DocumentLogger)
 *//*from   w w w  .jav a 2 s  .  com*/
public void dumpInStream(boolean isParseErrorHappened, DocumentLogger dl) {
    long endTime = new Date().getTime();
    // step 1: creation of a document-object
    Document document = new Document();
    PdfWriter writer = null;
    // step 2:
    // we create a writer that listens to the document
    // and directs a PDF-stream to the outputStream
    try {
        writer = PdfWriter.getInstance(document, outputStream);
    } catch (DocumentException e1) {
        e1.printStackTrace();
        return;
    }
    writer.setViewerPreferences(PdfWriter.PageModeUseOutlines);
    // step 3: we open the document
    document.open();
    // step 4: we add a paragraph to the document
    List<Message> msgLogged = dl.getMsgsLogged();
    Paragraph pLoggedMsg = new Paragraph();
    // logged messages
    for (int i = 0; i < msgLogged.size(); i++) {
        Message msg = msgLogged.get(i);
        SimpleDateFormat formatter = new SimpleDateFormat("H:mm:ssSSS");
        String dateString = formatter.format(msg.getTimestamp());
        switch (msg.getType()) {
        case Message.INFO_MSG:
            pLoggedMsg.add("[" + dateString + "] " + msg.getMessage());
            break;
        case Message.WARN_MSG:
            pLoggedMsg.add("[" + dateString + "] WARN : " + msg.getMessage() + " at line : " + msg.getLine());
            break;
        case Message.ERROR_MSG:
            pLoggedMsg.add("[" + dateString + "] ERROR : " + msg.getMessage() + " at line : " + msg.getLine());
            break;
        default:
            break;

        }
        pLoggedMsg.add(Chunk.NEWLINE);
    }

    Paragraph pLastLogguedLines = new Paragraph();
    int startIndex = msgLogged.size() > 5 ? msgLogged.size() - 5 : 0;
    for (int i = startIndex; i < msgLogged.size(); i++) {
        Message m = msgLogged.get(i);
        switch (m.getType()) {
        case Message.INFO_MSG:
            pLastLogguedLines.add("INFO : " + m.getMessage());
            break;
        case Message.WARN_MSG:
            pLastLogguedLines.add("WARN : " + m.getMessage());
            break;
        case Message.ERROR_MSG:
            pLastLogguedLines.add("ERROR : " + m.getMessage());
            break;
        default:
            break;

        }
        pLastLogguedLines.add(Chunk.NEWLINE);
    }
    // l.setIndentationLeft(40);
    // Min/Max/Ave values
    /*
     * PdfPTable table = new PdfPTable(4); table.addCell("");
     * table.addCell("Min"); table.addCell("Max"); table.addCell("Avg");
     * 
     * 
     * table.addCell("Battery in  %"); table.addCell(String.valueOf(dl
     * .getMinValueFromList(dl.getplt("BATTERY"))));
     * table.addCell(String.valueOf(dl
     * .getMaxValueFromList(dl.getplt("BATTERY"))));
     * table.addCell(String.valueOf(dl
     * .getAveValueFromList(dl.getplt("BATTERY"))));
     * table.addCell("Storage in bytes"); table.addCell(String.valueOf(dl
     * .getMinValueFromList(dl.getplt("Storage"))));
     * table.addCell(String.valueOf(dl
     * .getMaxValueFromList(dl.getplt("Storage"))));
     * table.addCell(String.valueOf(dl
     * .getAveValueFromList(dl.getplt("Storage"))));
     */
    document.addTitle("REPORT");
    document.addCreationDate();

    HeaderFooter headerPage = new HeaderFooter(new Phrase("Execution report"), false);
    HeaderFooter footerPage = new HeaderFooter(new Phrase(" - "), new Phrase(" - "));
    headerPage.setAlignment(Element.ALIGN_CENTER);
    footerPage.setAlignment(Element.ALIGN_CENTER);
    document.setHeader(headerPage);
    document.setFooter(footerPage);

    // Chapter 1 : Summary
    // Section 1 : Informations

    Chunk c = new Chunk("Summary");
    c.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c.setFont(FONT_PAR_TITLE);

    Paragraph title1 = new Paragraph(c);
    title1.setAlignment("CENTER");
    title1.setLeading(20);
    Chapter chapter1 = new Chapter(title1, 1);
    chapter1.setNumberDepth(0);

    Paragraph title11 = new Paragraph("Informations");
    Section section1 = chapter1.addSection(title11);
    Paragraph pSum = new Paragraph();
    pSum.add("Author : " + author);
    pSum.add(Chunk.NEWLINE);
    pSum.add("Group : " + group);
    pSum.add(Chunk.NEWLINE);
    pSum.add("Script : " + script);
    pSum.add(Chunk.NEWLINE);
    SimpleDateFormat formatter = new SimpleDateFormat("MMM d, yyyy - hh:mm aaa");
    String dateString = formatter.format(endTime);
    pSum.add("Date : " + dateString);
    pSum.add(Chunk.NEWLINE);
    pSum.setIndentationLeft(20);
    section1.add(pSum);
    section1.add(new Paragraph(Chunk.NEXTPAGE));

    Chunk c11 = new Chunk("Executive summary");
    c11.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c11.setFont(FONT_PAR_TITLE);
    Paragraph title12 = new Paragraph(c11);
    Section section12 = chapter1.addSection(title12);
    Paragraph pExecSum = new Paragraph();
    // pExecSum.add("Value : ");
    // pExecSum.add(Chunk.NEWLINE);
    // pExecSum.add(table);
    pExecSum.add(Chunk.NEWLINE);
    pExecSum.add("Last logged lines : ");
    pExecSum.add(Chunk.NEWLINE);
    pExecSum.add(pLastLogguedLines);
    pExecSum.add(Chunk.NEWLINE);
    pExecSum.setIndentationLeft(20);

    section12.add(pExecSum);

    try {
        document.add(chapter1);
    } catch (DocumentException e) {
        e.printStackTrace();
    }
    document.newPage();

    // Chapter 2 : Log information
    Chunk c2 = new Chunk("Log information");
    c2.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c2.setFont(FONT_PAR_TITLE);
    Paragraph title2 = new Paragraph(c2);
    title2.setAlignment("CENTER");
    title2.setLeading(20);
    Chapter chapter2 = new Chapter(title2, 1);
    chapter2.setNumberDepth(0);

    Section section2 = chapter2.addSection("Log");
    // Add log information
    section2.add(pLoggedMsg);
    section2.add(Chunk.NEWLINE);

    // section2.add(table);
    try {
        document.add(chapter2);
    } catch (DocumentException e) {
        e.printStackTrace();
    }
    document.newPage();

    if (isParseErrorHappened) {
        document.close();
        return;
    }

    // Add generated pictures
    Chunk c3 = new Chunk("Graphics");
    c3.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c3.setFont(FONT_PAR_TITLE);
    Paragraph p3 = new Paragraph(c3);
    p3.setAlignment("CENTER");
    p3.setLeading(20);
    Chapter chapter3 = new Chapter(p3, 1);
    chapter3.setNumberDepth(0);

    // add current graph
    Map<String, PlotList> mapint = dl.getMapint();
    Set<String> cles = mapint.keySet();
    Iterator<String> it = cles.iterator();
    while (it.hasNext()) {
        String cle = (String) it.next();
        Paragraph pCPUimg = new Paragraph(cle);
        Section section31 = chapter3.addSection(pCPUimg);
        if (new File(dl.getPNGpath(cle)).exists()) {
            Image jpg1 = null;
            try {
                jpg1 = Image.getInstance(dl.getPNGpath(cle));
            } catch (BadElementException e) {
                e.printStackTrace();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

            if (jpg1 == null) {
                Logger.getLogger(this.getClass()).warn("Error when Creating image jpg1 is null");
                return;
            }
            // jpg1.setRotationDegrees(270);
            jpg1.scalePercent(75);
            jpg1.setAlignment(Element.ALIGN_CENTER);
            section31.add(jpg1);
            PlotList plotlist = mapint.get(cle);
            DecimalFormat df = new DecimalFormat("#,###.##");

            if (plotlist.getType() == PlotList.TYPE_SUM) {
                section31.add(new Paragraph("Total : " + df.format(plotlist.getTotal() / plotlist.getScale())
                        + " " + plotlist.getunit()));
            } else { // PlotList.TYPE_AVG
                section31.add(new Paragraph("Average : "
                        + df.format(plotlist.getAverage() / plotlist.getScale()) + " " + plotlist.getunit()));
            }

        }
        section31.add(new Paragraph(Chunk.NEXTPAGE));
    }

    /*
     * // Section 3.1 : CPU data Paragraph pCPUimg = new
     * Paragraph("CPU data"); Section section31 =
     * chapter3.addSection(pCPUimg); if (new
     * File(dl.getPNGpath("CPU")).exists()) { Image jpg1 = null; try { jpg1
     * = Image.getInstance(dl.getPNGpath("CPU")); } catch
     * (BadElementException e) { e.printStackTrace(); } catch
     * (MalformedURLException e) { e.printStackTrace(); } catch (IOException
     * e) { e.printStackTrace(); } //jpg1.setRotationDegrees(270);
     * jpg1.scalePercent(75); jpg1.setAlignment(Element.ALIGN_CENTER);
     * section31.add(jpg1); } section31.add(new Paragraph(Chunk.NEXTPAGE));
     * 
     * // Section 3.2 : BAT data Paragraph pBATimg = new
     * Paragraph("Battery data"); Section section32 =
     * chapter3.addSection(pBATimg); if (new
     * File(dl.getPNGpath("BATTERY")).exists()) { Image jpg2 = null; try {
     * jpg2 = Image.getInstance(dl.getPNGpath("BATTERY")); } catch
     * (BadElementException e) { e.printStackTrace(); } catch
     * (MalformedURLException e) { e.printStackTrace(); } catch (IOException
     * e) { e.printStackTrace(); } //jpg2.setRotationDegrees(270);
     * jpg2.scalePercent(75); jpg2.setAlignment(Element.ALIGN_CENTER);
     * section32.add(jpg2); } section32.add(new Paragraph(Chunk.NEXTPAGE));
     * 
     * // Section 3.3 : MEM data Paragraph pMEMimg = new
     * Paragraph("Memory data"); Section section33 =
     * chapter3.addSection(pMEMimg); if (new
     * File(dl.getPNGpath("MEMORY")).exists()) {
     * 
     * Image jpg3 = null; try { jpg3 =
     * Image.getInstance(dl.getPNGpath("MEMORY")); } catch
     * (BadElementException e) { e.printStackTrace(); } catch
     * (MalformedURLException e) { e.printStackTrace(); } catch (IOException
     * e) { e.printStackTrace(); } //jpg3.setRotationDegrees(270);
     * jpg3.scalePercent(75); jpg3.setAlignment(Element.ALIGN_CENTER);
     * section33.add(jpg3); } section33.add(new Paragraph(Chunk.NEXTPAGE));
     * 
     * // Section 3.4 : STO data Paragraph pSTOimg = new
     * Paragraph("Storage data"); Section section34 =
     * chapter3.addSection(pSTOimg); if (new
     * File(dl.getPNGpath("Storage")).exists()) {
     * 
     * Image jpg4 = null; try { jpg4 =
     * Image.getInstance(dl.getPNGpath("Storage")); } catch
     * (BadElementException e) { e.printStackTrace(); } catch
     * (MalformedURLException e) { e.printStackTrace(); } catch (IOException
     * e) { e.printStackTrace(); } //jpg4.setRotationDegrees(270);
     * jpg4.scalePercent(75); jpg4.setAlignment(Element.ALIGN_CENTER);
     * section34.add(jpg4); }
     * 
     * 
     * // Section 3.5 : Network connection //Paragraph pNetworkimg = new
     * Paragraph("Network QoS data"); //Section section35 =
     * chapter3.addSection(pNetworkimg); // if (new
     * File(dl.getNetworkPNGfile()).exists()) {
     * 
     * // Image jpg5 = null; // try { // jpg5 =
     * Image.getInstance(dl.getNetworkPNGfile()); // } catch
     * (BadElementException e) { // e.printStackTrace(); // } catch
     * (MalformedURLException e) { // e.printStackTrace(); // } catch
     * (IOException e) { // e.printStackTrace(); // }
     * //jpg4.setRotationDegrees(270); // jpg5.scalePercent(75); //
     * jpg5.setAlignment(Element.ALIGN_CENTER); // section35.add(jpg5); //}
     */
    try {
        document.add(chapter3);
    } catch (DocumentException e) {
        e.printStackTrace();
    }
    document.newPage();

    // if (isTableEnabled) {
    // // Add tables filled with measurement
    // // Chapter 4 : Measurement tables
    // Chunk c4 = new Chunk("Statistics tables");
    // c4.setBackground(new Color(0xFF, 0x66, 0x00), 200, 3f, 200f, 3f);
    // c4.setFont(FontFactory.getFont(BaseFont.HELVETICA,
    // BaseFont.WINANSI, BaseFont.NOT_EMBEDDED, 16));
    // Paragraph title4 = new Paragraph(c4);
    // title4.setAlignment("CENTER");
    // title4.setLeading(20);
    // Chapter chapter4 = new Chapter(title4, 1);
    // chapter4.setNumberDepth(0);
    //
    // // Section 4.1 : Battery value
    // Paragraph titleSection41 = new Paragraph("Battery value");
    // Section section41 = chapter4.addSection(titleSection41);
    // Paragraph pBatList = new Paragraph();
    // pBatList.add(Chunk.NEWLINE);
    // pBatList.add(createPDFTableFromList(dl
    // .getList(DocumentLogger.BATTERY), "Battery"));
    // pBatList.setAlignment("CENTER");
    // section41.add(pBatList);
    //
    // // Section 4.2 : CPU value
    // Paragraph titleSection42 = new Paragraph("CPU value");
    // Section section42 = chapter4.addSection(titleSection42);
    // Paragraph pCPUList = new Paragraph();
    // pCPUList.add(Chunk.NEWLINE);
    // pCPUList.add(createPDFTableFromList(dl.getList(DocumentLogger.CPU),
    // "CPU"));
    // pCPUList.setAlignment("CENTER");
    // section42.add(pCPUList);
    //
    // // Section 4.3 : Memory value
    // Paragraph titleSection43 = new Paragraph("Memory value");
    // Section section43 = chapter4.addSection(titleSection43);
    // Paragraph pMemList = new Paragraph();
    // pMemList.add(Chunk.NEWLINE);
    // pMemList.add(createPDFTableFromList(dl
    // .getList(DocumentLogger.MEMORY), "Memory"));
    // pMemList.setAlignment("CENTER");
    // section43.add(pMemList);
    //
    // // Section 4.4 : Storage value
    // Paragraph titleSection44 = new Paragraph("Storage value");
    // Section section44 = chapter4.addSection(titleSection44);
    // Paragraph pStoList = new Paragraph();
    // pStoList.add(Chunk.NEWLINE);
    // pStoList.add(createPDFTableFromList(dl
    // .getList(DocumentLogger.STORAGE), "Storage"));
    // pStoList.setAlignment("CENTER");
    // section44.add(pStoList);
    //
    // try {
    // document.add(chapter4);
    // } catch (DocumentException e) {
    // e.printStackTrace();
    // }
    // }

    // step 5: we close the document
    document.close();
    createHTMLFile(dl);
}

From source file:com.orange.atk.results.logger.documentGenerator.PDFGenerator.java

License:Apache License

public void dumpInStreamactionlogger(boolean isParseErrorHappened, ActionsLogger actionlog, DocumentLogger dl) {
    long endTime = new Date().getTime();
    // step 1: creation of a document-object
    Document document = new Document();
    PdfWriter writer = null;/*from  ww  w  .j  a  v  a  2s.  co m*/
    Vector VectAction = actionlog.getActions();
    // step 2:
    // we create a writer that listens to the document
    // and directs a PDF-stream to the outputStream
    try {
        writer = PdfWriter.getInstance(document, outputStream);
    } catch (DocumentException e1) {
        e1.printStackTrace();
        return;
    }
    writer.setViewerPreferences(PdfWriter.PageModeUseOutlines);
    // step 3: we open the document
    document.open();
    // step 4: we add a paragraph to the document
    Paragraph pLoggedMsg = new Paragraph();
    // logged messages

    for (int i = 0; i < VectAction.size(); i++) {
        Action action = (Action) VectAction.get(i);
        SimpleDateFormat formatter = new SimpleDateFormat("H:mm:ssSSS");
        SimpleDateFormat spf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss SSS");
        String dateString = spf.format(action.getStartTime());
        pLoggedMsg.add("[" + dateString + "]  : " + action.getActionName());

        pLoggedMsg.add(Chunk.NEWLINE);

    }

    Paragraph pLastLogguedLines = new Paragraph();
    int startIndex = VectAction.size() > 5 ? VectAction.size() - 5 : 0;
    for (int i = startIndex; i < VectAction.size(); i++) {
        Action action = (Action) VectAction.get(i);
        // SimpleDateFormat formatter = new SimpleDateFormat("H:mm:ssSSS");
        SimpleDateFormat spf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss SSS");
        String dateString = spf.format(action.getStartTime());
        pLastLogguedLines.add("[" + dateString + "]  : " + action.getActionName());

        pLastLogguedLines.add(Chunk.NEWLINE);

    }

    document.addTitle("REPORT");
    document.addCreationDate();

    HeaderFooter headerPage = new HeaderFooter(new Phrase("Execution report"), false);
    HeaderFooter footerPage = new HeaderFooter(new Phrase(" - "), new Phrase(" - "));
    headerPage.setAlignment(Element.ALIGN_CENTER);
    footerPage.setAlignment(Element.ALIGN_CENTER);
    document.setHeader(headerPage);
    document.setFooter(footerPage);

    // Chapter 1 : Summary
    // Section 1 : Informations

    Chunk c = new Chunk("Summary");
    c.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c.setFont(FONT_PAR_TITLE);

    Paragraph title1 = new Paragraph(c);
    title1.setAlignment("CENTER");
    title1.setLeading(20);
    Chapter chapter1 = new Chapter(title1, 1);
    chapter1.setNumberDepth(0);

    Paragraph title11 = new Paragraph("Informations");
    Section section1 = chapter1.addSection(title11);
    Paragraph pSum = new Paragraph();
    pSum.add("Author : " + author);
    pSum.add(Chunk.NEWLINE);
    pSum.add("Group : " + group);
    pSum.add(Chunk.NEWLINE);
    pSum.add("Script : " + script);
    pSum.add(Chunk.NEWLINE);
    SimpleDateFormat formatter = new SimpleDateFormat("MMM d, yyyy - hh:mm aaa");
    String dateString = formatter.format(endTime);
    pSum.add("Date : " + dateString);
    pSum.add(Chunk.NEWLINE);
    pSum.setIndentationLeft(20);
    section1.add(pSum);
    section1.add(new Paragraph(Chunk.NEXTPAGE));

    Chunk c11 = new Chunk("Executive summary");
    c11.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c11.setFont(FONT_PAR_TITLE);
    Paragraph title12 = new Paragraph(c11);
    Section section12 = chapter1.addSection(title12);
    Paragraph pExecSum = new Paragraph();
    // pExecSum.add("Value : ");
    // pExecSum.add(Chunk.NEWLINE);
    // pExecSum.add(table);
    pExecSum.add(Chunk.NEWLINE);
    pExecSum.add("Last logged lines : ");
    pExecSum.add(Chunk.NEWLINE);
    pExecSum.add(pLastLogguedLines);
    pExecSum.add(Chunk.NEWLINE);
    pExecSum.setIndentationLeft(20);

    section12.add(pExecSum);

    try {
        document.add(chapter1);
    } catch (DocumentException e) {
        e.printStackTrace();
    }
    document.newPage();

    // Chapter 2 : Log information
    Chunk c2 = new Chunk("Log information");
    c2.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c2.setFont(FONT_PAR_TITLE);
    Paragraph title2 = new Paragraph(c2);
    title2.setAlignment("CENTER");
    title2.setLeading(20);
    Chapter chapter2 = new Chapter(title2, 1);
    chapter2.setNumberDepth(0);

    Section section2 = chapter2.addSection("Log");
    // Add log information
    section2.add(pLoggedMsg);
    section2.add(Chunk.NEWLINE);

    // section2.add(table);
    try {
        document.add(chapter2);
    } catch (DocumentException e) {
        e.printStackTrace();
    }
    document.newPage();

    if (isParseErrorHappened) {
        document.close();
        return;
    }

    // Add generated pictures
    Chunk c3 = new Chunk("Graphics");
    c3.setBackground(ORANGE_COLOR, 200, 3f, 200f, 3f);
    c3.setFont(FONT_PAR_TITLE);
    Paragraph p3 = new Paragraph(c3);
    p3.setAlignment("CENTER");
    p3.setLeading(20);
    Chapter chapter3 = new Chapter(p3, 1);
    chapter3.setNumberDepth(0);

    // add current graph
    Map<String, PlotList> mapint = dl.getMapint();
    Set<String> cles = mapint.keySet();
    Iterator<String> it = cles.iterator();
    while (it.hasNext()) {
        String cle = (String) it.next();
        Paragraph pCPUimg = new Paragraph(cle);
        Section section31 = chapter3.addSection(pCPUimg);
        if (new File(dl.getPNGpath(cle)).exists()) {
            Image jpg1 = null;
            try {
                jpg1 = Image.getInstance(dl.getPNGpath(cle));
            } catch (BadElementException e) {
                e.printStackTrace();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (jpg1 == null) {
                Logger.getLogger(this.getClass()).warn("Error when Creating image jpg1 is null");
                return;
            }
            // jpg1.setRotationDegrees(270);
            jpg1.scalePercent(75);
            jpg1.setAlignment(Element.ALIGN_CENTER);
            section31.add(jpg1);
        }
        section31.add(new Paragraph(Chunk.NEXTPAGE));
    }

    try {
        document.add(chapter3);
    } catch (DocumentException e) {
        e.printStackTrace();
    }
    document.newPage();

    document.close();
    createHTMLFileactionlog(actionlog, dl);
}

From source file:com.qcadoo.mes.workPlans.pdf.document.component.OperationSection.java

License:Open Source License

public void print(PdfWriter pdfWriter, GroupingContainer groupingContainer, Document document, Locale locale)
        throws DocumentException {
    if (notPrintOperationAtFirstPage()) {
        document.newPage();//from   ww w .  j  a va2 s .com
    }

    ListMultimap<String, OrderOperationComponent> titleToOperationComponent = groupingContainer
            .getTitleToOperationComponent();
    for (String title : titleToOperationComponent.keySet()) {
        operationSectionHeader.print(document, title);
        int count = 0;
        for (OrderOperationComponent orderOperationComponent : groupingContainer.getTitleToOperationComponent()
                .get(title)) {
            count++;
            operationOrderSection.print(pdfWriter, groupingContainer, orderOperationComponent.getOrder(),
                    orderOperationComponent.getOperationComponent(), document, locale);
            if (count != titleToOperationComponent.get(title).size()) {
                if (notPrintOperationAtFirstPage()) {
                    document.add(Chunk.NEXTPAGE);
                }
            }
        }
    }
}

From source file:com.qcadoo.mes.workPlans.pdf.document.operation.component.OperationAdditionalFields.java

License:Open Source License

public void print(Entity operationComponent, Document document, Locale locale) throws DocumentException {
    Optional<String> imageUrlInWorkPlan = getImageUrlInWorkPlan(operationComponent);

    if (!imageUrlInWorkPlan.isPresent())
        return;/* w w w  .  j  a  va2s .c o  m*/

    document.add(new Paragraph(title(locale), FontUtils.getDejavuBold10Dark()));
    pdfHelper.addImage(document, imageUrlInWorkPlan.get());
    document.add(Chunk.NEXTPAGE);

}

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

/**
 * /*w  ww  .ja v a2  s. 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;

}

From source file:jp.ac.utokyo.rcast.karkinos.graph.output.PdfReport.java

License:Apache License

public static void report(ReadsSummary readsSummary, String readsStat, DataSet dataset, AllelicCNV alCNV,
        NoiseAnalysis na, PeaksInfo pi, String id, String outfile) throws Exception {

    List<DisplayObject> chartList = new ArrayList<DisplayObject>();
    chartList.addAll(GetReadsStatsChart.getChartLists(readsSummary, readsStat));
    // chartList.addAll(GetReadDirectionChart.getChartLists(dataset));
    chartList.addAll(SNPGraph.getChartList(dataset));

    chartList.addAll(GetGCAdjustGrapth.getChartLists(dataset));
    chartList.addAll(GetCNVPreGraph.getChartLists(dataset));
    chartList.addAll(GetCNVPeaksCharts.getChartLists(pi));
    chartList.addAll(GetCNVCharts.getChartLists(dataset, pi, id));

    //allelic CNV
    chartList.addAll(GetAllelicCNVGraph.getChartLists(alCNV, id));
    chartList.addAll(GetCNVCharts.getTables(dataset));

    // chartList.addAll(GetSNVDistChart.getChartLists(dataset));

    ////from  www .j  a  v  a  2 s. c  om
    try {
        chartList.addAll(NoisePeakChart.getChartLists(na, dataset.getTumorRatio()));
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    chartList.addAll(GetSNVChart.getChartLists(dataset, pi));
    chartList.addAll(GetThresholdsCharts.getChartLists(dataset));

    Document document = null;
    PdfWriter writer = null;
    FileOutputStream fileOutputStream = new FileOutputStream(outfile);

    try {
        // instantiate document and writer
        document = new Document();
        writer = PdfWriter.getInstance(document, fileOutputStream);
        // open document
        document.open();
        // add image
        int width = 1200;
        int hight = 1000;

        int i = 0;
        int figcount = 0;
        for (DisplayObject dobj : chartList) {

            int size = dobj.getSize();
            Object obj = dobj.getObject();
            if (obj == null)
                continue;

            document.add(new Paragraph(String.valueOf(dobj.getTitle())));
            if (obj instanceof List) {

                for (Object childObj : (List) obj) {
                    addObj(document, childObj, width, hight, size, writer, figcount);
                    if ((childObj instanceof Table) || (obj instanceof JFreeChart)) {
                        figcount++;
                        document.add(Chunk.NEXTPAGE);
                    }
                }
            } else {
                addObj(document, obj, width, hight, size, writer, figcount);
                figcount++;
            }
            document.add(Chunk.NEXTPAGE);
            i++;
        }
        // release resources
        document.close();
        document = null;
        writer.close();
        writer = null;
    } catch (DocumentException de) {
        throw de;
    } catch (IOException ioe) {
        throw ioe;
    } finally {
        // release resources
        if (null != document) {
            try {
                document.close();
            } catch (Exception ex) {
            }
        }
        if (null != writer) {
            try {
                writer.close();
            } catch (Exception ex) {
            }
        }
    }

}

From source file:util.ImprimirCIPDF.java

@Override
protected void gerarConteudo() throws Exception {

    ci = ComunicacaoInternaDAO.getInstance().selectFromId(ci.getId());

    Paragraph paragrafo = new Paragraph(ci.getTipoCI() + " - " + ci.getNumeroCI(), fonteH1);
    paragrafo.setAlignment(Element.ALIGN_CENTER);
    paragrafo.setSpacingBefore(10f);//  w w  w.j a  va2s.  com
    documento.add(paragrafo);
    documento.add(Chunk.NEWLINE);
    documento.add(Chunk.NEWLINE);

    //1- DADOS DO ATENDIMENTO
    //documento.add(new Phrase("De: " + ci.getUo().getNome() + "                     Nmero: " + ci.getNumeroCI(), fonteB));
    documento.add(new Phrase("De: " + ci.getUo().getNome(), fonteB));
    documento.add(Chunk.NEWLINE);

    //Tipo Atendimento:
    if (ci.getDespachoList().get(0).getPara() != null) {
        documento.add(new Phrase("Para: " + ci.getDespachoList().get(0).getPara().getNome(), fonteB));
        documento.add(Chunk.NEWLINE);
    }

    if (!ci.getDespachoList().get(0).getDespachoCopiaList().isEmpty()) {
        StringBuffer strBuffer = new StringBuffer();
        for (DespachoCopia dc : ci.getDespachoList().get(0).getDespachoCopiaList()) {
            strBuffer.append(TratamentoString.tratarEspacosEmBranco(dc.getUnidadeOrganizacional().getNome()));
            strBuffer.append(", ");

        }
        documento.add(new Phrase("CC: " + strBuffer.toString(), fonteB));
        documento.add(Chunk.NEWLINE);

    }
    documento.add(Chunk.NEWLINE);

    documento.add(new Phrase("Assunto: " + ci.getAssunto(), fonteB));
    documento.add(Chunk.NEWLINE);
    documento.add(new Phrase("        ", fonte));
    documento.add(Chunk.NEWLINE);

    gerarLinhaHR();

    documento.add(Chunk.NEWLINE);

    documento.add(Chunk.NEWLINE);

    StringReader strReader = new StringReader(ci.getDespachoList().get(0).getConteudo());
    ArrayList p = new ArrayList();
    p = HTMLWorker.parseToList(strReader, null);

    for (int i = 0; i < p.size(); i++) {

        documento.add(((Element) p.get(i)));
    }

    documento.add(Chunk.NEWLINE);
    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");

    documento.add(new Phrase("Em: " + formatter.format(ci.getData()), fonteB));

    if (ci.getDespachoList().size() > 1) {
        documento.add(Chunk.NEXTPAGE);
        documento.add(Chunk.NEWLINE);
        this.gerarCabecalho();
        documento.add(Chunk.NEWLINE);
        Paragraph despachos = new Paragraph("Despachos", fonteH1);
        despachos.setAlignment(Element.ALIGN_CENTER);
        despachos.setSpacingBefore(10f);
        documento.add(despachos);
        documento.add(Chunk.NEWLINE);
        for (int i = 1; i < ci.getDespachoList().size(); i++) {
            gerarLinhaHR();
            documento.add(Chunk.NEWLINE);
            documento.add(new Phrase(
                    TratamentoString.tratarEspacosEmBranco(ci.getDespachoList().get(i - 1).getPara().getNome())
                            + " "
                            + TratamentoString
                                    .tratarEspacosEmBranco(ci.getDespachoList().get(i).getStatusString()),
                    fonteB));
            documento.add(Chunk.NEWLINE);
            documento.add(new Phrase("Observao: ", fonteB));
            strReader = new StringReader(ci.getDespachoList().get(i).getConteudo());
            p = HTMLWorker.parseToList(strReader, null);
            for (int j = 0; j < p.size(); j++) {

                documento.add(((Element) p.get(j)));
            }
            gerarLinhaHR();
            documento.add(Chunk.NEWLINE);

        }
    }

}