Custom page number count in Prince
Prince makes it really easy to do all of the usual things with page numbers, like a different numbering scheme in the front matter and whatnot. Unfortunately you can’t counter-increment
on @page
, but thanks to Prince.addScriptFunc()
you’ve got something better.
h2 {counter-reset: page 50}
@page {
@bottom-left {
content: prince-script(fixpagenum, counter(page));
margin-left: 2cm;
}
}
In this CSS, instead of passing regular generated content, we’re passing a prince-script. That script has to be defined somewhere, like this.
Prince.addScriptFunc("fixpagenum", function(pagenum) {
pagenum = Number(pagenum);
pagenum = pagenum + pagenum - 50;
return pagenum;
});
The rationale in this case was to generate two separate documents, starting at page 50, one only left pages and the other only right pages. (Of course, the other one started at page 51.) I combined them with pdftk’s shuffle command.
pdftk left.pdf right.pdf shuffle output combined.pdf
I don’t think there’s a way to do something like this purely in Prince using CSS, but I’d love to be proved wrong.