PDF ファイルがあり、Javascript 経由で印刷しようとしています。私はこの埋め込みトリックを試しました:埋め込みPDFをサイレント印刷します が、印刷機能は決して利用できず、常に未定義です。
このコードで Iframe トリックを試しました:
function printPDF() {
if(document.getElementById("pdfDocument").contentWindow.document.readyState === "complete") {
document.getElementById("pdfDocument").focus();
document.getElementById("pdfDocument").contentWindow.print();
} else {
setInterval(printPDF(), 1000);
}
}
(pdfDocument は iframe の ID です) これにより、印刷ダイアログがポップアップ表示されますが、空白のページが印刷されます。埋め込みタグの方法が機能するのが大好きです。しかし、なぜ印刷機能が利用できなくなったのでしょうか。
このテーマに関する投稿のほとんどはかなり古いものです。それを行うための最良の HTML5/jQuery の方法は何ですか? (または、この時点では通常の JS のみ)
編集:
埋め込みタグの JS コードは次のとおりです。
function printPDF() {
alert(document.getElementById("pdfDocument").print);
//Wait until PDF is ready to print
if (typeof document.getElementById("pdfDocument").print == 'undefined') {
setTimeout(function(){printPDF();}, 1000);
} else {
var x = document.getElementById("pdfDocument");
x.print();
}
}
これにより、毎秒「未定義」が変更され続けます。印刷オプションは利用できません。何か案は?