はじめに
大昔であれば・・・jQuery.jPrintArea.jsとかあったのですが、自分の手持ちのjQuery.jPrintArea.jsを
試してみたところ、canvasがでない・・・・・
printThis
https://jasonday.github.io/printThis/
こちらは、jQueryのプラグインでjQuery.jPrintArea.jsと使い方は大体同じ・・・
違いは、canvasまで印刷してくれるとこ・・
上記からzipをダウンロードして展開後
│ .gitignore
│ bower.json
│ changelog.txt
│ CODE_OF_CONDUCT.md
│ composer.json
│ index.html
│ LICENSE
│ package-lock.json
│ package.json
│ printThis.d.ts
│ printThis.jquery.json
│ printThis.js
│ README.md
├─.github
│ │ FUNDING.yml
│ │
│ └─ISSUE_TEMPLATE
│ bug_report.md
│ feature_request.md
└─assets
├─css
│ normalize.css
│ skeleton.css
└─images
cat1.jpg
cat2.jpg
cat3.jpg
print.png
ルートフォルダにあるprintThis.jsを持ってきます。
呼び出し方法
<!-- jQuery -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- printThis -->
<script type="text/javascript" src="自分の指定のフォルダー/printThis.js"></script>
<script>
$(function() {
$('#basic').on("click", function () {
$('.demo').printThis();
});
});
</script>
<a id="basic" href="#nada" class="button button-primary">Print container</a>
<div class="demo">
印刷したい領域
</div>
オプション
debug | デバッグでは、実行後に iframe がページに表示されたままになるため、マークアップと CSS を検査できます。 |
importCSS | CSS <link>タグを printThis上のiframe のソースにコピーします。デフォルトでオンです。 |
importStyle | CSS <style>タグで記述されているものを printThis上のiframe のソースにコピーします。デフォルトでオンです。 |
printContainer | 選択したコンテナの内容だけでなく、そのコンテナのマークアップも含まれます。 デフォルトではオンです。 |
loadCSS | 追加のスタイルシートの URL を printThis iframe に指定します。 デフォルトでは空の文字列 (off)。 |
pageTitle | iframe でカスタム ページ タイトルを使用します。 設定によっては印刷ページに反映される場合があります。 デフォルトでは空白です。 |
removeInline | コンテンツからインライン スタイル属性を削除します。 デフォルトではoffです。 |
removeInlineSelector | 削除するインライン スタイル属性をフィルターします。 RemoveInline が true である必要があります。 カスタム CSS/jQuery セレクターを受け入れます。 デフォルトは「*」です |
printDelay | printThis iframe で print() を呼び出すまでに待機する時間。 デフォルトは 1000 ミリ秒です。 適切な値は、コンテンツとネットワークのパフォーマンスに大きく依存します。 グラフィックスが重い、遅い、またはキャッシュされていないコンテンツの場合、読み込みに余分な時間がかかる場合があります。 |
header & footer |
printThis iframe コンテンツの先頭または末尾に追加する文字列または jQuery オブジェクト。 デフォルトではnull。
jQuery オブジェクトは移動ではなく複製されます。 |
base |
baseオプションでは、いくつかの動作が可能です。 デフォルトでは false で、現在のドキュメントがベース URL として設定されることを意味します。 true に設定すると、ページ上に <base> 属性が存在する場合、属性が設定されます。 何も見つからない場合、タグは省略されます。これは、完全修飾 URL を含むページに適している可能性があります。 文字列として渡されると、<base> タグの href 属性として使用されます。 |
formValues | この設定により、フォーム要素の現在の値が printThis iframe にコピーされます。 デフォルトではオンです。 |
canvas | Canvas 要素は printThis iframe にコピーされ、必要に応じて Canvas 要素で直接 printThis を呼び出すことができます。 |
doctypeString | printThis iframe で使用する doctype 文字列。 デフォルトは HTML5 doctype です。 |
removeScripts | 印刷中のエラーや予期しない動作を回避するために、コンテンツからスクリプト タグを削除します。 デフォルトでは無効になっています。 |
copyTagClasses: true |
body タグと html タグからクラスを printThis iframe にコピーします。 true、「b」、「h」、または「bh」を受け入れて、それぞれ body タグと html タグの「b」と「h」をテストします。 |
copyTagStyles: true | body タグと html タグのスタイル属性を printThis iframe にコピーします。 CSS 変数のサポートを提供するために追加されました。 true、「b」、「h」、または「bh」を受け入れて、それぞれ body タグと html タグの「b」と「h」をテストします。 |
beforePrintEvent: null |
印刷が行われる前に iframe 内で実行される関数。 この機能はすべてのブラウザで検証されていません。 |
beforePrint: null |
印刷前のファンクションコールです。 印刷前にiframeにコンテンツが設定さえる前に呼び出しされる関数です |
afterPrint: null |
印刷後のファンクションコールです。 印刷後にiframeにページが削除される前に呼び出しされる関数です。 これは、debug: true の場合でも呼び出され、iframe は削除されません。 |