2013-05-27 20 views
5

web-appで文書を印刷するCSSとHTMLレイアウトを正しく設定する方法を知りました。システムにはさまざまな文書があります(注文、請求書、配送メモなど)。ヘッダーとフッターがあるマルチページ文書のCSSとHTMLの印刷設定

  • 静的ヘッダー(会社のロゴ、連絡先情報)
    • 顧客データ(出荷、請求先住所)
    • 項目テーブル(複数の行を持つテーブル、次のことができます。文書はのから成りますスプレッドトラフ数ページ)
  • 静的フッタ(免責事項)

私が欲しいのは、印刷機能を以下の通りです:

  • 体は、すべてで印刷テーブルヘッダを持っているトラフいくつかのページ
  • 項目テーブルを広げた場合、私は、静的ヘッダーとフッターは、各ページ上のプリンタになりたいですそれはより多くのページ

に広がる場合ページは現在、私のHTMLレイアウトは、このようなものです:

<!-- STATIC HEADER --> 
<div id="pageHeader"> 
    <table class="table"> 
     <tr> 
      <td>Static header content here</td> 
     </tr> 
    </table> 
</div> 

<!-- DOCUMENT CONTENT --> 
<div id="pageBody"> 

    <!-- Customer data --> 
    <table class="table"> 
     <tr> 
      <td>Customer data here</td> 
     </tr> 
    </table> 

    <!-- Items table --> 
    <table class="table table-condensed table-print"> 
     <thead style="display:table-header-group;"> 
      <tr> 
       <th>Table header here</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>Rows here</td> 
      </tr> 
     </tbody> 
    </table> 

</div> 

<!-- STATIC FOOTER --> 
<div id="pageFooter"> 
    <table class="table"> 
     <tr> 
      <td>Static footer content here</td> 
     </tr> 
    </table> 
</div> 

this questionの回答に続いてヘッダーとフッターを実行していることについて読んでいましたが、結果が得られません。現在、私のCSSは次のように設定されている:

#pageHeader, #pageFooter { display: none; } 

@media print { 
    #pageHeader { display: block; position: running(pageHeader); width: 100%; } 
    #pageFooter { display: block; position: running(pageFooter); width: 100%; } 
} 

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

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

Firefoxは私に完全に奇妙な結果が得られます。それは最初に空白のページを印刷し、次に2ページ目は1ページの文書であればOK、複数ページの文書であれば最初のページのみを印刷し、他のページは無視されます。

Google Chromeはやや優れています。それはすべてのページを印刷しますが、静的ヘッダーとフッターはすべてのページに印刷されません。ヘッダーは最初のページにのみ印刷され、フッターは最後のページにのみ印刷されます。

また、別の問題は、複数のページにまたがって広がることができるメインテーブルが、テーブルが複数のページにわたって広がっている場合、すべてのページにテーブルヘッダーを印刷しないことです。私はの<thead>にあると思っていましたか?

これは実現不可能なのでしょうか、何か完全に間違っていますか?あなたが私にこれをどう扱うかに関するアドバイスや戦略を与えることができれば、私はとても幸せになれます。このアプリケーションは制御された環境で動作しているので、私は1つまたは2つのブラウザに集中できます(ChromeとFirefoxは素晴らしいでしょう)。それは両方のボーナスで動作する場合!

+0

実行中のページヘッダーをシミュレートするChrome互換のメソッドを公開しました** [ここ](http://stackoverflow.com/questions/19646835/print-repeating-page-headers-in-chrome/25880258#25880258)* *(フッターのサポートはありません)、繰り返しテーブルヘッダーの解決策** [ここ](http://stackoverflow.com/questions/7211229/having-google-chrome-repeat-table-headers-on-printed -pages/25737442#25737442)**。 – DoctorDestructo

答えて

0

Firefoxは、画面に通常表示されるHTMLページのスタイルを印刷するのに問題がありますが、これは機密情報なので何を試しても何の示唆もなく、おそらくページのハッキングを示唆するものではありません。以下は一般的な提案です。

特定のサイトで問題が発生した場合は、最初に試してみるとよいのは、Firefoxのキャッシュを消去し、サイトの保存済みのCookieを削除することです。

  1. バイパスFirefoxのキャッシュ

    使用はCtrl + Shiftキー+ rは、サーバからの新鮮なページをリロードします。

    代わりに、あなたはまた、完全に使用してFirefoxのキャッシュをクリアすることができます

    • オレンジ色のFirefoxボタン(または[ツール]メニュー)> [オプション]> [詳細
    • ネットワークミニタブ> [キャッシュされたWebコンテンツの場合:「今すぐ消去"

    大容量のハードドライブを使用している場合は、数分かかることがあります。

  2. サイトのCookieを削除します(保留中の作業は最初に保存してください)。

    サイトのページを見ながら:

    • 右クリックし、選択した表示ページ情報>セキュリティ>「ビュークッキー」
    • のAlt + T(クラシック[ツール]メニューを開く)>ページ情報>セキュリティ>「ビュークッキー」

が次にページをリロードし、再度ログインしてみてください。それは役に立ちますか?

0

Firefoxのセーフモードを試してもよろしいですか?これは、拡張機能(およびいくつかのカスタム設定)による干渉をバイパスするための標準的な診断ツールです。詳細:セーフモードを使用してFirefoxの問題をトラブルシューティングします。

あなたは再起動してアドオンの無効ダイアログで

、(リセットしない)「セーフモードで起動」をクリック

Safeモードはありません>

ヘルプを使用してFirefoxをセーフモードで再起動することができますプラグインを自動的に無効にしません。 Flashには問題ないはずですが、あなたはここで他人を無効にできます。

オレンジ色のFirefoxボタン(または[ツール]メニュー)>>プラグインカテゴリ

どれ違いアドオンを追加しますか?

+0

@アドオンを無効にして再起動を選択すると「セーフモードで起動」オプションがありません。 OS XでFirefox 21.0を使用しています。ここにダイアログがあります。https://dl.dropboxusercontent.com/u/1207859/Screen%20Shot%202013-05-30%20at%201.58.56%20PM.png –

+0

私は私の会社でブロックされていることを提供しています。とにかく、私は家に帰るとリンクを開きます。試すまでこのリンクhttp://kb.mozillazine.org/Safe_mode#Mac_OS_X。 OS Xでセーフモードを有効にして試してみてください。 –

4

私はいくつかの研究を行った同じ問題に焦点を当てています。ここに私の結果:

display:table-header-group;はクロム/クロム/ webkit/..では機能しません。 4年以来オープンな問題があります。 https://code.google.com/p/chromium/issues/detail?id=24826

@bottom-centerを使いたかったとします。これは素晴らしい考えです。ここでhttp://www.w3.org/TR/2013/NOTE-css-print-20130314/#at-rulesと宣言されていますが、http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Cascading_Style_Sheets)#Grammar_and_rulesを参照すると、どのレイアウトエンジンでも実装されていません。 私はそれがなぜここに言及されるのかわからない。http://alistapart.com/article/boom。誰でも構いませんか?

あなたが最後にあなたの最初のページのヘッダーとフッターを取得する理由は非常に簡単です:ちょうど@page部分を切り取って、あなたは以下を参照してください。@media print { ... display:block ... あなたが一番上にフッターを宣言した場合、それは動作しません。 。

+0

'' '@ top-center''と' '@ bottom-center''は[Prince](http://www.princexml.com/)によってサポートされています。 –

関連する問題