1

次の XSLT 構造があります。

<fo:layout-master-set>
    <fo:simple-page-master master-name="simpleA4" >                    
      <fo:region-body/>
      <fo:region-after extent="0.4cm"/>          
    </fo:simple-page-master>             
</fo:layout-master-set>

 <fo:page-sequence master-reference="simpleA4" >

    <fo:static-content flow-name="xsl-region-after">
      <fo:block font-size="5pt">
        Page <fo:page-number  />
      </fo:block>
    </fo:static-content>

    <fo:flow  flow-name="xsl-region-body">   
        <fo:block font-size="8pt">
            <!-Loop goes here->
        </fo:block>
    </fo:flow>

</fo:page-sequence>

<fo:page-number />本体内のループに関して、1からやり直す必要があるところ。ページ番号や別のアイデアをリセットすることは可能ですか?

4

2 に答える 2

5

可能だと思います、やってみてください

<fo:page-sequence master-reference="simpleA4" initial-page-number="1" force-page-count="no-force">

fo:page-sequenceループ内に配置します。

于 2012-11-14T16:01:09.080 に答える
0

ページ番号は FOP によって割り当てられるため、xslt を介して fo:page-number を直接リセットできるかどうかはわかりません。ページ内に未知の行を含む動的なコンテンツがある場合、ページ番号を見つけるのは困難です。これを試しましたか<fo:page-number-citation/>

各行に固定行があることが確実な場合は、を使用する代わりに手動で行番号を生成することをお勧めします<fo:page-number/>。ページ番号を生成するノードを削除fo:static-contentし、ページ番号を手動で計算して各ページの最後に追加します。

ページの本文に 80 行あるとします。

for each 1 to totalRows
  add page header
  when rowCount%80=0
    add pageNumber
于 2012-11-14T12:16:57.633 に答える