在页面中实现打印---利用JavaScript实现打印页面,利用WebBrower组件实现打印

1、利用JavaScript实现打印页面

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

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

        function printPage() {

            //打印当前窗体

            window.print();

        }

    </script>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        ASP.NET学习

    </div>

    <input type="button" id="btnPrint"  value="打印" onclick="printPage()"  />

    </form>

</body>

</html>

2、控制打印范围

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default2.aspx.cs" Inherits="_Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

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

        function printPage() {

            //获取页面内容

            var bdhtml = document.body.innerHTML;

            var beginstr = "<!--startprint-->";

            var endstr = "<!--endprint-->";

            //获取要打印的内容

            var prnhtml = bdhtml.substr(bdhtml.indexOf(beginstr) + 17);

            prnhtml = prnhtml.substr(0, prnhtml.indexOf(endstr));

            //预览

            window.document.body.innerHTML = prnhtml

            //打印当前窗体

            window.print();

        }

    </script>

</head>

<body>

    <form id="form1" runat="server">

     <!--startprint-->

    <div align="center">

        <span>这里是我需要打印的内容</span>

     </div>

     <!--endprint-->

    <div>

        ASP.NET学习

    </div>

    <input type="button" id="btnPrint"  value="打印需要部分" onclick="printPage()"  />

    </form>

</body>

</html>

HTML中标记内容的开始位置和结束位置,然后截取需要打印的内容。

3、利用WebBrower组件实现打印

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

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

 

    function printTools(type) {

        switch (type) {

            case 1:

                //打印预览

                document.all.wb1.ExecWB(7,1);

                break;

            case 2:

                //打印

                document.all.wb1.ExecWB(6, 1);

                break;

            case 3:

                //打印设置

                document.all.wb1.ExecWB(8, 1);

                break; 

        }

    }

</script>

</head>

<body>

<form id="form1" runat="server">

<object id="wb1" width="0" height="0" classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>

<div>

ASP.NET学习

</div>

<input type="button" value="打印预览" id="btnPreview" onclick="printTools(1)" />&nbsp;&nbsp;

<input type="button" value="打印" id="btnPrint" onclick="printTools(2)" />&nbsp;&nbsp;

<input type="button" value="打印设置" id="btnSetting" onclick="printTools(3)"  />&nbsp;&nbsp;

</form>

</body>

</html>

 

首先使用object标签加载ExecWB组件,必须指定本页中的唯一标识ID

运行会提示加载ActiveX控件,很不爽,需要设置下

Internet选项的安全选项中设置

 4、实际开发中一般为要打印的内容单独做个页面,如:

  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebAppPrint.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        需要打印的内容

    </div>

    <object id='Object1' name="WebBrowser" width="0" height="0" classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'>

    </object>

    <script type="text/javascript">

        document.getElementById("WebBrowser").ExecWB(7, 1);

        window.close();

    </script>

    </form>

</body>

</html>

 然后在主页面拖放一个Button按钮指向此页面,例如指向上面的页面:

        protected void Button1_Click(object sender, EventArgs e)

        {

            Response.Redirect("WebForm1.aspx");

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值