Search in sources :

Example 1 with RtfPageNumber

use of com.lowagie.text.rtf.field.RtfPageNumber in project javamelody by javamelody.

the class MRtfWriter method createWriter.

/**
 * 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;
}
Also used : RtfHeaderFooter(com.lowagie.text.rtf.headerfooter.RtfHeaderFooter) HeaderFooter(com.lowagie.text.HeaderFooter) RtfHeaderFooter(com.lowagie.text.rtf.headerfooter.RtfHeaderFooter) RtfTotalPageNumber(com.lowagie.text.rtf.field.RtfTotalPageNumber) Phrase(com.lowagie.text.Phrase) Font(com.lowagie.text.Font) RtfWriter2(com.lowagie.text.rtf.RtfWriter2) Paragraph(com.lowagie.text.Paragraph) RtfPageNumber(com.lowagie.text.rtf.field.RtfPageNumber)

Example 2 with RtfPageNumber

use of com.lowagie.text.rtf.field.RtfPageNumber in project itext2 by albfernandez.

the class MultipleHeaderFooterTest method main.

/**
 * 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();
}
Also used : RtfHeaderFooter(com.lowagie.text.rtf.headerfooter.RtfHeaderFooter) RtfHeaderFooterGroup(com.lowagie.text.rtf.headerfooter.RtfHeaderFooterGroup) Document(com.lowagie.text.Document) Paragraph(com.lowagie.text.Paragraph) RtfPageNumber(com.lowagie.text.rtf.field.RtfPageNumber) Test(org.junit.Test)

Example 3 with RtfPageNumber

use of com.lowagie.text.rtf.field.RtfPageNumber in project itext2 by albfernandez.

the class TotalPageNumberTest method main.

/**
 * 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();
}
Also used : RtfHeaderFooter(com.lowagie.text.rtf.headerfooter.RtfHeaderFooter) RtfTotalPageNumber(com.lowagie.text.rtf.field.RtfTotalPageNumber) Document(com.lowagie.text.Document) Paragraph(com.lowagie.text.Paragraph) RtfPageNumber(com.lowagie.text.rtf.field.RtfPageNumber) Test(org.junit.Test)

Example 4 with RtfPageNumber

use of com.lowagie.text.rtf.field.RtfPageNumber in project itext2 by albfernandez.

the class ExtendedHeaderFooterTest method main.

/**
 * 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();
}
Also used : RtfHeaderFooter(com.lowagie.text.rtf.headerfooter.RtfHeaderFooter) Table(com.lowagie.text.Table) Document(com.lowagie.text.Document) Cell(com.lowagie.text.Cell) Paragraph(com.lowagie.text.Paragraph) RtfPageNumber(com.lowagie.text.rtf.field.RtfPageNumber) Test(org.junit.Test)

Example 5 with RtfPageNumber

use of com.lowagie.text.rtf.field.RtfPageNumber in project itext2 by albfernandez.

the class PageNumberTest method main.

/**
 * 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();
}
Also used : RtfHeaderFooter(com.lowagie.text.rtf.headerfooter.RtfHeaderFooter) Document(com.lowagie.text.Document) Paragraph(com.lowagie.text.Paragraph) RtfPageNumber(com.lowagie.text.rtf.field.RtfPageNumber) Test(org.junit.Test)

Aggregations

Paragraph (com.lowagie.text.Paragraph)5 RtfPageNumber (com.lowagie.text.rtf.field.RtfPageNumber)5 RtfHeaderFooter (com.lowagie.text.rtf.headerfooter.RtfHeaderFooter)5 Document (com.lowagie.text.Document)4 Test (org.junit.Test)4 RtfTotalPageNumber (com.lowagie.text.rtf.field.RtfTotalPageNumber)2 Cell (com.lowagie.text.Cell)1 Font (com.lowagie.text.Font)1 HeaderFooter (com.lowagie.text.HeaderFooter)1 Phrase (com.lowagie.text.Phrase)1 Table (com.lowagie.text.Table)1 RtfWriter2 (com.lowagie.text.rtf.RtfWriter2)1 RtfHeaderFooterGroup (com.lowagie.text.rtf.headerfooter.RtfHeaderFooterGroup)1