htmlを印刷する際のサイズってどのように決まっているのでしょうか?
例えば100×100ピクセルの画像は印刷時には何ミリになるんでしょうか?
また、100×100ピクセルの画像を100×100mmのサイズに調整することって可能なのでしょうか?
WEBブラウザにおける印刷時の1px辺りのサイズは(CSS仕様はさておき)実際に印刷してみないことには判りません. これは単位としてmm
やin
等を利用した場合も同様です.
とは言え, WEBブラウザ(レンダリングエンジン)の種類・バージョン毎におおよその倍率は決まっているようですので, 以下のフローを使ってサイズを逆算することで最終的な印刷結果を目的のサイズに合わせることは可能です.
- 目的のサイズの(例えば100mmを指定した)要素を印刷する(a)
- 実際の印刷出力結果を計測する(b)
- メディアクエリを使い, 印刷用のスタイル
transform:scale(a/b, a'/b');
を指定する.
NOTE:
ブラウザの種類によっては勝手に横幅を調整するものもあるため, 計算結果が狂うこともある.
なお, 印刷出力はWEBブラウザの種類の他, ズーム設定, OS, プリンタドライバ等によっても微妙に変化するため, 環境を特定できない用途においては完璧な対処はなかなか難しいでしょう.
参考
http://defghi1977-onblog.blogspot.jp/2013/04/svg.html
過去同様のことを調査した際のまとめ
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。