- PR -

IE印刷時にヘッダを固定する方法

1
投稿者投稿内容
エヌ
会議室デビュー日: 2003/04/09
投稿数: 15
投稿日時: 2006-01-24 17:37
お世話になります。

現在、Webアプリケーションを作成しているのですが、
その中にtableタグで組まれた一覧をIEの印刷機能する画面があります。
単純に印刷するのであれば簡単なのですが、
改ページされた場合ヘッダとして見出し(thタグ)を常に表示したいとの
要望が出てきました。

いろいろと探してみたのですが良い方法が見つからず困っています。
何か良い方法をご存知の方がいましたら教えていただけると助かります。

申し訳ないのですがよろしくお願いします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-01-24 19:47
印刷ボタンをクリックするなど、イベントを介すことが可能であれば、
印刷時に改ページされる部分にヘッダを差し込んで、
印刷終了時にヘッダを抜くというのはいかがでしょうか。


通常改ページされる行は、どこになるかわかりませんが、
スタイルシートによって明示的に設定することができます。
page-break-before/page-break-after等・・・


また、印刷の前後のイベントは、
onafterprint/onbeforeprintというイベントハンドラで検出できます。
エヌ
会議室デビュー日: 2003/04/09
投稿数: 15
投稿日時: 2006-01-25 10:40
アドバイスありがとうございます。
ヘッダの固定はその方法でいけそうです。

ちなみに印刷される項目の中にTEXTAREAで入力された項目のため
任意の改行が入ってしまったり、文字が長すぎ改行されてしまい、
行数が可変になってしまうもののあるのですが
やはり、これは項目の高さ(height)を最大行数で指定し、
強制的にレイアウトを整えてあげるしかないのでしょうか?


よろしくお願いします。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2006-01-25 11:47
現行のHTML機能では、そうなります。たぶん、連続千ページ印刷もできないでしょう。
page-break-before … 直前に改ページ

* Windows版 Netscape 6:非対応
* Windows版 NC 4.7:非対応
* Windows版 IE 6.0:対応
* Windows版 IE 5.5:対応
* Windows版 IE 5.0:対応
* Windows版 IE 4.0:対応
* Windows版 IE 3.0:非対応
* Macintosh版 IE 5.0:対応
* Macintosh版 IE 4.5:一部対応

page-break-after … 直後に改ページ

* Windows版 Netscape 6:非対応
* Windows版 NC 4.7:非対応
* Windows版 IE 6.0:対応
* Windows版 IE 5.5:対応
* Windows版 IE 5.0:対応
* Windows版 IE 4.0:対応
* Windows版 IE 3.0:非対応
* Macintosh版 IE 5.0:一部対応
* Macintosh版 IE 4.5:一部対応

page-break-inside … 要素内での改ページの禁止

* Windows版 Netscape 6:非対応
* Windows版 NC 4.7:非対応
* Windows版 IE 6.0:非対応
* Windows版 IE 5.5:非対応
* Windows版 IE 5.0:非対応
* Windows版 IE 4.0:非対応
* Windows版 IE 3.0:非対応
* Macintosh版 IE 5.0:非対応
* Macintosh版 IE 4.5:非対応
* FireFox 非対応
* Opera8 対応

[ メッセージ編集済み 編集者: MMX 編集日時 2006-01-25 14:23 ]
XHTML-Print
http://www.w3.org/TR/2006/PR-xhtml-print-20060131/
活動はいろいろ、あるようですが。どーなんでしょー
欧文組版の用語が頻出する、XSL-FO より HTMLベースのほうが好ましいですが

[ メッセージ編集済み 編集者: MMX 編集日時 2006-02-04 23:34 ]
エヌ
会議室デビュー日: 2003/04/09
投稿数: 15
投稿日時: 2006-01-25 13:22
やはりそうですか…。
何か別の方法を考えてみます。
情報ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)