2013-11-22 54 views
2

我使用XSL-fo從DITA書籤輸出爲PDF,並且我想要一個唯一的標題出現在文檔的第一頁,但不是在每章的第一頁。我嘗試過使用conditional-page-master-reference元素的page-position屬性,但是這會導致我的自定義標題出現在每章的第一頁上,而我想讓自定義標題僅出現一次,在文檔的第一頁上,另一個標題出現在文檔的每隔一頁上,而不管章節邊界如何。xsl-fo文檔第一頁的不同標題,而不是每個章節

+0

方面提供最好的,你的意思是第一頁輸出或第一頁面序列的頁面? – PhillyNJ

+0

輸出的第一頁,我猜。最終結果是PDF文檔,在文檔的第一頁上有一個標題,而在其他每個頁面上都有不同的標題。 – rraleigh

+0

如果它是輸出的第一頁,那麼第一頁應該在它自己的頁面序列上。 – PhillyNJ

回答

1

您需要使用頁面序列主

<fo:page-sequence-master master-name="recto-verso-document"> 
    <fo:repeatable-page-master-alternatives> 
     <fo:conditional-page-master-reference odd-or-even="odd" master-reference="page-odd" blank-or-not-blank="not-blank"/> 
     <fo:conditional-page-master-reference blank-or-not-blank="not-blank" odd-or-even="odd" page-position="first" master-reference="last-page-odd"/> 
     <fo:conditional-page-master-reference blank-or-not-blank="not-blank" odd-or-even="even" page-position="rest" master-reference="last-page-even"/> 
     <fo:conditional-page-master-reference odd-or-even="even" master-reference="page-even" blank-or-not-blank="not-blank"/> 
    </fo:repeatable-page-master-alternatives> 
</fo:page-sequence-master> 

然後對於每個有條件頁主基準,定義你的簡單頁面主爲每一個:

<fo:simple-page-master master-name="first-page-odd" page-height="11in" page-width="8.5in" margin-top="0.5in" margin-left="1.0in" margin-right="0.5in"> 
     <fo:region-body region-name="xsl-region-body" margin-top="0.80in" margin-bottom=".5in" overflow="auto"/> 
     <fo:region-before region-name="xsl-region-before-first" extent="1in"/> 
     <fo:region-after region-name="xsl-region-after" extent="0.6in"/> 
</fo:simple-page-master> 

<fo:simple-page-master master-name="page-odd" page-height="11in" page-width="8.5in" margin-top="0.5in" margin-left="1.0in" margin-right="0.5in"> 
     <fo:region-body region-name="xsl-region-body" margin-top="0.80in" margin-bottom=".5in" overflow="auto"/> 
     <fo:region-before region-name="xsl-region-before" extent="1in"/> 
     <fo:region-after region-name="xsl-region-after" extent="0.6in"/> 
</fo:simple-page-master> 

然後在您的頁面序列中爲每個區域名稱定義您的區域。例如:

<fo:static-content flow-name="xsl-region-before-first"> 
     <fo:block>do something for your header</fo:block> 
    </fo:static-content> 


<fo:static-content flow-name="xsl-region-before"> 
     <fo:block>do something for your header</fo:block> 
    </fo:static-content> 

沒有看到你的FO,這是我可以在如何通過的文件第一頁來解決問題

+0

你的例子在右側被切斷,所以我看不到它的全部。 – rraleigh

+0

我明白了。有一個滾動條? – PhillyNJ

+1

如果您使用Mac,滾動條可能不可見。 (雖然在那裏)。例如,嘗試將兩個手指移動到鼠標墊上的文本。 –

相關問題