2011-10-16 40 views
5

私はレポートの作成を完了しました。次のステップは各ページに印刷されるヘッダを作成することです。 私はHow to use HTML to print header and footer on every printed page of a document?で提供されているソリューションを試してみましたが、Webkitブラウザでうまく動作していないようです。各ページのヘッダを印刷

レポートにこのオプションを実装する方法はありますか?

+0

HTMLファイルのシリーズ? –

+0

私のレポートはデータベースから受け取ったデータの出力です。何も特別なものはありません。私が必要とするのはすべてのページに印刷されるヘッダーです。 –

答えて

4

印刷ヘッダーとフッターは、非常に困難な作業です。私のプロジェクトでは、ほぼ完全なWebを検索し、ヘッダーとフッターをすべてのページに印刷するには、テーブルとCSSルールを使用する必要があることがわかりました。テーブルとCSSを使用せずにすべてのページにヘッダーを印刷できません。

<style> 
    @media screen{thead{display:none;}} 
    @media print{thead{display:table-header-group; margin-bottom:2px;}} 
    @page{margin-top:1cm;margin-left:1cm;margin-right:1cm;margin-bottom:1.5cm;}} 
</style> 

まずCSSルールは、テーブルのthead要素がユーザーのために、画面上に表示されず、二番目のルールは、印刷thead要素の間に卓上として表示されていることを定義します:私はあなたの下のように行うためのコードを提供していますheader-groupこのルールは、各ページにヘッダーを表示するので、このヘッダーは各ページに印刷されず、3番目のルールはヘッダーまたはフッターの重複からページマージンを維持するためのもので、HTMLコードは以下のようになります。

<table> 
    <thead> 
     <tr> 
      <th> <--- Your header text would be placed here ---> </th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td> 
       <--- Your printing text would be place here ---> 
      </td> 
     </tr> 
    </tbody> 
</table> 

最後に、私はIE、Safari、Firefox、Chromeで物事コードを試しましたが、Chromeについては、 rは第1ページにのみ印刷されます。私はバグを何度も報告していましたが、Chromeはこの問題について何もしていません。

+0

は最初のページでのみ動作します... –

1

iframeを使用できますが、誰もそれを使用しないことをお勧めしません。

レポートを動的に作成する場合は、作成時に作成したページにヘッダーを追加するのが最も効果的です。結局のところ、これは最も広く使われているテクニックです。

もう1つのオプションはcss contentプロパティを使用している可能性があります。

div#main:before { 
    content: "<p>I appear before the div tag</p><hr />" 
} 

!DOCTYPEが指定されている場合IE8のみthe content propertyをサポートしています。

0

webkit.org上のバグがまだ解決されていない今日のとおり:https://bugs.webkit.org/show_bug.cgi?id=17205

を私はHTMLをPDFに変換したWebKitエンジンでの作業と同じ問題を抱えていました。これは私のために働い:、

thead { display: table-header-group;} 

最後のものをどこ行の問題を解決するために:

まず

<style type="text/css" media="all"> 

がthead要素の表示プロパティが設定されていることを確認し、すべてのメディアタイプのためにあなたのCSSを利用可能にページの区切りでヘッダーまたは行が半分にカットされてテーブルの重複が発生する

table { page-break-inside:auto } 
tr { page-break-inside:avoid; page-break-after:auto } 
thead tr th{ height: 50px;} 
関連する問題