У меня есть вопрос о пользовательской нумерации страниц («точечные страницы») при создании PDF. Я использую XSLT для создания XSL-FO из экземпляра XML. Мой процессор XSLT - Saxon 9, а процессор XSL-FO - RenderX (4.18).
Мне нужно изменить нумерацию страниц, как только она достигнет определенной точки. (Номер страницы, который находится в нижнем колонтитуле (static-content).)
Допустим, у меня есть книга с несколькими главами. У каждой из этих глав есть номер главы. Этот номер главы основан на нумерации страниц.
Например, если номер главы - 2000, первой страницей главы будет 2001.
Это нормально до 998-й страницы (глава должна заканчиваться на четной странице). Например, если в главе 2000 было 1 002 страницы, нумерация страниц последних 6 страниц была бы:
2997, 2998, 2999, 3000, 3001, 3002
Это неверно, поскольку может быть глава 3000.
Мне нужно изменить нумерацию страниц после 998-й страницы. Используя мою главу 2000 с примером 1002 страницы, нумерация должна быть:
2997, 2998, 2998.1, 2998.2, 2998.3, 2998.4
.
Вот что я делаю сейчас:
Я использую <fo:page-number>
в моем fo:static-content
.
Я устанавливаю номер начальной страницы (номер главы + 1), используя атрибут initial-page-number
в элементе fo:page-sequence
.
Если у меня есть , я могу манипулировать промежуточным файлом, который создает XEP (RenderX), но я думаю, что он может запутаться, и я не уверен, насколько надежным это будет. Кроме того, обновление оглавления, вероятно, станет кошмаром. (Промежуточный файл, созданный XEP, представляет собой XSL-FO с постобработкой; в нем уже созданы номера страниц.)
У кого-нибудь есть предложения по стратегиям, которые я могу использовать для достижения этой цели? Мне показалось, что я где-то читал, что могу использовать атрибут maximum-repeats
в элементе page-sequence-master
(например, maximum-repeats="998"
), а затем использовать другую главную страницу, но я понятия не имею, как это сделать.
Спасибо!