web打印,通过jsp页面调用window.print();不出对话框直接打印

web打印,通过jsp页面调用window.print();方法打印页面内容,会默认弹出打印设置页面(也就是打印对话框.).我不想要出现这个对话框。实现直接打印的功能。有能帮上的朋友麻烦给说一下。一定要是懂的。不要随便过来就乱说。 可以介绍个其他方法,或者是能用的插件也可以。我在网上看人有说介绍楚林的插件。但是我没用懂! 真心求教。谢谢了

现在有两种解决方案,
(1).第一种是需要安装插件,网上下载ScriptX.cab文件
下载成功后将文件放在项目某个目录下,然后在页面body中写上:
<object id="factory" name="factory" style="display: none" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase="ScriptX.cab" viewastext></object>(记得codebase属性为ScriptX.cab文件的放置路径,是绝对路径)
把window.print()改成:factory.printing.Print(false)即可;
远程访问时需要在IE浏览器设置:
1.安全 -> 受信任的站点 -> 站点 -> 添加受信任访问站点(如果是访问远程那么是对方IP地址,如果是本地则是本机IP.例如http://192.168.172.1)
(2).第二种是无需要安装插件
首先需要在页面body中写上:
<OBJECT ID='WebBrowser' NAME="WebBrowser" WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></OBJECT>
把window.print()改成:document.getElementById("WebBrowser").ExecWB(6,2)即可;
最后记住一定需要在IE浏览器设置:
1.安全 -> 本地Intranet -> 自定义级别 - 找到ActiveX控件和插件项,选择对未标记为可安全执行的ActiveX控件初始化并执行脚本,再选择启用
2.安全 -> 受信任的站点 -> 自定义级别 - 找到ActiveX控件和插件项,选择对未标记为可安全执行的ActiveX控件初始化并执行脚本,再选择启用
3.安全 -> 受信任的站点 -> 站点 -> 添加受信任访问站点(如果是访问远程那么是对方IP地址,如果是本地则是本机IP.例如http://192.168.172.1)
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-11
我们可以通过js来改变当前document的 内容,利用innerHTML属性就可以实现。
事例代码:
<html>
<div id="printtest">
<table>
———————————
</table>
</div>
————……..
=====================================================
function testprint(){
var body=document.getElementById("printtest");
document.body.innerHTML=body.innerHTML
window.print();
}
===============================================
<input type="button" name="print" value="print" onclick="javascript:testprint();"/>

这样就可以实现整个页面数据的打印,通过这个打印出来的东西,我们还可以看出,浏览器的下拉工具条
第2个回答  推荐于2020-02-18
使用window.print命令就会弹出的,是无法实现的,只有用scripX等第三方插件才可以实现。
第3个回答  2012-12-20
第4个回答  2019-05-26
使用window.print命令就会弹出的,是无法实现的,只有用scripX等第三方插件才可以实现。
相似回答