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

Reply via email to