利用IE浏览器进行web打印

本文介绍了一种在Web项目中实现分页打印的方法,通过使用CSS的page-break-after属性控制页面分割,确保了打印效果的准确性和美观性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

None.gif做web项目时,碰到打印算是比较头疼的事。因项目特点而异,我们可能会采取不同的方式进行。现在我总结一下不同的打印方法:
None.gif
None.gif一. 利用IE浏览器直接打印
None.gif 
None.gif
1)打印web页面的所有元素
None.gif     
None.gif    这是最简单的一种打印,直接调用window.print()即可。代码如下:    
None.gif
None.gif
1<button onclick="javascript:window.print();"></button>
None.gif
2)分页打印
None.gif
None.gif    在做web分页打印时,我们可以使用css样式表进行控制。css中有个叫page
-break-after的属性。page-break-after的说明如下:
None.gif
None.gif 1page
-break-after版本:CSS2   兼容性:IE4+ 继承性:无  
None.gif 2语法:page
-break-after  :  auto    ¦  always    ¦  avoid    ¦  left    ¦  right    ¦  null    
None.gif 3参数:    
None.gif 4auto  :   假如需要在对象之后插入页分割符    
None.gif 5always  :   始终在对象之后插入页分割符    
None.gif 6avoid  :   避免在对象后面插入页分割符    
None.gif 7left  :   在对象后面插入页分割符直到它到达一个空白的左页边    
None.gif 8right  :   在对象后面插入页分割符直到它到达一个空白的右页边    
None.gif 9
null  :   空值。IE5用来取消页分割符设置    
None.gif
10    
None.gif    以下是demo的源代码:
None.gif    这是default2.aspx文件,这里要注意的是第7行有这段话:
None.gif    
<style>
ExpandedBlockStart.gifContractedBlock.gif    .pagebreak 
dot.gif{ page-break-after: always }
None.gif    
</style>
None.gif 
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
None.gif 
2
None.gif 
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
None.gif 
4<html xmlns="http://www.w3.org/1999/xhtml">
None.gif 
5<head runat="server">
None.gif 
6    <title>Untitled Page</title>
None.gif 
7    <style>
ExpandedBlockStart.gifContractedBlock.gif 
8    .pagebreak dot.gif{}dot.gif{ page-break-after: always }
None.gif 
9    </style>
None.gif
10</head>
None.gif
11<body>
None.gif
12    <form id="form1" runat="server">
None.gif
13        <div>
None.gif
14            <table id="TABLE1" runat="server" border="1">
None.gif
15                <tr>
None.gif
16                    <td style="width: 100px">
None.gif
17                    </td>
None.gif
18                    <td style="width: 100px">
None.gif
19                    </td>
None.gif
20                    <td style="width: 100px">
None.gif
21                    </td>
None.gif
22                </tr>
None.gif
23            </table>
None.gif
24            <button onclick="javascript:window.print();">打 印</button>
None.gif
25         
None.gif
26        </div>
None.gif
27    </form>
None.gif
28</body>
None.gif
29</html>
None.gif
30
None.gif    
None.gif下面是Default2.aspx.cs文件,要注意第43行的设置。
None.gif
None.gif 1
using System;
None.gif 2
using System.Data;
None.gif 3
using System.Configuration;
None.gif 4
using System.Collections;
None.gif 5
using System.Web;
None.gif 6
using System.Web.Security;
None.gif 7
using System.Web.UI;
None.gif 8
using System.Web.UI.WebControls;
None.gif 9
using System.Web.UI.WebControls.WebParts;
None.gif10
using System.Web.UI.HtmlControls;
None.gif11
using System.Data.SqlClient;
None.gif
12
None.gif13
public partial class Default2 : System.Web.UI.Page
ExpandedBlockStart.gifContractedBlock.gif
14dot.gif{
InBlock.gif
15    protected void Page_Load(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif
16    dot.gif{
InBlock.gif
17        if (!IsPostBack)
ExpandedSubBlockStart.gifContractedSubBlock.gif
18        dot.gif{
InBlock.gif
19            int pageSize = 5//每页显示元素个数
InBlock.gif
20            int i = 1;
InBlock.gif
21
InBlock.gif
22            SqlConnection conn = new SqlConnection("data source=localhost;uid=sa;pwd=;initial catalog=northwind");
InBlock.gif
23            conn.Open();
InBlock.gif
24            SqlDataAdapter adapter = new SqlDataAdapter("select customerid,city,postalcode from customers", conn);
InBlock.gif
25            DataSet ds = new DataSet();
InBlock.gif
26            adapter.Fill(ds);
InBlock.gif
27            
InBlock.gif
28            foreach (DataRow dr in ds.Tables[0].Rows)
ExpandedSubBlockStart.gifContractedSubBlock.gif
29            dot.gif{
InBlock.gif
30                i++;
InBlock.gif
31                HtmlTableRow tr = new HtmlTableRow();
InBlock.gif
32                HtmlTableCell cell1 = new HtmlTableCell();
InBlock.gif
33                cell1.InnerHtml = Convert.ToString(dr[0]);
InBlock.gif
34                HtmlTableCell cell2 = new HtmlTableCell();
InBlock.gif
35                cell2.InnerHtml = Convert.ToString(dr[1]);
InBlock.gif
36                HtmlTableCell cell3 = new HtmlTableCell();
InBlock.gif
37                cell3.InnerHtml = Convert.ToString(dr[2]);
InBlock.gif
38                tr.Cells.Add(cell1);
InBlock.gif
39                tr.Cells.Add(cell2);
InBlock.gif
40                tr.Cells.Add(cell3);
InBlock.gif
41                if ((i - pageSize) % pageSize == 1)
ExpandedSubBlockStart.gifContractedSubBlock.gif
42                dot.gif{
InBlock.gif
43                    tr.Attributes["class"]="pagebreak"; //设置打印标签
ExpandedSubBlockEnd.gif
44                }

InBlock.gif
45                this.TABLE1.Rows.Add(tr);
InBlock.gif
46                
ExpandedSubBlockEnd.gif
47            }

InBlock.gif
48<img src="/Images/OutliningIndicators/ExpandedSubBl% 

转载于:https://www.cnblogs.com/gjahead/archive/2006/08/04/467978.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值