You can't use Document.add() in a page event. It must all be placed at absolute positions in PdfContentByte.
Paulo ----- Original Message ----- From: "mcevikce" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Monday, July 24, 2006 6:18 PM Subject: [iText-questions] Header/Footer Question? > > 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 ------------------------------------------------------------------------- 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
