Java 类com.lowagie.text.rtf.field.RtfPageNumber 实例源码

项目:itext2    文件:RtfHeaderFooter.java   
/**
 * Constructs a RtfHeaderFooter based on a HeaderFooter with a certain type and displayAt
 * location. For internal use only.
 * 
 * @param doc The RtfDocument this RtfHeaderFooter belongs to
 * @param headerFooter The HeaderFooter to base this RtfHeaderFooter on
 * @param type The type of RtfHeaderFooter
 * @param displayAt The display location of this RtfHeaderFooter
 */
protected RtfHeaderFooter(RtfDocument doc, HeaderFooter headerFooter, int type, int displayAt) {
    super(new Phrase(""), false);
    this.document = doc;
    this.type = type;
    this.displayAt = displayAt;
    Paragraph par = new Paragraph();
    par.setAlignment(headerFooter.alignment());
    if (headerFooter.getBefore() != null) {
        par.add(headerFooter.getBefore());
    }
    if (headerFooter.isNumbered()) {
        par.add(new RtfPageNumber(this.document));
    }
    if (headerFooter.getAfter() != null) {
        par.add(headerFooter.getAfter());
    }
    try {
        this.content = new Object[1];
        if(this.document != null) {
            this.content[0] = this.document.getMapper().mapElement(par)[0];
            ((RtfBasicElement) this.content[0]).setInHeader(true);
        } else {
            this.content[0] = par;
        }
    } catch(DocumentException de) {
        de.printStackTrace();
    }
}
项目:itext2    文件:RtfHeaderFooter.java   
/**
 * Constructs a RtfHeaderFooter for a HeaderFooter.
 *  
 * @param doc The RtfDocument this RtfHeaderFooter belongs to
 * @param headerFooter The HeaderFooter to base this RtfHeaderFooter on
 */
protected RtfHeaderFooter(RtfDocument doc, HeaderFooter headerFooter) {
    super(new Phrase(""), false);
    this.document = doc;
    Paragraph par = new Paragraph();
    par.setAlignment(headerFooter.alignment());
    if (headerFooter.getBefore() != null) {
        par.add(headerFooter.getBefore());
    }
    if (headerFooter.isNumbered()) {
        par.add(new RtfPageNumber(this.document));
    }
    if (headerFooter.getAfter() != null) {
        par.add(headerFooter.getAfter());
    }
    try {
        this.content = new Object[1];
        this.content[0] = doc.getMapper().mapElement(par)[0];
        ((RtfBasicElement) this.content[0]).setInHeader(true);
    } catch(DocumentException de) {
        de.printStackTrace();
    }
}
项目:itext2    文件:PageNumberTest.java   
/**
 * Demonstrates creating a footer with the current page number
 * 
 * 
 */
@Test
public void main() throws Exception {
    Document document = new Document();
    RtfWriter2.getInstance(document, PdfTestBase.getOutputStream("PageNumber.rtf"));

    // Create a new Paragraph for the footer
    Paragraph par = new Paragraph("Page ");
    par.setAlignment(Element.ALIGN_RIGHT);

    // Add the RtfPageNumber to the Paragraph
    par.add(new RtfPageNumber());

    // Create an RtfHeaderFooter with the Paragraph and set it
    // as a footer for the document
    RtfHeaderFooter footer = new RtfHeaderFooter(par);
    document.setFooter(footer);

    document.open();

    for (int i = 1; i <= 300; i++) {
        document.add(new Paragraph("Line " + i + "."));
    }

    document.close();

}
项目:itext2    文件:TotalPageNumberTest.java   
/**
 * Demonstrates creating a header with page number and total number of pages
 * 
 * 
 */
