自定义动态生成页面打印以及打印预览的一个实现例子

来源:互联网 发布:卢宇彤 知乎 编辑:程序博客网 时间:2024/05/16 06:36
function CallPrint(strid){//打印预览jiangkun
var oriWidth;
//隐藏不需要打印的信息
$('.buttH').hide();
$('.sbu').hide();
    var $as = $('a[id^="signatureAI_"]');
    $as.each( function(){
        var $this=$(this);
        var _id=$this.attr("id");
        var sst=_id.split('signatureAI_');
        oriWidth=$("#sigCont"+"signature_"+sst[1]).attr('width');
        $("#sigCont"+"signature_"+sst[1]).css('width','100%');
    });
    $as = $('a[id^="opinionAI_"]');
    $as.each( function(){
        var $this=$(this);
        var _id=$this.attr("id");
        $("#"+_id).hide();
    });
    
    $('table').attr('align','center');//将table居中
    var prtContent = document.getElementById(strid);
    var cont=prtContent.innerHTML;
    var w=window.screen.width*0.99;
    var h=window.screen.height*0.99;
    var WinPrint = window.open('', '', 'left=0,top=0,width='+w+',height='+h+',toolbar=0,scrollbars=1,status=0,menubar=0');
    var priBut="<input id=printBut onclick=window.close() value=返回  style='height=26px;width=60px;' type=button /><input id=printBut onclick=window.print() value=打印  style='height=26px;width=60px;' type=button />";
    
    WinPrint.document.write(priBut+cont);
    WinPrint.document.close();
    //显示被打印隐藏的信息
$('.buttH').show();
$('.sbu').show();
$as.each( function(){
        var $this=$(this);
        var _id=$this.attr("id");
        var sst=_id.split('signatureAI_');
        $("#sigCont"+"signature_"+sst[1]).css('width',oriWidth);
    });
    $as = $('a[id^="opinionAI_"]');
    $as.each( function(){
        var $this=$(this);
        var _id=$this.attr("id");
        $("#"+_id).show();
    });
}
原创粉丝点击