framesetタグ使用ページをChromeやEdgeで印刷すると余白が入る問題について

framesetタグ使用ページを印刷しようとすると、謎の余白が入り画面部分が小さくなってしまう現象について調査しました。

原因

IEやFirefoxではframeを使用したページの印刷に対応しているようで、ブラウザの標準機能として各frameを個別に印刷することが可能ですが、ChromeやEdgeではそういった機能はなく、frameを使用したページの印刷には対応していないようです。

そもそもframesetやframeはHTML5で廃止されたタグなので、致し方ない気もします。

解決方法

1.framesetをiframeに変更

framesetタグをiframeタグに変更すると、ChromeやEdgeでも余計な余白が入らずに綺麗に印刷することができます。

仕様的にも似ているタグなので、変更もそれほど手間がかからないと思います。

2.frameを使わない

frameレイアウトのページ自体が過去の遺物的な存在なので、frameレイアウトを使わない構造に作り直すのが一番いい気がします。

ただし、当然サイトの構造が大きく変わるので手間も大きく、特に規模が大きいサイトだと大変です。

3.撮影したスクショを印刷する

一度印刷したいページのスクショを撮ってしまい、その画像を印刷するという方法です。
正直これが一番お手軽で確実だと思います。