@Test
public void main() throws Exception {
    Document document = new Document();
    RtfWriter2.getInstance(document, PdfTestBase.getOutputStream("TotalPageNumber.rtf"));

    // Create a new Paragraph for the footer
    Paragraph par = new Paragraph("Page ");

    // Add the RtfPageNumber to the Paragraph
    par.add(new RtfPageNumber());

    // Add the RtfTotalPageNumber to the Paragraph
    par.add(" of ");
    par.add(new RtfTotalPageNumber());

    // Create an RtfHeaderFooter with the Paragraph and set it
    // as a header for the document
    RtfHeaderFooter header = new RtfHeaderFooter(par);
    document.setHeader(header);

    document.open();

    for (int i = 1; i <= 300; i++) {
        document.add(new Paragraph("Line " + i + "."));
    }

    document.close();

}
项目:itext2    文件:ExtendedHeaderFooterTest.java   
/**
 * Extended headers / footers example
 * 
 * 
 */
@Test
public void main() throws Exception {
    Document document = new Document();
    RtfWriter2.getInstance(document, PdfTestBase.getOutputStream("ExtendedHeaderFooter.rtf"));

    // Create the Paragraphs that will be used in the header.
    Paragraph date = new Paragraph("01.01.2010");
    date.setAlignment(Paragraph.ALIGN_RIGHT);
    Paragraph address = new Paragraph("TheFirm\nTheRoad 24, TheCity\n" + "+00 99 11 22 33 44");

    // Create the RtfHeaderFooter with an array containing the Paragraphs to
    // add
    RtfHeaderFooter header = new RtfHeaderFooter(new Element[] { date, address });

    // Set the header
    document.setHeader(header);

    // Create the table that will be used as the footer
    Table footer = new Table(2);
    footer.setBorder(0);
    footer.getDefaultCell().setBorder(0);
    footer.setWidth(100);
    footer.addCell(new Cell("(c) Mark Hall"));
    Paragraph pageNumber = new Paragraph("Page ");

    // The RtfPageNumber is an RTF specific element that adds a page number
    // field
    pageNumber.add(new RtfPageNumber());
    pageNumber.setAlignment(Paragraph.ALIGN_RIGHT);
    footer.addCell(new Cell(pageNumber));

    // Create the RtfHeaderFooter and set it as the footer to use
    document.setFooter(new RtfHeaderFooter(footer));

    document.open();

    document.add(new Paragraph("This document has headers and footers created"
            + " using the RtfHeaderFooter class."));

    document.close();

}
项目:communote-server    文件:RtfNoteWriter.java   
/**
 * This message creates the footer element for the exported document.
 *
 * @param queryInstance
 *            The query instance to extract needed data from.
 * @param user
 *            The user.
 * @param resourcesManager
 *            The resources manager to retreive resources from.
 * @return An object to be used as a header.
 * @throws MalformedURLException
 *             {@link MalformedURLException}.
 * @throws BadElementException
 *             {@link BadElementException}.
 */
private Element getFooter(NoteQueryParameters queryInstance, User user,
        ResourceBundleManager resourcesManager) throws MalformedURLException,
        BadElementException {
    Table table = new Table(2);
    table.setWidths(new float[] { 60, 40 });
    table.setWidth(100);
    table.setPadding(5);
    table.setBorder(Table.TOP);
    Cell serviceCell = new Cell();
    serviceCell.setBorder(Cell.TOP);
    serviceCell.add(RtfElementFactory.createChunk(
            resourcesManager.getText("export.post.footer.service", user.getLanguageLocale())
            + " ", null));
    serviceCell.add(RtfElementFactory.createChunk(resourcesManager.getText(
            "export.post.footer.service.provider", user.getLanguageLocale())));
    Cell pageNumberCell = new Cell();
    pageNumberCell.setHorizontalAlignment(Cell.ALIGN_RIGHT);
    pageNumberCell.setBorder(Cell.TOP);
    pageNumberCell.add(RtfElementFactory.createChunk(resourcesManager.getText(
            "export.post.footer.page", user.getLanguageLocale()) + " "));
    pageNumberCell.add(new RtfPageNumber());
    pageNumberCell
    .add(RtfElementFactory.createChunk(" "
            + resourcesManager.getText("export.post.footer.of",
                    user.getLanguageLocale()) + " "));
    pageNumberCell.add(new RtfTotalPageNumber());

    table.addCell(serviceCell);
    table.addCell(pageNumberCell);
    return table;
}
项目:javamelody    文件:MRtfWriter.java   
/**
 * We create a writer that listens to the document and directs a RTF-stream to out
 *
 * @param table
 *           MBasicTable
 * @param document
 *           Document
 * @param out
 *           OutputStream
 * @return DocWriter
 */
