QA@IT

Webサイトをプリントする場合、背景画像を強制的に表示させることは可能ですか?

7556 PV

お聞きしたいのですが、Webサイトをプリントする場合、デフォルトのプリント設定だと背景が表示されませんが、ブラウザのクロムの場合
cssの設定で
@media print {
body {
-webkit-print-color-adjust: exact;
}
}
を記述するとプリントのオプション設定をしなくても背景が表示されるのですが、
他のブラウザでも同様の設定を行うcssやjsなどの記述はありませんでしょうか?
(phpとかサーバーサイドでの設定方法でも構いません)

回答

 ウェブアプリから離れて久しいのですが、検索手順の一例として。

 始めに、「-webkit-print-color-adjust」というオプションを見て、不思議に思いました。「webkit」というのは、レンダリング エンジンの名前ではなかったでしょうか。そこで、「webkit-print-color-adjust」を検索し、MOZILLA DEBELOPER NETWORK の次のエントリを見つけました。
https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-print-color-adjust (英語)

 ここに、「Webkit エンジンを使用するブラウザで」と書かれています。下にはサポートするブラウザの一覧もあります。IE は Webkit エンジンではありませんから、期待とは違う結果になりますし、最初に朱書きで「標準ではない。公開されるサイトでは使用するべきではない。今後、動作が変わる恐れがある。」と書かれているとおり、使用するべきではないでしょう。
 ここで、「force printing of background colors and images」という英語表記を知ることができましたので、この文言で検索しました。しかし、ブラウザのどこにその設定があるか、という結果が多く、期待するような結果は得られませんでした。
 ブラウザの設定を検索対象から外すために、「css」を足してみました。すると、次のページがヒットしました。おそらく、ご期待に添えるのではないかと思います。
https://defuse.ca/force-print-background.htm (英語)

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。