I am trying to add header and footer to each page in my document but facing
two issues with it. I have followed the tutorial and extended
PdfPageEventHelper class.
1-) When I add just the footer, the footer is addedd to begining and the end
of the page.
2-) When I try to add the title I get stack overflow.
Here is the section of my code:
public void onEndPage(PdfWriter a_writer, Document a_document) {
try {
FooterCreator footerCreator = new
FooterCreator(_helper);
a_document.add(footerCreator.createFooterTable(a_writer, a_document));
TitleCreator titleCreator = new TitleCreator(_helper);
a_document.add(titleCreator.createTitleTable(a_writer,
a_document));
} catch (Exception e) {
throw new ExceptionConverter(e);
}
}
Title creator:
public PdfPTable createTitleTable(PdfWriter a_writer, Document a_document)
throws Exception {
float[] colWidths = new float[2];
colWidths[0] = (_helper.getBetterTableWidth() ) -
(VSTextUtility.getColumnWidth(_helper.getReportCreationTimeAndDate()));
colWidths[1] =
VSTextUtility.getColumnWidth(_helper.getReportCreationTimeAndDate()) ;
Rectangle page = a_document.getPageSize();
PdfPTable pdfPTable = new PdfPTable(colWidths);
pdfPTable.setTotalWidth(page.width() - a_document.leftMargin() -
a_document.rightMargin());
pdfPTable.setWidthPercentage(100);
addData(pdfPTable);
pdfPTable.writeSelectedRows(0, -1, a_document.leftMargin(),
page.height()
- a_document.topMargin() + pdfPTable.getTotalHeight(),
a_writer.getDirectContent());
return pdfPTable;
}
FooterCreator:
public PdfPTable createFooterTable(PdfWriter a_writer, Document a_document)
throws Exception {
float[] colWidths = new float[1];
colWidths[0] = _helper.getBetterTableWidth();
Rectangle page = a_document.getPageSize();
PdfPTable pdfPTable = new PdfPTable(colWidths);
pdfPTable.setTotalWidth(page.width() - a_document.leftMargin() -
a_document.rightMargin());
pdfPTable.setWidthPercentage(100);
addData(pdfPTable);
pdfPTable.writeSelectedRows(0, -1, a_document.leftMargin(),
a_document.bottomMargin(),
a_writer.getDirectContent());
return pdfPTable;
}
Here is the exception:
[24-07-2006 13:08:13.266] [846768]
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/viewserver].[viewserver]]
[ERROR] [TP-Processor3] Servlet.service() for servlet viewserver threw
exception
java.lang.StackOverflowError
at java.lang.String.toLowerCase(String.java:2277)
at com.lowagie.text.pdf.PdfEncodings.convertToBytes(Unknown Source)
at com.lowagie.text.pdf.BaseFont.convertToBytes(Unknown Source)
at com.lowagie.text.pdf.FontDetails.convertToBytes(Unknown Source)
at com.lowagie.text.pdf.PdfContentByte.showText2(Unknown Source)
at com.lowagie.text.pdf.PdfContentByte.showText(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.writeLineToContent(Unknown
Source)
at com.lowagie.text.pdf.ColumnText.go(Unknown Source)
at com.lowagie.text.pdf.ColumnText.go(Unknown Source)
at com.lowagie.text.pdf.PdfPRow.writeCells(Unknown Source)
at com.lowagie.text.pdf.PdfPTable.writeSelectedRows(Unknown Source)
at com.lowagie.text.pdf.PdfPTable.writeSelectedRows(Unknown Source)
at com.lowagie.text.pdf.PdfPTable.writeSelectedRows(Unknown Source)
at com.lowagie.text.pdf.ColumnText.goComposite(Unknown Source)
at com.lowagie.text.pdf.ColumnText.go(Unknown Source)
at com.lowagie.text.pdf.ColumnText.go(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.addPTable(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.add(Unknown Source)
at
com.bfm.app.viewserver.pdfwriter.itext.PageEventHandler.onEndPage(PageEventHandler.java:22)
at com.lowagie.text.pdf.PdfDocument.newPage(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.addPTable(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.add(Unknown Source)
at
com.bfm.app.viewserver.pdfwriter.itext.PageEventHandler.onEndPage(PageEventHandler.java:22)
at com.lowagie.text.pdf.PdfDocument.newPage(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.addPTable(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.add(Unknown Source)
at
com.bfm.app.viewserver.pdfwriter.itext.PageEventHandler.onEndPage(PageEventHandler.java:22)
at com.lowagie.text.pdf.PdfDocument.newPage(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.addPTable(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.add(Unknown Source)
at
com.bfm.app.viewserver.pdfwriter.itext.PageEventHandler.onEndPage(PageEventHandler.java:22)
at com.lowagie.text.pdf.PdfDocument.newPage(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.addPTable(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.add(Unknown Source)
--
View this message in context:
http://www.nabble.com/Header-Footer-Question--tf1993704.html#a5471672
Sent from the iText - General forum at Nabble.com.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions