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;
}
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();
}
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();
}
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();
}
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();
}
Aggregations