Я написал приложение с использованием Apache FOP, которое генерирует PDF-файлы со многими несколькими главами. Есть ли способ узнать, какая глава на какой странице. На самом деле, мне нужно создать индекс в начале, который сообщает, какая глава появляется на какой странице.
Добавление индексной страницы в PDF, созданный с помощью Apache FOP
Ответы (1)
Вы можете просто указать идентификатор элемента, для которого вам нужно знать номер страницы, а затем сослаться на него с помощью <fo:page-number-citation ref-id="id"/>
.
Пример:
Поместите идентификатор с автоматически сгенерированным идентификатором на каждый блок, содержащий название главы:
<xsl:for-each select="chapter"> <fo:block id="{generate-id(.)}"> <xsl:value-of select="@title"/> </fo:block> </xsl:for-each>
Затем укажите этот идентификатор, который вы дали блоку при циклическом просмотре одних и тех же элементов ввода в начале, где находится ваш индекс:
<xsl:for-each select="chapter"> <fo:block id="{generate-id(.)}"> <fo:page-number-citation ref-id="{generate-id(.)}"/> </fo:block> </xsl:for-each>
На самом деле не имеет значения, генерируется ли ваш индекс (который здесь больше похож на оглавление) до фактического содержимого или нет, поскольку идентификаторы вычисляются синтаксическим анализатором XSL, а FOP разрешает эти ссылки после макета страницы (и таким образом, номера страниц) был определен.
person
bwa-
schedule
17.07.2013