如何在不打开Windows弹出窗口的情况下打印iframe的内容

时间:2013-04-19 05:23:03

标签: jquery

在我的应用中,我想要打印一个驻留在iframe中的PDF文件。这是我的代码..

<iframe src="pdf/output.pdf" id="pdfFrame"></iframe>

这是打印pdf的脚本..

document.getElementById("pdfFrame").focus();
document.getElementById("pdfFrame").contentWindow.print();

上面的代码工作正常,但它会在打印前打开一个窗口弹出窗口。但根据我的要求,我希望直接激光打印而不打开弹出窗口。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

绕过打印对话框的唯一方法是调整IE中的设置并编写一些VBScript。

请参阅Bypass Printdialog in IE9

如果您可以更改每个客户端的ActiveX设置,它只适用于IE9。真的应该只在您控制客户端的Intranet场景中使用。

<script language="VBScript">
    sub Print()
        OLECMDID_PRINT = 6
        OLECMDEXECOPT_DONTPROMPTUSER = 2
        OLECMDEXECOPT_PROMPTUSER = 1
        call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
    End Sub
    document.write "<object id='WB' width='0' height='0' classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"
</script>

<object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"> </object>
<a href="#" onclick="Print()">Click Here to Print</a>