Where's the onEndPage method code?

Paulo

----- Original Message ----- 
From: "John Zeitler" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, October 02, 2007 7:33 PM
Subject: [iText-questions] Questions On Headers/Footers with PageEvents


>
> Hi,
>
> I've run into a bit of trouble with headers and footers.  I started off
> using setHeader(HeaderFooter), then saw that that was apparently 'old
> functionality' and that I should be using page events.  So, I created a
> bare-bones event class based explicitly on the example from EndPage.java 
> in
> the iText tutorial (here:
> http://itextdocs.lowagie.com/tutorial/directcontent/pageevents/index.html  
> ).
> I literally just copied the onEndPage method from that one and put it into
> my new class; it's the only method in the class.  My problem is that the
> event is being called and handled by the class, but no output is being
> written by that method (the rest of the output is OK).  Here's what I'm
> doing (abstracting out unimportant stuff):
> Java code-ish:
> /* assuming OutputStream out is passed in to this, the document generator;
> * out is the OutputStream from the HttpServletResponse */
>
> Document document = new Document([page size], [margins all set to 0]);
> PdfWriter writer = PdfWriter.getInstance(document, out);
> writer.setPageEvent(new myPageEventHandler()); //this has the onEndPage 
> from
> EndPage.java
> document.open();
>
> /* from here is contained in a bean which renders its data as a table;
> document is passed in */
>
> document.newPage();
>
> Phrase titleText = new Phrase("This is a bold title that is NOT to be a
> header");
> document.add(titleText);
>
> PdfPTable table = new PdfPTable(3);
> table.setTotalWidth([page size.width * a margin ratio]);
> table.setLockedWidth(true);
>
> PdfPCell cell = null;
> /* assume that this could be hundreds or thousands of rows long */
> for(int i = 0; i<9999; i++) {
> cell = new PdfPCell(new Phrase("celldata " + i));
> /* cell modifications, like border width, rowspan, etc. */
> table.addCell(cell);
> }
>
> document.add(table);
>
> /* now this is performed by the class which calls the bean's method 
> (above)
> */
>
> if(document != null) document.close();
> if(out != null) out.close();
>
> //end Java code
>
> I suspect there's something going on with the mixing of the
> writeSelectedRows in the onEndPage method; if I replace that line with
> document.add(head) etc. I can write to the page, but the problem is that
> those don't show up on the first page, just the second page and 
> thereafter.
> More to the point, just using document.add doesn't allow me to set the
> positioning of the headers and footers.  As a final bit of information, 
> I'm
> using iText 2.0.5 after upgrading from 1.1.4; I've quashed all other bugs,
> but this one is the last one (headers and footers didn't work for me in 
> the
> old version either).  This is driving me crazy and I'm looking for any 
> help
> or advice that can be offered.  Thanks!
>
> John Z.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions
Buy the iText book: http://itext.ugent.be/itext-in-action/

Reply via email to