利用IE自带的WebBrowser进行打印
打印判断:
if(factory.object)//打印设置的判断
factory.printing.PageSetup();
else
alert("对不起!现在不支持!"); if(factory.object)//打印预览的判断
factory.printing.Preview();
else
alert("对不起!现在不支持!"); if(factory.object)//打印的判断
{
factory.printing.Print(true);
}
else
{
window.print();
}
<head>
<script>
var HKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root="HKEY_CURRENT_USER";
HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
function PageSetup_Null() {
try
{
var Wsh=new ActiveXObject("WScript.Shell");
HKEY_Key="header";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
HKEY_Key="footer";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
function print(a) {
alert(a.id)
switch (a.id) {
case "print0":
document.all.WebBrowser.Execwb(6, 1)//打印
break;
case "print1":
document.all.WebBrowser.ExecWB(6, 6); //直接打印
break;
case "print2":
document.all.WebBrowser.Execwb(8, 1)//页面设置
break;
case "print3":
document.all.WebBrowser.Execwb(7, 1)//打印预览
break;
}
document.body.insertAdjacentHTML("beforeEnd", "<object id=\"WebBrowser\" width=0 height=0 \classid=\"clsid:8856F961-340A-11D0-A96B-00C04FD705A2\">");
}
</script>
</head>
<input type="button" runat="server" value="打印" onclick="print(this)" id="print0" />
<input type="button" runat="server" value="直接打印" onclick="print(this)" id="print1" />
<input type="button" runat="server" value="打印设置" onclick="print(this)" id="print2" />
<input type="button" runat="server" value="打印预览" onclick="print(this)" id="print3" />
一般情况下,如果不是特别的打印,需要借助打印控件,如loopod
WebBrowse是一个简单的浏览器程序,支持打印,后退,前进,刷新,另存为,保存等功能,可以到网上搜一下方法,在这里,我们来说下,怎么使用它打印
首先,就像实例化对象一样,创建它
他们默认就是打印body中的内容,打印的时候,可以灵活选择要打印的信息,赋给body即可,如果不希望有些内容在打印的时候显示出来,可以将其隐藏
<style>
@media print{
div{display:none}
td,table{
background:display:none;
}
}
</style>
比如,打印的内容里有分页,或者其它标示,但是不想要,那就可以隐藏掉
这个分页在打印的时候就不能打印出来,要隐藏掉,这个时候就可以把这个代码放到div中,然后
@media print{
div{display:none}
隐藏掉就可以
参照页面:http://www.cnblogs.com/oec2003/archive/2007/07/20/825352.html