jquery 前端浏览器调用打印机打印文件流 并设置静默打印
时间: 2023-08-04 20:06:13 浏览: 132
可以使用`window.print()`方法来实现浏览器调用打印机打印文件流的功能,但是无法设置为静默打印。如果需要实现静默打印,可以使用 ActiveX 控件或者 WebBrowser 控件来实现。以下是一个使用 ActiveX 控件的例子:
```html
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
function doPrint() {
var acro = new ActiveXObject("AcroPDF.PDF");
acro.src = "test.pdf";
acro.printAll();
}
</script>
</head>
<body>
<button onclick="doPrint()">Print</button>
</body>
</html>
```
在以上示例中,我们通过创建 ActiveX 对象 `AcroPDF.PDF`,并指定要打印的文件路径,然后调用 `printAll()` 方法实现打印。请注意,这种方法只能在 IE 浏览器中使用,而且需要用户在浏览器设置中启用 ActiveX 控件。因此,这种方法不是很推荐使用。
如果需要实现跨浏览器的静默打印功能,可以使用 WebBrowser 控件。以下是一个使用 WebBrowser 控件的例子:
```html
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
function doPrint() {
var webBrowser = document.getElementById("webBrowser");
webBrowser.src = "test.pdf";
webBrowser.execWB(6, 1);
}
</script>
</head>
<body>
<object id="webBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" style="display:none;"></object>
<button onclick="doPrint()">Print</button>
</body>
</html>
```
在以上示例中,我们创建了一个 WebBrowser 控件,并指定要打印的文件路径,然后调用 `execWB()` 方法实现打印。请注意,这种方法需要用户在浏览器设置中启用 ActiveX 控件,并且只能在 IE 浏览器中使用。
阅读全文