主页 > 知识库 > asp.net中的“按需打印”(打印你需要打印的部分) 实现代码

asp.net中的“按需打印”(打印你需要打印的部分) 实现代码

热门标签:人工智能 电商新玩法 客户服务 百度AI接口 国美全国运营中心 科大讯飞语音识别系统 网站排名优化 电销业务

过程很简单:

首先在asp.net页面中设定开始打印和结束打印的标记,为了确保该标记不在网页浏览时显示,我们采用"!-- HTML注释 -->"的方式。比如:!--startprint-->和!--endprint-->。

接着写相关的JavaScript代码,具体代码见后。

如果不想打印按钮也被打印出来,注意将打印按钮包含在!--startprint-->和!--endprint-->之外。

相关代码:

复制代码 代码如下:

%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AppealPrint.aspx.cs" Inherits="Appeal.AppealPrint"

MasterPageFile="MasterPage.master" Title="诉求打印" %>

asp:Content ID="Content1" ContentPlaceHolderID="CphNavigation" runat="server">
/asp:Content>
asp:Content ID="Content2" ContentPlaceHolderID="CphContent" runat="server">
!--startprint-->
style type="text/css">
body,table{
    font-size:12px;
}
table{
    table-layout:fixed;
    empty-cells:show;
    border-collapse: collapse;
    margin:0 auto;
}
td{
    height:20px;
}
h1,h2,h3{
    font-size:12px;
    margin:0;
    padding:0;
}


table{
    border:1px solid #cad9ea;
    color:#666;
}
table th{
    height:30px;
}
table td,table th{
    border:1px solid #cad9ea;
    padding:0 1em 0;
}
table tr{
    background-color:#f5fafe;
}
/style>
   table class="border" cellspacing="0" cellpadding="2" style="margin: 0px auto; width: 98%;border:1px solid;border-collapse:collapse;" id="TabBtnPrint">
    tbody>
        tr align="center">
            td class="title">strong>诉 求 信 息/strong>/td>
        /tr>
        tr>
            td style="height: 25px">
            table cellspacing="1" cellpadding="2" style="margin: 0px auto; width: 100%;border-collapse:collapse;">
                tbody>
                    tr class="tdbg">
                         td width="30%" align="right" nowrap="nowrap">诉求主题:/td>
                         td colspan="3">
                             asp:Label ID="lblEditTitle" runat="server" Text="Label">/asp:Label>
                         /td>
                    /tr>
                    tr class="tdbg">
                        td align="right" width="30%" nowrap="nowrap">诉求类型:/td>
                        td  colspan="3">
                              asp:Label ID="lblAppealCategory" runat="server" Text=""/>
                        /td>
                    /tr>
                    tr class="tdbg">
                        td align="right" width="30%" nowrap="nowrap">诉求当前状态:/td>
                        td colspan="3">
                              asp:Label ID="LblStatus" runat="server" Text="Label"/>
                        /td>
                    /tr>
                    tr class="tdbg">
                        td align="right" style="width: 30%" nowrap="nowrap">诉求性质:/td>
                        td style="width: 15%">asp:Label ID="lblAppealNature" runat="server" Text="Label"/>/td>
                        td align="right" style="width: 25%" nowrap="nowrap">被投诉人姓名:/td>
                        td style="width: 30%">asp:Label ID="lblBeAppealName" runat="server" Text="Label"/>/td>
                    /tr>


                    tr class="tdbg">
                        td align="right" style="width: 30%" nowrap="nowrap">被投诉人地址:/td>
                        td style="width: 15%">asp:Label ID="lblBeAppealAddress" runat="server" Text="Label"/>/td>
                        td align="right" style="width: 25%" nowrap="nowrap">投诉人:/td>
                        td style="width: 30%">asp:Label ID="lblUserName" runat="server" Text="Label"/>/td>
                    /tr>


                    tr class="tdbg">
                        td align="right" style="width: 30%" nowrap="nowrap">诉求信息是否保密:/td>
                        td style="width: 15%">asp:Label ID="lblIsSecret" runat="server" Text="Label"/>/td>
                        td align="right" style="width: 25%" nowrap="nowrap">管理员是否同意公开:/td>
                        td style="width: 30%" align="right">asp:Label ID="lblAdminIsPublic" runat="server" Text="Label"/>/td>
                    /tr>


                    tr class="tdbg">
                        td align="right" style="width: 30%" nowrap="nowrap">浏览数:/td>
                        td style="width: 15%">asp:Label ID="lblHits" runat="server" Text="Label"/>/td>
                        td align="right" style="width: 25%" nowrap="nowrap">回复数:/td>
                        td style="width: 30%">asp:Label ID="lblReply" runat="server" Text="Label"/>/td>
                    /tr> 

                    tr class="tdbg">
                        td align="right" style="width: 30%" nowrap="nowrap">归档:/td>
                        td style="width: 15%">asp:Label ID="lblCategory" runat="server" Text=""/>/td>
                        td align="right" style="width: 25%" nowrap="nowrap">诉求提交时间:/td>
                        td style="width: 30%">asp:Label ID="lblCreateTime" runat="server" Text="Label"/>/td>
                    /tr>


                    tr class="tdbg">
                        td align="right" style="width: 30%" nowrap="nowrap">诉求所在地域:/td>
                        td colspan="3">asp:Label ID="lblRegion" runat="server" Text="">/asp:Label>/td>
                    /tr>
                    tr class="tdbg">
                        td colspan="4">asp:Label ID="Label2" runat="server" Text=""/>/td>
                    /tr>
                    tr class="tdbg">
                        td colspan="4" align="left" valign="top" nowrap="nowrap">诉求内容:/td>
                    /tr>
                    tr class="tdbg">
                        td colspan="4" align="left" valign="top">
                            pe:ExtendedLiteral ID="LtrEditContent" runat="server" HtmlEncode="false"/>
                        /td>
                    /tr>
                /tbody>
            /table>
            /td>
        /tr>
    /tbody>
