创建PDF时,我对自定义页面编号(“点页面”)有疑问。我正在使用XSLT从XML实例创建XSL-FO。我的XSLT处理器是Saxon 9,我的XSL-FO处理器是RenderX(4.18)。
我需要做的是能够在页面编号达到某个点后更改页码。 (页脚中的页码(静态内容)。)
让我们说我有一本书中有多章。这些章节中的每一章都有章节编号。此章节编号是页码编号的基础。
例如,如果章节编号是2000,则章节的第一页将是2001。
这是好的,直到第998页(该章必须在偶数页上结束)。例如,如果章节2000有1,002页,则最后6页的页码编号为:
2997, 2998, 2999, 3000, 3001, 3002
这是不正确的,因为可能有第3000章。
我需要做的是能够在第998页之后更改页码。使用我的章节2000和1,002页示例,编号应为:
2997, 2998, 2998.1, 2998.2, 2998.3, 2998.4
。
这就是我现在正在做的事情:
我在<fo:page-number>
中使用fo:static-content
。
我正在使用initial-page-number
元素中的fo:page-sequence
属性设置起始页码(章节号+ 1)。
如果我拥有,我可以操作XEP(RenderX)创建的中间文件,但我认为它可能会变得混乱,我不确定它会有多可靠。此外,更新目录可能最终会成为一场噩梦。 (XEP生成的中间文件是经过后处理的XSL-FO;它已经生成了页码。)
有没有人对我可以用来实现这个目标的策略有任何建议?我以为我在某个地方读过我可以在maximum-repeats
元素中使用page-sequence-master
属性(如maximum-repeats="998"
),然后使用不同的母版页,但我不知道该怎么做。
谢谢!