2017-04-26 97 views
0

我使用xsl-fo和antennahouse創建pdf,並且已經爲我的文檔的第一頁,奇數頁和偶數頁使用fo:simple-page-masterfo:repeatable-page-master-alternative標籤定義了佈局,基於與此類似XML結構:一個項目,該項目集合自身XSL FO:基於XML內容的條件佈局

<test> 
<form title="Form A"> 
    <section title="First Section"> 
    <item> ... item 1 contents ... </item> 
    <item> ... item 2 contents ... </item> 
    <item> ... item 3 contents ... </item> 
    </section> 
    <section title="2nd Section"> 
    <item> ... item 1 contents ... </item> 
    <item> ... item 2 contents ... </item> 
    <item> ... item 3 contents ... </item> 
    </section> 
</form> 
<form title="Form B"> 
</form> 
</test> 

內容可以是非常大的,所以它可以跨越多個頁面。任何時候一節開始插入一個分頁符。

第一個頁面佈局有一個標題,它顯示了表單的標題+以頁面頂部爲中心的第一個部分的標題。其他兩種佈局的標題具有相同的信息,但左對齊而不是居中。

問題是,每當新節開始時,是否可以重新使用第一個頁面佈局?也就是說,對於我的文檔中的每個部分,我希望將標題居中,而其餘頁面仍應具有左對齊文本的標題。

在此先感謝...

回答

0

把每個部分在一個單獨的fo:page-sequence

這聽起來像你用每一節相同的方式使用表單標題,所以表單標題不應該是一個問題。否則,你必須做一些與第一個fo:page-sequence不同的東西來顯示錶單標題。

0

對我來說,「重用」的含義並不完全清楚。

我不知道有什麼方法可以將某些東西放到xsl-fo中並多次使用,但使用xslt的優點是可以很容易地在xsl-fo「snippet」中多次生成將fo:static-content元素分開放置在不同的fo:page-sequence中,由相同的xslt模板(因此您只能更改一個位置)。