1

多くの複数の章を持つ PDF を生成する Apache FOP を使用してアプリケーションを作成しました。どの章がどのページに掲載されているかを知る方法はありますか? 実際には、最初に、どの章がどのページに表示されているかを示す索引を作成する必要があります。

4

1 に答える 1

1

ページ番号を知りたい要素に ID を付けて、 で参照するだけ<fo:page-number-citation ref-id="id"/>です。

例:

  1. 章のタイトルを含む各ブロックに、自動生成された ID を持つ ID を配置します。

    <xsl:for-each select="chapter">
        <fo:block id="{generate-id(.)}">
            <xsl:value-of select="@title"/>
        </fo:block>
    </xsl:for-each>
    
  2. 次に、インデックスがある開始時に同じ入力要素をループするときに、ブロックに指定した ID を参照します。

    <xsl:for-each select="chapter">
        <fo:block id="{generate-id(.)}">
            <fo:page-number-citation ref-id="{generate-id(.)}"/>
        </fo:block>
    </xsl:for-each>
    

ID は XSL パーサーによって計算され、FOP はページ レイアウト (およびしたがって、ページ番号) が決定されました。

于 2013-07-17T16:59:04.320 に答える