FOPでxmlファイルからpdfファイルを作成しています。PDFの最後のページに何かを表示したいと思います。問題は、コンテンツを表示するために必要なページ数がわからないということです。実際の最後のページにいることをどのように知ることができますか? (各ページ シーケンスは、コンテンツのサイズに応じて 1 つ以上のドキュメント ページを生成できます)
ありがとう。
FOPでxmlファイルからpdfファイルを作成しています。PDFの最後のページに何かを表示したいと思います。問題は、コンテンツを表示するために必要なページ数がわからないということです。実際の最後のページにいることをどのように知ることができますか? (各ページ シーケンスは、コンテンツのサイズに応じて 1 つ以上のドキュメント ページを生成できます)
ありがとう。
一般的なページ レイアウトおよびヘッダーとフッターの条件付きページ マスターを指定できます (fo:static-content): http://www.w3.org/TR/xsl/#page-position
使用法:
1.) fo:layout-master-set で、必要なさまざまなページ マスターを定義します。たとえば、通常のページ マスターと、異なるはずの最後のページ用のページ マスター。
通常のページ マスターの例:
<fo:simple-page-master master-name="page-master-161302528-normal"
margin-left="2cm" margin-right="2cm" page-height="297mm"
page-width="210mm">
<fo:region-body margin-top="3.5cm" margin-bottom="41mm"
column-count="1" column-gap="0.50in" />
<fo:region-before region-name="normal-header"
overflow="visible" extent="2cm" />
<fo:region-after region-name="normal-footer"
overflow="visible" extent="40mm" precedence="true" />
</fo:simple-page-master>
2.) fo:layout-master-set 内に fo:page-sequence-master を定義します - ここで条件を追加します:
<fo:page-sequence-master master-name="page-master-161302528">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="page-master-161302528-last" page-position="last"/>
<fo:conditional-page-master-reference master-reference="page-master-161302528-normal" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
3.) ドキュメントで、定義する fo 要素 (fo:static-content および fo:page-sequence) のマスター参照を指定します。それぞれのマスターがアクティブな場合、それぞれの要素がレンダリングされます。上記の fo:simple-page-master に従って、fo:static-content 要素は、flow-name 属性として region-name を適切に指定する必要があります。
例:
<fo:page-sequence force-page-count="no-force"
master-reference="page-master-161302528" initial-page-number="auto"
format="1">
<fo:static-content flow-name="normal-header">...</fo:static-content>
</fo:page-sequence>
この全体的な例では、特定のページ ヘッダーとフッターの選択は、通常のヘッダー/フッター (例: "normal-header") と最後のページ ヘッダー/フッター (例: "last") で異なるフロー名によって行われます。 -ページヘッダー")。