プロが教える店舗&オフィスのセキュリティ対策術

例えば、IEはTridentというレンダリングエンジンを搭載しているようです。当然、ブラウザ表示のレンダリングはTridentが行うと思いますが、IEで印刷する場合のレンダリングも同じレンダリングエンジンが使用されるのでしょうか?

もしそうであれば、CSSのmediaタイプにprintを指定した場合(ブラウザ表示用のCSSと印刷用のCSSが同一場合)、ブラウザ上の表示と印刷ページの表示には、
・フォント(サイズ)の相違
・デフォルトで背景を印刷しない
・クライアント側の印刷用紙サイズによって画面右側が途中で切れる
の点を除いて、例えば、印刷ページにのみ特有のバグ等の大きな差がありますでしょうか?

A 回答 (3件)

関心カテゴリに英語が入っているので省略。



IE以外でも宜しいでしょうか?

どっちかというと実装上の問題でバグじゃないと思っているけど
Minefield(Trunk)/Geckoにおいて

https://bugzilla.mozilla.org/show_bug.cgi?id=379 …
#comment2 のtestcaseを実行すると,
どう見ても先頭から近い場所にあるオレンジ色の枠が2ページ目に印刷される、とか

#最近のTrunkでは再現しなくなっているはず。2.0.0.8で再現するかどうか確認していない

これもそうだね。

overflow:hiddenが,page自体に効いてしまって2ページ目以降印刷されない、とか
https://bugzilla.mozilla.org/attachment.cgi?id=2 …
simplified testcase of overflow:hidden print bugを印刷しようとしてみるとわかる

等、気になる点が結構あるってのはあります。

#あと、どこかの質問で
<!--DOCTYPE宣言とか省略。標準モード。-->
<div id="sampA">
<div id="sampB">
</div>
<div id="sampC">
</div >
</div>
みたいな構造があり,sampBとsampCにfloat:left;が適用されているとき
sampBがページの途中で終わる一方で,
sampA,sampCがページをまたぐと二ページ目はsampAにsampCだけが
float:left;されたようなレンダリングになる、ってのがあった。

#バグじゃない件でコレもあったらいいんだけどねぇ・・・
https://bugzilla.mozilla.org/show_bug.cgi?id=51848



#連続良回答狙ってます。ポイントくれるとうれしいなあ・・・

この回答への補足

ご回答ありがとうございます。

実例、もいただきありがとうございます。参考になりました。

ですが、

>#comment2 のtestcaseを実行すると,
>どう見ても先頭から近い場所にあるオレンジ色の枠が2ページ目に印刷される、とか
は、ちょっとトリッキーな記述をしていて、
(height: 2in のdiv内に、height: 25in のdivを入れてる)
IE6ではIEのバグ(もしくは仕様)により、スクリーンでも正しく表示されていません。

また、「2ページ目以降印刷されない」はバグというより仕様のような気が。

最後の、floatのやつも、IE6とFirefox2で試してみましたが、
再現されませんでした。

例)
<style type="text/css">
#sampA {width:800px; }
#sampB {width:390px; border:solid 5px red; float:left;}
#sampC {width:390px; border:solid 5px blue; float:left;}
</style>

<div id="sampA">
<div id="sampB">
<p>すごく長い文</p>
<p>(略)</p>
</div>
<div id="sampC">
<p>すごく長い文</p>
<p>(略)</p>
</div >
</div>


また、ANo.2の方も、overflowまわりがあやしいとのことですが、そもそもoverflowを使う機会が極めてまれなので、ご回答を読ませていただいて、個人的には、それほど際立ったバグはないのかなと思いました。

> #連続良回答狙ってます。ポイントくれるとうれしいなあ・・・
あ、はい。当分、締め切らないですが、締め切る際には、もちろん考慮いたします。

補足日時:2007/10/26 21:28
    • good
    • 0

ANo1です。


ブラウザによってエンジンの使われ方はそれぞれなのですが、どのブラウザであっても表示が良くても印刷では致命的なバグが必ずありました。エンジン云々の問題ではなく、タグやスタイルの認識自体に違いが起きてしまいます。(エンジンにはページ区切りが苦手なため)

一番印象に残っているのはoverflowプロパティに何かの値をセットしたか何かしたDIVのところで改ページされたとき、2ページ目以降がぐじゃぐじゃになって仲間みんなで大笑いしたなんてことも。しかもWindowsならすべてのブラウザで発生するもんだから解決するのにすごい苦労。。。

発生理由としては印刷時はエンジンによる描写にページ名とかページ番号とかを無理矢理入れようとするから競合が起きているのではという推理に至ったのですが真実は不明。ブラウザではなくOSが悪いのは確かなんだけど。。。
こんな感じの印刷バグは結構ありましたよ。普通印刷する機会が少ない(&印刷専用ページが存在する)から表には出されないだけなんですよね。

ま、何はともあれモニタ表示は過信しないことです。CSSガッチガチの目立つページを作るなら、ですが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

原因は良く分からないが、とにかくバグはあるって感じですね。レンダリングエンジンがそもそも違うというなら、印刷用の対応をしますが、同じエンジンなら、際立ったバグもなかろうから、ひとつのCSSで対応できるんじゃないかなと思いました。(画面表示と印刷を同じようにしたい場合)

お礼日時:2007/10/26 21:00

CSSのバグはどのブラウザであってもかなり大量に存在します。

印刷についてもしかりです。
それにモニタ表示用のレンダリングエンジンと印刷用のレンダリングエンジンは別物と考えたほうがいいですよ。

日本で一番シェアを誇るIEでも以下の通りです。パッと見ではこれで正常に動いているのが不思議に感じるぐらいです。(実際はこれらバグを意図的に回避したCSSを作成しているわけですが)
http://cssbug.at.infoseek.co.jp/detail/winie.html

正しく印刷されることを優先する場合、やはり印刷用のCSSが必要ですが、試行錯誤でなんとかなるものでもあります。(場合によりけりだけど)
結局は作成者側の努力次第、ということになりますか。

この回答への補足

> それにモニタ表示用のレンダリングエンジンと印刷用のレンダリングエンジンは別物と考えたほうがいいですよ。
別のレンダリングエンジンを使用しているのでしょうか?それともIEならTridentの簡易版?のようなものを使っているのでしょうか?

> 日本で一番シェアを誇るIEでも以下の通りです。
確かにIEにはゴマンとバグがありますね。ただ、ブラウザで確認を行っているので、モニタ表示用のバグと印刷ページ用のバグが同一の場合、同様に表示されるので問題ないのではないかと思いました。モニタ表示用にはなく、印刷用にのみ特有のバグはありますでしょうか?

補足日時:2007/10/23 02:30
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!