在我的应用中,我想要打印一个驻留在iframe中的PDF文件。这是我的代码..
<iframe src="pdf/output.pdf" id="pdfFrame"></iframe>
这是打印pdf的脚本..
document.getElementById("pdfFrame").focus();
document.getElementById("pdfFrame").contentWindow.print();
上面的代码工作正常,但它会在打印前打开一个窗口弹出窗口。但根据我的要求,我希望直接激光打印而不打开弹出窗口。
有没有办法做到这一点?
答案 0 :(得分:0)
绕过打印对话框的唯一方法是调整IE中的设置并编写一些VBScript。
如果您可以更改每个客户端的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>