私は、HTMLページの中に比較的小さいpdfファイルを埋め込み、iframeの中にpdfファイルを含む全体のhtmlパデを印刷するという割り当てを持っています。
これが私のhtmlページの構造です。
これが私のhtmlページの構造です。

これが私のコードです:
@media print{
body * {display:block;}
.toPrint{display:block; border:0; width:100%; min-height:500px}
<body>
<button onclick="window.print()">Print</button>
<h3>MUST BE PRINTED</h3>
<p> MUST BE PRINTED</p>
<iframe class="toPrint" src="https://nett.umich.edu/sites/default/files/docs/pdf_files_scan_create_reducefilesize.pdf" style="width:100%; height:97vh;"></iframe>
<h3>MUST BE PRINTED</h3>
<p> MUST BE PRINTED</p>
</body>
現在私はcss @media queryを使ってページを印刷しています。しかし残念ながら、このメディアクエリはpdfの最初のページだけを印刷します。
pdfファイル全体を印刷することはできますか?
ベストアンサー
PDF全体を印刷していないのは、iframe内にあり、高さが固定されているからです。 PDF全体を印刷するには、そのコンテンツの高さと一致するようにiframeの高さが必要です(iframeにスクロールバーがあってはいけません)。
他のオプションはiframeだけを印刷することです。あなたのiFrameにidを追加します。
<iframe id="toPrint" class="toPrint"></iframe>
iframeに焦点を合わせてその内容を印刷します。
var pdfFrame = document.getElementById("toPrint").contentWindow;
pdfFrame.focus();
pdfFrame.print();
関連記事
- JavaScript:Webページ全体を印刷するとき、IEはiFrameの内容をページに印刷しないようです
- 1ページのみを取得するjavascriptを使用してIFrameでPDFファイルを印刷する
- javascript - iframeでPDFを印刷する(クロスドメイン)
- javascript - src = pdfの場合にIFRAMEからPDFを印刷する方法
- php、javascriptを使用してIEでiframeを印刷できず、代わりに現在のページを印刷します。そこには印刷ボタンがあります。
- javascript - IE 11でIframeを印刷すると最初のページしか印刷されない
- 印刷-ページの半分をPDFファイルに印刷するにはどうすればよいですか?
- FirefoxでJavaScriptを使用してiframeでPDFを印刷する
転載記事の出典を記入してください: javascript – iframe内にpdfファイルを含むHTMLページ全体を印刷する - コードログ