@Override
protected DocWriter createWriter(final MBasicTable table, final Document document,
        final OutputStream out) {
    final RtfWriter2 writer = RtfWriter2.getInstance(document, out);

    // title
    final String title = buildTitle(table);
    if (title != null) {
        final HeaderFooter header = new RtfHeaderFooter(new Paragraph(title));
        header.setAlignment(Element.ALIGN_LEFT);
        header.setBorder(Rectangle.NO_BORDER);
        document.setHeader(header);
        document.addTitle(title);
    }

    // advanced page numbers : x/y
    final Paragraph footerParagraph = new Paragraph();
    final Font font = FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.NORMAL);
    footerParagraph.add(new RtfPageNumber(font));
    footerParagraph.add(new Phrase(" / ", font));
    footerParagraph.add(new RtfTotalPageNumber(font));
    footerParagraph.setAlignment(Element.ALIGN_CENTER);
    final HeaderFooter footer = new RtfHeaderFooter(footerParagraph);
    footer.setBorder(Rectangle.TOP);
    document.setFooter(footer);

    return writer;
}
项目:itext2    文件:MultipleHeaderFooterTest.java   
/**
 * Extended font example.
 * 
 * 
 */
@Test
public void main() throws Exception {
    Document document = new Document();
    RtfWriter2.getInstance(document, PdfTestBase.getOutputStream("MultipleHeaderFooter.rtf"));

    // Create the Paragraph that will be used in the header.
    Paragraph date = new Paragraph("01.01.2010");
    date.setAlignment(Element.ALIGN_CENTER);

    // Create the RtfHeaderFooterGroup for the header.
    // To display the same header on both pages, but not the
    // title page set them to left and right pages explicitly.
    RtfHeaderFooterGroup header = new RtfHeaderFooterGroup();
    header.setHeaderFooter(new RtfHeaderFooter(date), RtfHeaderFooter.DISPLAY_LEFT_PAGES);
    header.setHeaderFooter(new RtfHeaderFooter(date), RtfHeaderFooter.DISPLAY_RIGHT_PAGES);

    // Set the header
    document.setHeader(header);

    // Create the paragraphs that will be used as footers
    Paragraph titleFooter = new Paragraph("Multiple headers / footers example");
    titleFooter.setAlignment(Element.ALIGN_CENTER);
    Paragraph leftFooter = new Paragraph("Page ");
    leftFooter.add(new RtfPageNumber());
    Paragraph rightFooter = new Paragraph("Page ");
    rightFooter.add(new RtfPageNumber());
    rightFooter.setAlignment(Element.ALIGN_RIGHT);

    // Create the RtfHeaderGroup for the footer and set the footers
    // at the desired positions
    RtfHeaderFooterGroup footer = new RtfHeaderFooterGroup();
    footer.setHeaderFooter(new RtfHeaderFooter(titleFooter), RtfHeaderFooter.DISPLAY_FIRST_PAGE);
    footer.setHeaderFooter(new RtfHeaderFooter(leftFooter), RtfHeaderFooter.DISPLAY_LEFT_PAGES);
    footer.setHeaderFooter(new RtfHeaderFooter(rightFooter), RtfHeaderFooter.DISPLAY_RIGHT_PAGES);

    // Set the document footer
    document.setFooter(footer);

    document.open();

    document.add(new Paragraph("This document has headers and footers created"
            + " using the RtfHeaderFooterGroup class.\n\n"));

    // Add some content, so that the different headers / footers show up.
    for (int i = 0; i < 300; i++) {
        document.add(new Paragraph("Just a bit of content so that the headers become visible."));
    }

    document.close();

}