Page Sequences
To add any content to the PDF document, you must add one or more page sequences (as fo:page-sequence
elements). A page sequence is based on a master page, so pages in a given page sequence follows the size of it's master page.
Flows
In XSL-FO you don't actually add individual pages - instead you add content to a fo:flow
element, which represents the main content of the pages. Setting up both the fo:page-sequence
and fo:flow
elements could look like this:
// Initialize a new flow based on the body region
flow = new FoFlow("xsl-region-body");
// Initialize a new page based on the flow
FoPageSequence page = new FoPageSequence("Master", "Master", flow);
// Append the page sequence to the document
document.PageSequences.Add(page);
Static content
The fo:region-before
element can serve as the header of your pages, and as such you can add it to your page sequence like:
// Initialize a new static content for the header (before region)
FoStaticContent header = new FoStaticContent("header");
page.StaticContent.Add(header);
On the other hand, the fo:region-after
element represents can serve as the footer of your pages:
// Initialize a new static content for the footer (after region)
FoStaticContent footer = new FoStaticContent("footer");
page.StaticContent.Add(footer);
In both cases, the argument for the FoStaticContent
constructor refers to the names you specified for your regions of the master page.