HTMLで横長印刷!CSS・JavaScript・プラグインの使い分け

2024-04-06

HTML から横長印刷を行う方法

CSS でページ設定を指定する

@page ルールを使用して、印刷時のページサイズや余白などを設定することができます。

@page {
  size: landscape; /* 横長印刷を指定 */
  margin: 0; /* 余白を0に設定 */
}

HTML の body 要素に class 属性を追加する

body 要素に class 属性を追加し、そのクラスに横長印刷用のスタイルを適用する方法です。

<body class="landscape">
  ...
</body>
.landscape {
  /* 横長印刷用のスタイル */
}

JavaScript を使用して、印刷時にページ設定を変更する方法です。

window.onload = function() {
  // 印刷時に横長印刷を設定
  window.print();
};

上記の方法を組み合わせることで、より柔軟な横長印刷を行うことができます。

補足

  • 印刷時にヘッダーやフッターを表示しない場合は、CSS で @page ルールの margin プロパティに 0 を指定します。
  • 印刷時に特定の要素のみを印刷したい場合は、CSS で display: none; を使用して非表示にしたり、media="print" を使用して印刷時のみ表示するように設定できます。
  • ブラウザやプリンターの設定によっては、横長印刷がうまくできない場合があります。
  • 横長印刷を行う場合は、事前に印刷プレビューで確認することをおすすめします。

関連用語

  • HTML
  • CSS
  • JavaScript
  • 印刷
  • 横長印刷
  • @page
  • media="print"



<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>横長印刷サンプル</title>
  <style>
    @page {
      size: landscape;
      margin: 0;
    }
  </style>
</head>
<body>
  <h1>横長印刷サンプル</h1>
  <p>このページは横長印刷されます。</p>
</body>
</html>

上記コードを index.html として保存し、ブラウザで開くと、横長印刷されます。

その他のサンプル

  • ヘッダーやフッターを表示しない場合
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>横長印刷サンプル</title>
  <style>
    @page {
      size: landscape;
      margin: 0;
      @top-left {
        content: "";
      }
      @top-right {
        content: "";
      }
      @bottom-left {
        content: "";
      }
      @bottom-right {
        content: "";
      }
    }
  </style>
</head>
<body>
  <h1>横長印刷サンプル</h1>
  <p>このページは横長印刷されます。</p>
</body>
</html>
  • 特定の要素のみを印刷する場合
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>横長印刷サンプル</title>
  <style>
    @page {
      size: landscape;
      margin: 0;
    }
    .print-only {
      display: none;
    }
    @media print {
      .print-only {
        display: block;
      }
    }
  </style>
</head>
<body>
  <h1>横長印刷サンプル</h1>
  <p>このページは横長印刷されます。</p>
  <div class="print-only">
    <p>印刷時のみ表示される要素</p>
  </div>
</body>
</html>

上記コードを参考に、ご自身のニーズに合わせて横長印刷を実装してみてください。




HTML から横長印刷を行うその他の方法

印刷ダイアログで設定する

多くのブラウザでは、印刷ダイアログでページサイズや向きなどを設定することができます。

  1. 印刷ボタンをクリックします。
  2. 印刷ダイアログが表示されます。
  3. ページサイズを「横長」に設定します。

プラグインを使用する

横長印刷専用のプラグインを使用する方法です。

プラグインをインストールすると、ブラウザのツールバーにボタンが追加されます。ボタンをクリックすると、横長印刷を行うことができます。

オンラインサービスを使用する

HTML ファイルをアップロードして、横長印刷を行うオンラインサービスもあります。

オンラインサービスを使用すると、ブラウザやプリンターの設定に関係なく、簡単に横長印刷を行うことができます。

注意事項

  • 上記の方法を使用する場合は、ブラウザやプラグイン、オンラインサービスのバージョンによって操作方法が異なる場合があります。
  • 横長印刷がうまくできない場合は、各方法のヘルプページなどを参照してください。

html css printing


jQuery removeClass() メソッド:使いこなし術

removeClass() メソッドは、要素から指定されたクラスを削除します。例:上記のコードは、p 要素から red と big クラスを削除します。複数のクラスを削除するには、スペースで区切って指定します。attr() メソッドは、要素の属性を取得または設定します。...


【CSS】font-style: italic vs obliqueを使いこなす! サンプルコード付き

CSSの font-style プロパティは、テキストのスタイルを指定するために使用されます。 italic と oblique は、どちらもテキストを斜体にするために使用できる値ですが、微妙な違いがあります。イタリックイタリックフォントは、筆記体を模倣した傾斜を持つフォントです。...


CSSでテーブルのデザインをもっとおしゃれに!ボーダー半径の付け方

方法1:table要素にborder-radiusを設定するこの方法は、最も簡単でシンプルな方法です。table要素にボーダー半径を設定することで、表全体を角丸にすることができます。この方法は、個々の行に異なるボーダー半径を設定したい場合に有効です。疑似要素を使用して、各行の最初、最後、またはすべてのセルにボーダー半径を設定することができます。...


Robotoフォントで洗練されたウェブサイトを実現!導入方法とサンプルコード

検索バーに「Roboto」と入力してフォントを探します。Robotoフォントを見つけたら、そのフォントをクリックします。フォントスタイル(太さ)を選択します。右上の「選択」ボタンをクリックします。表示されたコードの中から、「CSSに埋め込む」を選択します。...


ブラウザ上でJavaScript単独でファイル書き込みは可能?代替手段とサンプルコード

理由は、セキュリティ上の制約です。悪意のあるJavaScriptコードが、ユーザーの許可なくファイルに書き込み、個人情報などを窃取したり、システムを破壊したりするのを防ぐためです。しかし、いくつかの代替手段で疑似的なファイル書き込みを実現することは可能です。以下、代表的な方法をご紹介します。...