JavaScriptで特定のエリアのみを印刷する方法

JavaScriptで特定のエリアのみを印刷する方法

SPAで特定の箇所のみ印刷したい(canvasとか)という要件があったので以下のように実装してみました。

Pタグを二つ用意しています、idはそれぞれp1,p2です。

ボタンを押すと、p1のエリアのみwindow.print();で印刷されるようにしています。

<script>
function printElement(id) {
  var area = document.getElementById(id); // 引数のidの箇所を変数に格納
  var htmlDoc = document.body.innerHTML; // bodyのhtmlを退避
  document.body.innerHTML = area.innerHTML; // 該当idのhtmlをdobyにつっこむ
  window.print(); // 印刷
  document.body.innerHTML = htmlDoc; // 退避したbodynohtmlを戻す
}
</script>

~~

<p id="p1"><!-- ここだけ印刷されるようにしたい -->
  test1
</p>
<p id="p2">
  test2
</p>
<button onClick='printElement("p1")'>ボタン</button>

上記のようにすれば、特定箇所だけ印刷することができました。

サンプル

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました