如何控制浏览器打印效果

该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!

陈希章

原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/06/03/1495232.html
原文标题:如何控制浏览器打印效果
原文发表:2009/6/3 3:57:00

我们知道,默认情况下,通过IE的打印对话框,打印出来的内容都有页眉和页脚的。如下

image

这是IE浏览器默认的页面打印设置。要想去除掉这个设置,首先可以通过手工地修改下面这个对话框来实现

image

但是,如果用户就是不想自己去修改,则可以通过下面的脚本强制进行修改

var hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path="//Software//Microsoft//Internet Explorer//PageSetup//"
//设置网页打印的页眉页脚为空
function pagesetup_null(){
try{
    var RegWsh = new ActiveXObject("WScript.Shell")
    hkey_key="header"
    RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
    hkey_key="footer"
    RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
    }catch(e){}
}

这一招有些狠,它是去修改注册表。所以一般都会弹出一个对话框

image

如果点击了“是”,那么如你所愿,现在页眉和页脚都没有了

image

接下来,如果说我们需要恢复呢?

//设置网页打印的页眉页脚为默认值
function pagesetup_default(){
    try{
    var RegWsh = new ActiveXObject("WScript.Shell")
    hkey_key="header"
    RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P")
    hkey_key="footer"
    RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&u&b&d")
    }catch(e){}
}

 

 

最后一个问题,怎么样通过脚本的方式去实现打印某个部分内容呢?

//打印某个内容

function PrintContent(el) {

        var iframe = document.createElement('IFRAME');

var content=document.getElementById(el);

        var doc = null;

iframe.style.position="absolute";

iframe.style.width="0px";

iframe.style.height="0px";

iframe.style.left="-500px";

iframe.style.top="-500px";

        //$(iframe).attr('style', 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;');

        document.body.appendChild(iframe);

        doc = iframe.contentWindow.document;

        var links = window.document.getElementsByTagName('link');

        for (var i = 0; i < links.length; i++)

            if (links[i].rel.toLowerCase() == 'stylesheet')

            doc.write(' type="text/css" rel="stylesheet" href="' + links[i].href + '">');

//        doc.write('

doc.write('
' + content.innerHTML + '
');                 

        doc.close();

        iframe.contentWindow.focus();

        iframe.contentWindow.print();

        document.body.removeChild(iframe);

}

 

 

整个测试页面的完整代码如下

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml">



Personal Information


<script language="javascript" type="text/javascript">


</script>

































































































































































































































































































































   
   
姓名年龄
       
   
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       
       
陈希章
       
20
       

作者:陈希章
出处:http://blog.csdn.net/chen_xizhang
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值