/table>
!--endprint-->
   br />
    div id="divBtnPrint" style="text-align:center">
        input id="BtnPrint" type="button" value="打 印…" onclick="doPrint();" />
    /div>
    br />
 script type="text/javascript">

!--

     function doPrint(){
        bdhtml = window.document.body.innerHTML;
        sprnstr = "!--startprint-->";
        eprnstr = "!--endprint-->";
        prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
        prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
        window.document.body.innerHTML =  prnhtml;
        var obj = window.document.body;
        doZoom(obj, 18); //放大打印
        window.print();
    }

    function doZoom(artibody, size) {
        if (!artibody)
        {
          return;
        }
          setChildNodesByCurrentNode(artibody,size);
    }

    function setChildNodesByCurrentNode(node,size) {
        for(var i=0; i node.childNodes.length; i++) {
            var artibodyChild = node.childNodes[i];
            if (artibodyChild.nodeType == 1) {
                artibodyChild.className="";
                artibodyChild.style.fontSize = size + 'px';
                artibodyChild.style.fontFamily = '仿宋_GB2312,宋体,"Times New Roman",Georgia,serif';
                artibodyChild.style.fontWeight = 900;
                if(artibodyChild.childNodes.length>0) {
                    setChildNodesByCurrentNode(artibodyChild,size);
                }
            }
         }
      }

-->

 /script>
/asp:Content>


观察上面代码可以看出,打印时,window.document.body.innerHTML 被重新赋值成设定需要打印的网页部分的代码(这里是 prnhtml),然后通过递归方式调用setChildNodesByCurrentNode(artibody,size)更改相关子节点的样式,以达到全部更换相关字体大小及样式设置的目的。

您可能感兴趣的文章:
  • 关于ASP.NET页面打印技术的常用方法总结
  • ASP.NET网页打印(只打印相关内容/自写功能)
  • asp.net 打印控件使用方法
  • 代码实现打印功能(asp.net+javascript)
  • ASP.NET 水晶报表打印功能实现代码
  • asp.net css控制打印功能方法实例

标签:攀枝花 POS机 咸宁 厦门 拉萨 南平 益阳 枣庄

巨人网络通讯声明:本文标题《asp.net中的“按需打印”(打印你需要打印的部分) 实现代码》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266