首页 > 代码库 > print打印网页相关

print打印网页相关

作者:zccst

 

1,CSS

<link href="/style/print.css" rel="stylesheet" type="text/css" media="print">

/style/print.css文件 

  1. .noprint{display:none;}  


在testPrint.html中使用print.css中的样式,在网页浏览的时候是看不出效果的,但是打印的时候会起作用,如下面这一段,加上noprint之后,在浏览器中仍然是现实的,但是打印的时候不显示: 

<div class="noprint">  

    <input type="button" onclick="window.print();" value="打印本页" />  

</div>  


当然print.css里面的样式你可以随便写,改颜色啊(彩色的图像在黑白打印机下效果不好,可以用另一种样式打印),字体什么的都可以,随便发挥----

 

 

 

2,JavaScript

<script type="text/javascript">
$(function(){
    //自动在打印之前执行
    window.onbeforeprint = function(){
        var height_left  = $(".w-desc1").height();
        var height_right = $(".w-desc2").height();
        if(height_left >= height_right){
            $(".w-desc2").height(height_left);
        }else if(height_left < height_right){
            $(".w-desc1").height(height_right);
        }
    }

    //自动在打印之后执行
    window.onafterprint = function(){
        //$("#test").show();
    }
});
</script>

 

打印之前,会调用window.onbeforeprint函数,这时你可以随意发挥,用你的聪明才智给html重新构造一边,然后打印。当然打印之后一般还要弄回来,就是window.onafterprint函数了 

--------------------------------------------------------------- 

小技巧:注意一点,打印我们都知道是window.print(),其实也可以打印框架的,如window.top.centerFrame.MainFrame.print(); 

---------------------------------------------------------------