• ベストアンサー

印刷時ヘッダーとフッターを挿入

印刷時ヘッダーとフッターを挿入 現在HPを作成しているのですが、来訪者がHPを印刷する時に、 フッターとヘッダーをこちらで指定しておくことは可能でしょうか? ページ印刷時2枚以上になる場合全ページに同じヘッダーとフッターが 印刷されるようにしたいのです。 初心者なのであまり専門的なことまではわかりませんが、 html,Javascript,cgi,cssなどWindows環境で使用可能であれば基本言語は問いません。 わかる方いらっしゃいましたらご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

共通のフッター部とヘッダー部を別途用意し、各ページに自動挿入するのは、 主にCGI(PHPとかPerl)のお仕事です。 Javascriptでやる時はAJAXと呼ばれる手法で、動的にコンテンツを 挿入出来ます。 ただし、プリント時にのみとなると、IEだけだったら、 window.onbeforeprint = functuon(){}で処理を書けますが、 一般的なブラウザーにこのイベントは無いです。(キーイベントで PRINTキー押下を検知なんてのはいんちきですね) やはり、全部のページに予めフッター部とヘッダー部を含めておいて、 普通はCSSで非標示にして、印刷用のCSSを作って、 <link rel="stylesheet" type="text/css" href="/screen.css" media="screen"> .print_header{display:none;} <==注意:screen.cssの内容です。                    この場に書くんじゃない <link rel="stylesheet" type="text/css" href="/print.css" media="print"> .print_header{display:block;} <==注意:print.cssの内容です。                    この場に書くんじゃない <body> <div class="print_header">header部</div> </body> print.cssでのみdisplay:block;にするのがよいのでは..

palmist_1987
質問者

お礼

回答ありがとうございます。 質問の仕方があまりよくなかったのでしょうか、語弊があったように思われます。 質問の意味としては、びろーんと縦に長いページだったとすると、印刷時2枚とか3枚にしないと 字がちっちゃくなっちゃいますよね? それで、ヘッダーとフッターをあらかじめ用意していても、印刷したら最初のページのみにヘッダーが、 最後のページのみにフッターが入っちゃいますよね? そうではなくて、印刷時に全部のページにヘッダー・フッターを挿入したいという話でした。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • wisize
  • ベストアンサー率42% (37/87)
回答No.3

若干質問の意図が汲み取れないのですが、 通常表示される総ページ数などの印刷用ヘッダ・フッタを無効にして、 そちらで任意のものを設定したいというのなら「無理」です。 ブラウザで閲覧してるときは表示されなかった項目を印刷時には挿入したいというのなら、 CSSのメディア設定を使ってみてはいかがでしょうか?(参考URL) ブラウザによる閲覧時と印刷時とで異なるCSSを適用することが可能ですので、 当然ながらある程度は内容そのものを変化させることも可能です。 いずれにしてもユーザの利便性は考慮の上でどうぞ。 意図した通りの内容に印刷されないのは迷惑ということも充分にありますしね。

参考URL:
http://msugai.fc2web.com/web/CSS/media.html
palmist_1987
質問者

お礼

回答ありがとうございます。 >通常表示される総ページ数などの印刷用ヘッダ・フッタを無効にして、 >そちらで任意のものを設定したいというのなら「無理」です。 たぶんこちらになりますね。 wordなどの印刷レイアウト上のヘッダー・フッターにあたる部分に任意の文字列を挿入という 意味でした。 ただそうでなくても、ヘッダー・フッターにあたる文字列を印刷時、ページの上下に挿入できるだけ でもよいのですが、それでも表示ページの文字列の高さを制御して任意の高さになったらpagebreakで 改ページを入れて、その前後に文字列が入るよう記述という方法も考えたのですが、ページ内に表示されるデータが他のファイルから持ってくるので大変なことになりそうでして。 >いずれにしてもユーザの利便性は考慮の上でどうぞ。 >意図した通りの内容に印刷されないのは迷惑ということも充分にありますしね。 利用者は身内のみのごく限られた一部のみで、IE限定。 また、これは利用者がいちいちヘッダー・フッターを編集するの面倒だからこんな風にできないのと 言われまして。

すると、全ての回答が全文表示されます。
noname#140925
noname#140925
回答No.1

ヘッダ、フッタを付与してるのは、ブラウザの機能なので。 標準設定のままなら、印刷した用紙の右上に「ページ/総ページ数」で印刷されますし、フッタにURLも印刷されますから同じページで印刷したものだって事は見分けが付きますが、それでは駄目なのでしょうかね?

すると、全ての回答が全文表示されます。

関連するQ&A