2012-01-20 17 views
4

ピサドキュメントの最初のページにフッタが表示され、他のすべてのページに別のフレームとして表示されるのに問題があります。私はhereからlastPageのアイデアを適用しようとしましたが、運がありません。pisa/xhtml2pdfで最初と最後のページに異なるフッタを表示

これは可能ですか? <pdf:nextpage />は、ドキュメントが複数のページにまたがって流れる可能性がある(またはできない)長いテーブルがあるため、ここでは適切ではないようです。 <pdf:nextframe />に加えて、最初のページのみのフレームが有望に見えますが、これを正確に使用する方法がわかりません。現在、私は(簡潔にするため切り取ら)き

<style type="text/css"> 
    @page { 
    margin: 1cm; 
    margin-bottom: 2.5cm; 
    @frame footer { 
     -pdf-frame-content: footerFirst; 
     -pdf-frame-border: 1; 
     bottom: 2cm; 
     margin-left: 1cm; 
     margin-right: 1cm; 
     height: 1cm; 
    } 
    @frame footer { 
     -pdf-frame-content: footerOther; 
     bottom: 2cm; 
     margin-left: 1cm; 
     margin-right: 1cm; 
     height: 1cm; 
} 
</style> 
<body> 
    <table repeat="1"> 
    <!-- extra long table here --> 
    </table> 
    <div id="footerContent">This is a footer</div> 
    <!-- what goes here to switch frames after the first page? --> 
    <div id="footerOther"></div> 
</body> 

これは、各ページに同じフッターを配置します。私は連続した各ページに同じスペースを残す必要がありますが、フレームには内容はありません。

答えて

5

追加のレイアウトを名前で定義してから、nexttemplateタグを使用して明示的に切り替えるようにxhtml2pdfに指示できます。私は最近、最初のページにヘッダーを付けずに、後続のすべてのページにヘッダーを表示するようにしました。

あなたは、おそらくこのように、2つの異なるページにあなたの@pageの定義を変更する必要があります。

<style type="text/css"> 
    @page { 
    margin: 1cm; 
    margin-bottom: 2.5cm; 
    @frame footer { 
     -pdf-frame-content: footerFirst; 
     -pdf-frame-border: 1; 
     bottom: 2cm; 
     margin-left: 1cm; 
     margin-right: 1cm; 
     height: 1cm; 
    } 
} 

@page innerpages { 
    margin: 1cm; 
    margin-bottom: 2.5cm; 
    @frame footer { 
     -pdf-frame-content: footerOther; 
     bottom: 2cm; 
     margin-left: 1cm; 
     margin-right: 1cm; 
     height: 1cm; 
    } 
} 
</style> 

次に、あなたのhtmlにあなたは、別のレイアウトに切り替え、このようなタグを使用する場所

<pdf:nexttemplate name="innerpages"/> 

次のページ(およびテンプレートを再度変更するまでの後のページ)では、「other」フッターで内側ページレイアウトを使用します。

+0

私は反対の問題があります:最後のページでフッターを変更します。同様のソリューションはありますか?ありがとう – Don

+0

@Don:これは同じ解決策です。最後のページに別のテンプレートを作成し、上のようにタグを使用して最後のページの前に切り替えます。 –

+0

しかし、私が最後のページの前にページにいるかどうかはどうすればわかりますか? (私はどれくらいの行が1ページに収まるかは分からないので、ドキュメントのページ数を予測できません...) – Don

関連する問題