page.header and page.footer are nodes that repeat on every page — at the top and bottom respectively. Both are optional, and each is an ordinary node, so anything you can put in the body goes there too.
A branded header
A header is usually arow: the brand on the left, document metadata on the right.
Page numbers
Page numbers come from arichText node using the pageNumber and totalPages spans. Put it in the footer (or header) so it repeats and resolves per page:
Page 1 of 3, Page 2 of 3, and so on. pageNumber and totalPages are filled in by the renderer — they’re the only dynamic values that don’t come from your data.
Page-number spans only do something useful where the node repeats. In
page.content they’d render a single time on the first page. Keep them in header or footer.A plain footer
Not every footer needs page numbers. A one-line legal/contact footer is just atext node:
See it in a multi-page document
The report example combines a repeating header, a long auto-paginating table, and a page-number footer.