打印之百花争艳薰衣草

  在应用开发程序时,用户要求打印功能,以便保存数据。我在接下来的几篇随笔中将对asp.net涉及到的打印功能进行一下简单的说明。以下几篇文章属于一个整体,希望能够给你带来帮助。

  获取焦点并且打印框架中的内容

  在此随笔中将介绍如何通过打印指定框架中的内容来实现页面部分内容的打印,在实现打印指定框架中的内容时,首先需要让指定的框架获得焦点,然后再调用window对象的print()方法实现打印。

  语法格式如:
  parent.mainframe.focus();
  mainframe.print();

  参数说明:
  mainframe表示框架的名称。
 
  步骤如下:
  (1)首先新建一个页面content.aspx,将要打印的内容放置在该页面中。
  代码如下(这里只是简单举例,读者可以根据实际情况设定):

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

<!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">
<link href="CSS\style.css" rel="stylesheet">
</head>

<body>
<table height="171" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#99ccff" bordercolorlight="#6699ff" bordercolordark="#0099cc" style=" 

109%">
  <tr>
    <td width="14%" align="center" bgcolor="#3399cc">图书条形码</td>
    <td align="center" bgcolor="#3399cc" style=" 156px">图书名称</td>
    <td align="center" bgcolor="#0099cc" style=" 67px">读者条形码</td>
    <td align="center" bgcolor="#0099cc" style=" 47px">读者名称</td>
    <td align="center" bgcolor="#0099cc" style=" 31px">借阅时间</td>
    <td width="10%" align="center" bgcolor="#0099cc">应归时间</td>
    <td width="9%" align="center" bgcolor="#0099cc">是否归还</td>
  </tr>
  <tr>
    <td align="center">7115145474</td>
    <td style=" 156px">&nbsp;JSP数据库系统开发完全手册</td>
    <td align="center" style=" 67px">000000000</td>
    <td align="center" style=" 47px">
        爱智旮旯</td>
    <td align="center" style=" 31px">
        2012-08-13</td>
    <td align="center">
        2012-10-13</td>
    <td align="center">
        未归还</td>
  </tr>
  <tr>
    <td align="center">7115145474</td>
    <td style=" 156px">&nbsp;JSP数据库系统开发完全手册</td>
    <td align="center" style=" 67px">000000000</td>
    <td align="center" style=" 47px">
        爱智旮旯</td>
    <td align="center" style=" 31px">
        2012-08-15</td>
    <td align="center">
        2012-09-15</td>
    <td align="center">未归还</td>
  </tr>
  <tr>
    <td align="center">7115148732</td>
    <td style=" 156px">&nbsp;ASP程序开发范例宝典</td>
    <td align="center" style=" 67px">000000000</td>
    <td align="center" style=" 47px">
        爱智旮旯</td>
    <td align="center" style=" 31px">
        2012-08-20</td>
    <td align="center">
        2012-09-20</td>
    <td align="center">已归还</td>
  </tr>
  <tr>
    <td align="center">7115148732</td>
    <td style=" 156px">&nbsp;ASP程序开发范例宝典</td>
    <td align="center" style=" 67px">000000000</td>
    <td align="center" style=" 47px">
        爱智旮旯</td>
    <td align="center" style=" 31px">
        2012-08-11</td>
    <td align="center">
        2012-08-30</td>
    <td align="center">
        已归还</td>
  </tr>
</table>
</body>
</html>


  (2)然后再新建一个页面printContent.aspx,在该页面的适当位置添加浮动框架(应用<iframe>标记创建)。并且将该浮动框架的src属性指定为(1)中创建的content.aspx文件。主要代码:<iframe name="contentFrame" src="content.aspx"  frameborder="0" width="100%" height="100%" ></iframe>
  (3)在printContent.aspx页面添加“打印”超链接,打印指定浮动框架中的内容。主要代码:<a href="#" onClick="parent.contentFrame.focus();window.print();">打印</a>
 

  完整代码如下: 

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

<!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">
  <link href="CSS\style.css" rel="stylesheet">
</head>

<body>
<table border="0" align="center" cellpadding="0" cellspacing="0" background="Images/book.bmp" style=" 818px; height: 544px">
  <tr>
    <td width="32" height="189">&nbsp;</td>
    <td colspan="2">&nbsp;</td>
    <td style=" 20px">&nbsp;</td>
  </tr>
  <tr>
    <td height="264" rowspan="2">&nbsp;</td>
    <td width="666" height="25" style="font-weight: bold; color: #0066cc">当前位置:系统查询 &gt; 借阅信息打印 &gt;&gt;&gt; </td>
    <td width="58" align="center" class="word_Green"><a href="#" onClick="parent.contentFrame.focus();window.print();">打印</a></td>
    <td rowspan="2" style=" 20px">&nbsp;</td>
  </tr>
  <tr>
    <td height="240" colspan="2" align="center" valign="middle" bgcolor="#FFFFFF"><iframe name="contentFrame" src="content.aspx"  frameborder="0" width="100%" height="100%" style=" 89%; height: 97%"></iframe></td>
  </tr>
  <tr>
    <td style="height: 21px">&nbsp;</td>
    <td colspan="2" style="height: 21px">&nbsp;</td>
    <td style=" 20px; height: 21px">&nbsp;</td>
  </tr>
</table>
</body>
</html>

 以上只是说明一种实现方式。请读者根据实际情况进行修改。

原文地址:https://www.cnblogs.com/52net/p/2545464.html