そこで2点質問です。両方答えて1セットとお考え下さい。既に片方が決着した場合は片方でも結構です。
1.これらの折り返しの違いはHTML上のどういう差異から起こってくるのか
2.折り返さないHTMLを無理矢理折り返させて印刷紙内に印刷するソフトは無いか(フリー/市販/シェアの順で優先してください)
■1.これらの折り返しの違いはHTML上のどういう差異から起こってくるのか
HTMLには、自動折り返しを禁止する NOBR タグや、CSS プロパティ white-space:nowrap があります。これが指定されていると、自動折り返しがされません。
しかし、実際に印刷用紙に収まらないサイトの多くは、上記のタグやプロパティによって引き起こされているのではなく、ほとんどの場合ページ幅を固定したデザインで作られていることが原因です。
例えば、<TABLE width="800"><TR><TD>文章…</TD></TR></TABLE> となっていると、文章が入っている部分の横幅はブラウザウィンドウサイズや用紙サイズに関係なく常に800ピクセルになります。
A4 用紙を縦に使った場合、その横幅に何ピクセル入るかというと (ブラウザやプリンタドライバや余白の設定にもよって変動しますが) おおむね650ピクセル程度なので、横幅800ピクセルで固定されている場合は右側150ピクセル程度が折り返されずにブチ切れます。
このような横幅固定デザインは、Alertbox: 画面解像度とページレイアウトや横幅を固定するな! − 後悔しないためのWebデザイン等に書かれているように良くないやり方なのですが、横幅を可変にしたまま複雑なデザインを行うにはより高度なスキルが必要になり、見た目に凝ったデザインがしにくいため、いまだ多数のサイトにはびこっています。
■2.折り返さないHTMLを無理矢理折り返させて印刷紙内に印刷するソフトは無いか
無理やり折り返させてではないですが、Firefox や Opera には、用紙に収まるよう全体を縮小して印刷する機能があります。
Internet Explorer にも同様の機能が 7.0 でやっと搭載されました。
それらのブラウザを使えば、印刷用紙からはみ出すことはなくなります。
また、プリンタメーカーによっては、用紙幅に収まるようにWebページを印刷するツールを無償公開byエプソンのようなツール・ドライバを提供している場合があり、Internet Explorer 6.0 の場合でも同様のことを実現できるようです。
回答ありがとうございます。テーブルタグか(;´д`)
A4用紙のピクセル数は考えたこともなかったので、良い勉強になりました。
さっそくIE7をダウンロードしました。