我有一个 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();
}
}
这每秒都在改变“未定义”。打印选项永远不可用。有任何想法吗?