[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Generating different headers and trailers for the first, subsequent and last pages using FOP

Subject: Re: [xsl] Generating different headers and trailers for the first, subsequent and last pages using FOP
From: "W. Eliot Kimber" <ekimber@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 12 Jan 2005 09:32:49 -0600

JBryant@xxxxxxxxx wrote:

Hi, Kevin,

I don't know of any way to get the actual last page of a page sequence to have a different header or footer.

The work-around I use is to add another page sequence at the end of the document. Then I get a blank page that has the end footer information I need. If the powers that be hate it, point out that you can put all kinds of good things on this page: company logo, contact info, full copyright notice, etc. I've used this method to get around this issue more than once.

If your FO processor supports the page-position="last" condition for page masters you can simply create a different page master with differently-named before and after regions. However, not all FO implementations support page-position="last".

Another way is to put all the header or footer content in markers and
then use retrieve-position="last-starting-within-page".

Create an initial marker with the non-last header or footer content and make it a child of fo:flow. For the last-page header/footer, at the end of the flow, create a zero-height fo:block that contains a marker with the last page content. Since that block will be the last starting within the the last page, it will be used for the last page.

The only challenge here would be if the last-page header or footer needed to have a different extent than the other pages, in which case you might have to do some tricky stuff to coordinate the placement of the last-page body contents relative to the header/footer, but it can be managed.


W. Eliot Kimber
Professional Services
Innodata Isogen
9390 Research Blvd, #410
Austin, TX 78759
(512) 372-8122


Current Thread