我的服务器上存储了 pdf 文件。
我希望用户能够单击链接/按钮并弹出打印对话框,以便他们可以打印 pdf。我试图说服他们点击下载没什么大不了的,然后从它打开的浏览器选项卡中打印出来,但他们是善变的。:)
我尝试了一些 javascript 解决方案,主要是我最终得到的是:
contentWindow is not defined
我的js片段如下
a = $("a:contains('Download PDF')")
url = a.attr('href')
uid = unique_id()
uid = "abc_" + uid
ifrm = $("<iframe width='500px' src='" + url + "' id='" + uid + "' name='" + uid + "' onload='this.contentWindow.print()'></iframe>")
$('body').append(ifrm)
我也试过
...
ifrm = $("<iframe width='500px' src='" + url + "' id='" + uid + "' name='" + uid + "' ></iframe>")
$('body').append(ifrm)
pdf = document.findElementById(uid)
pdf.contentWindow.print();
以及其他一些具有相同结果的变体。或者我得到一个“关于:空白”的打印,大概是因为在文档加载到 iframe 之前调用了打印。
pdf 在 iframe 中打开并呈现。
有任何想法吗