В прошлом я использовал <fo:page-number-citation>
для каждой записи в оглавлении (оглавление). Я делаю оглавление как <fo:table>
.
<fo:page-number-citation>
имеет атрибут ref-id
, который должен содержать id
местоположения, на которое вы ссылаетесь. Он должен сгенерировать номер страницы PDF, где находится id
.
Например, если вы хотите, чтобы каждый <chapter>
был указан в вашем оглавлении, вы бы использовали <fo:page-number-citation>
с ref-id
, который соответствует id
того места, где выводился <chapter>
(например, fo:page-sequence
, fo:block
и др.).
Вот пример. Я основываю атрибут id
на значении существующего атрибута, но вы можете создать идентификатор, если вам нужно.
Пример главы XML:
<chapter foo="CHAP-1">
...
</chapter>
Пример записи в таблице оглавления:
<fo:table-cell>
<fo:block>
<fo:page-number-citation ref-id="CHAP-1"/>
</fo:block>
</fo:table-cell>
Пример вывода <chapter>
:
<fo:page-sequence id="CHAP-1">
...
</fo:page-sequence>
Вы также можете обернуть fo:page-number-citation
в fo:basic-link
, чтобы связать номер страницы в оглавлении с реальной страницей.