2012-03-15 6 views
36

Flying Saucer(CSS/HTMLをiTextにPDFにダンプする)を使用してPDFを作成していますが、CSS3を使用してイメージヘッダーとフッターを適用しようとしています各ページ。印刷用にCSSを使用してページヘッダーとフッタを作成する

私は基本的に、これは、各ページの左上にDIV入れたいのですが:

<div id="pageHeader"> 
    <img src="..." width="250" height="25"/> 
</div> 

私のCSSはやや次のようになります。

@page { 
    size: 8.5in 11in; 
    margin: 0.5in; 

    @top-left { 
     content: "Hello"; 
    } 
} 

は私が入れするための方法はありますこのdivはcontentにありますか?

答えて

35

は、各ページの先頭に要素を置く:

@page { 
    @top-center { 
    content: element(pageHeader); 
    } 
} 
#pageHeader{ 
    position: running(pageHeader); 
} 

(から優秀な答えに起草ページヘッダーとフッターの両方を含めるにはhttp://www.w3.org/TR/css3-gcpm/#running-elements(フライングソーサーに動作します)

+0

うわーを定義する必要があるが、私はそれをあまり完全な方法を行うには、 '背景image'を戦ってきた、私はすぐにこのことを知っていてほしいです。本当にありがとう! –

+0

私はこれを採用しようとしていますが、何らかの理由でChromeのヘッダーが最初のページにのみ印刷され、最後のページにのみフッターが印刷されます。 Firefoxでは、これは完全に壊れています。 –

+2

FirefoxまたはChromeで動作しますか?私はそれを両方試したが、それは私のために動作しません:/ – Jaro

1

を参照してください@ Adam):

<style> 
@page { 

    margin: 100px 25px; 
    size: letter portrait; 

    @top-left { 
     content: element(pageHeader); 
    } 

    @bottom-left { 
     content: element(pageFooter); 
    } 
} 

#pageHeader{ 
    position: running(pageHeader); 
} 

#pageFooter{ 
    position: running(pageFooter); 
} 

</style> 
<body> 
    <header id="pageHeader">something from above</header> 
    <footer id="pageFooter">lurking below</footer> 

    <div>meaningful rambling...</div> 
</body> 

注:すべてのページでフッターを繰り返すには、 、それを(複数ページのコンテンツ用)前に、他の体の内容

関連する問題