その場合、何を使ってレイアウトの調整をするのでしょうか?
表示内容は以下です。
・表紙
・ページごとにヘッダ、フッタ画像
・データベースから取得、集計したデータ一覧(HTMLのテーブルで件数は不定)
・グラフ(画像の大きさは固定)
・注意書きページ
特にHTMLのテーブルの高さが不定なので、印刷で用紙を分けていくときにどうしようか迷っています。
印刷に最適なようにページわけをしたり、共通のヘッダ、フッタを入れて印刷できるようにするためにはどうすればいいでしょうか?
HTMLで表示させると、いかができるのかが気になっています。
・ページごとのヘッダ、フッタを入れられるか?
・要素ごとに改ページできるか
なお、さまざまな環境で動作しなくてもかまいません。WinのFireFox2でのみでも結構です。
特別なサーバの必要などがないもので、フリーのものをお願いします。
改ページの位置はスタイルシートの page-break-before、page-breake-after で指定できます。
ページごとのヘッダ、フッタに関しては印刷時だけ表示する、という方法にしてみましたが、フッタはページの下部に表示させる方法を思いつきませんでしたのであまりフッタらしくありません。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <style type="text/css"> @media screen { /* 画面表示用スタイル */ .p-header, .p-footer { display : none ; } } @media print { /* 印刷用スタイル */ .pb-before { page-break-before : always ; } /* この要素の前で改ページ */ .pb-after { page-break-after : always ; } /* この要素の後で改ページ */ .p-header, .p-footer { font-size : 80% ; text-align : center ; } .p-header { margin-bottom : 2em ;} .p-footer { margin-top : 2em ; } } </style> </head> <body> <div><div class="p-header">夏目漱石</div>吾輩は猫である。<div class="p-footer">最初のページ</div></div> <div class="pb-before">名前はまだ無い。</div> <div class="pb-after">どこで生れたかとんと見当がつかぬ。<div class="p-footer">二番目のページ</div></div> <div>何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。<div class="p-footer">最後のページ</div></div> </body> </html>
その Web アプリを何で開発してるかにもよるような気がします....
とりあえず Java なら JasperReport とか iText といった帳票ツールが有名かと思います。
http://blog.takeda-soft.jp/blog/show/139
http://aaa-www.net/~ttakabe/cgi-bin/wiki/pukiwiki.php?JasperRepo...
改ページの指定はできるんですね。
実際のコードまで書いていただきましてありがとうございます。
とても参考になります。