印刷ボタン(指定範囲)

便利系 Easy #js #print #utility

ページ全体ではなく、指定した範囲だけをきれいに印刷するためのボタンです。クリックすると window.open で新しい空ウィンドウを開き、対象要素の outerHTML だけを書き込んでから print() を呼びます。

▶ プレビュー

解説

ページ全体ではなく、指定した範囲だけをきれいに印刷するためのボタンです。クリックするとwindow.openで新しい空ウィンドウを開き、対象要素のouterHTMLだけを書き込んでからprint()を呼びます。これにより、ヘッダーやサイドバー、広告などを含めず、請求書やクーポンなど本当に紙にしたい部分だけを出力できます。元のページのレイアウトには手を加えません。

使うと便利な場面

  • 請求書・領収書・見積書など書類部分だけの印刷
  • クーポンやチケット、予約番号の控え
  • レシピや手順など必要箇所だけ紙に残したいとき

印刷対象は、囲んでいる要素のidを差し替えるだけで変更できます。注意点として、新ウィンドウには元ページのCSSが引き継がれないため、罫線や余白など印刷時の見た目を整えたいなら、書き込む内容に簡単なスタイルも一緒に渡すと安定します。ポップアップブロックで新ウィンドウが開けない環境もあるので、印刷用CSS(@media print)で不要部分を隠す方式も併せて検討すると確実です。

よくある質問

印刷する範囲を別の場所に変えられますか。
JSが対象にしている要素のidを、印刷したい別の要素のidに変えるだけです。その要素の中身だけが新しいウィンドウに書き出されて印刷されます。
印刷したときに文字やレイアウトが崩れます。
新しいウィンドウには元ページのCSSが引き継がれないためです。書き込む内容に必要なスタイルも一緒に渡すか、@media print を使った印刷用CSSで整える方法が確実です。
追加日:2026-05-16
← すべてのスニペットへ戻る