利用IE浏览器进行web打印
一. 利用IE浏览器直接打印
1)打印web页面的所有元素
这是最简单的一种打印,直接调用window.print()即可。代码如下:
1<button onclick="javascript:window.print();"></button>
2)分页打印
在做web分页打印时,我们可以使用css样式表进行控制。css中有个叫page-break-after的属性。page-break-after的说明如下:
1page-break-after版本:CSS2 兼容性:IE4+ 继承性:无
2语法:page-break-after : auto ¦ always ¦ avoid ¦ left ¦ right ¦ null
3参数:
4auto : 假如需要在对象之后插入页分割符
5always : 始终在对象之后插入页分割符
6avoid : 避免在对象后面插入页分割符
7left : 在对象后面插入页分割符直到它到达一个空白的左页边
8right : 在对象后面插入页分割符直到它到达一个空白的右页边
9null : 空值。IE5用来取消页分割符设置
10
以下是demo的源代码:
这是default2.aspx文件,这里要注意的是第7行有这段话:
<style>
.pagebreak { page-break-after: always }
</style>
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
2
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml">
5<head runat="server">
6 <title>Untitled Page</title>
7 <style>
8 .pagebreak {}{ page-break-after: always }
9 </style>
10</head>
11<body>
12 <form id="form1" runat="server">
13 <div>
14 <table id="TABLE1" runat="server" border="1">
15 <tr>
16 <td style="width: 100px">
17 </td>
18 <td style="width: 100px">
19 </td>
20 <td style="width: 100px">
21 </td>
22 </tr>
23 </table>
24 <button onclick="javascript:window.print();">打 印</button>
25
26 </div>
27 </form>
28</body>
29</html>
30
下面是Default2.aspx.cs文件,要注意第43行的设置。
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11using System.Data.SqlClient;
12
13public partial class Default2 : System.Web.UI.Page
14{
15 protected void Page_Load(object sender, EventArgs e)
16 {
17 if (!IsPostBack)
18 {
19 int pageSize = 5; //每页显示元素个数
20 int i = 1;
21
22 SqlConnection conn = new SqlConnection("data source=localhost;uid=sa;pwd=;initial catalog=northwind");
23 conn.Open();
24 SqlDataAdapter adapter = new SqlDataAdapter("select customerid,city,postalcode from customers", conn);
25 DataSet ds = new DataSet();
26 adapter.Fill(ds);
27
28 foreach (DataRow dr in ds.Tables[0].Rows)
29 {
30 i++;
31 HtmlTableRow tr = new HtmlTableRow();
32 HtmlTableCell cell1 = new HtmlTableCell();
33 cell1.InnerHtml = Convert.ToString(dr[0]);
34 HtmlTableCell cell2 = new HtmlTableCell();
35 cell2.InnerHtml = Convert.ToString(dr[1]);
36 HtmlTableCell cell3 = new HtmlTableCell();
37 cell3.InnerHtml = Convert.ToString(dr[2]);
38 tr.Cells.Add(cell1);
39 tr.Cells.Add(cell2);
40 tr.Cells.Add(cell3);
41 if ((i - pageSize) % pageSize == 1)
42 {
43 tr.Attributes["class"]="pagebreak"; //设置打印标签
44 }
45 this.TABLE1.Rows.Add(tr);
46
47 }
48<img src="/Images/OutliningIndicators/ExpandedSubBl%
转载于:https://www.cnblogs.com/gjahead/archive/2006/08/04/467978.html
利用IE浏览器进行web打印相关推荐
- 兼容所有浏览器的Web打印控件的设计方案
兼容所有浏览器的Web打印控件的设计方案 设计方案的简单实现网址:http://www.lc-simple.com/PrintTest/ 第一章:Web打印控件的原理 Web打印控件的工作的原理如下: ...
- 利用WebBrowser彻底解决Web打印问题
原文地址为: 利用WebBrowser彻底解决Web打印问题 利用WebBrowser彻底解决Web打印问题(包括后台打印) BS架构下的打印大家是怎么解决的呢,我最近作了一个项目正好负责这一块,不仅 ...
- 网页浏览器的Web打印插件开发指南
[能加加]网页打印插件是一款面向网页浏览器的Web打印代理软件,支持跨平台(Windows/Linux/MacOS).适配各种浏览器.插件提供了精简灵活的API,浏览器与代理软件的交互均通过Javas ...
- 利用XML实现通用WEB报表打印(转载)
原文地址: http://www.microsoft.com/china/community/Column/65.mspx 利用XML实现通用WEB报表打印 卢彦 方案适用性 . 1. 远程数据打印. ...
- 利用XML实现通用WEB报表打印 卢彦
利用XML实现通用WEB报表打印(1) 卢彦 摘要 开发B/S结构的应用程序最头疼的问题可能就是报表打印了,由于只能采用浏览器来作为用户界面进行交互,所以不能精确控制客户端的打印机.而很多B/S结构的 ...
- 利用WebBrowser实现Web打印的分析
利用WebBrowser实现Web打印的分析 原文:利用WebBrowser实现Web打印的分析 WebBrowser是IE内置的浏览器控件,无需用户下载.本文档所讨论的是有关IE6.0版本的WebB ...
- 利用XML实现通用WEB报表打印(参考)
原文地址: http://www.microsoft.com/china/community/Column/65.mspx 利用XML实现通用WEB报表打印 卢彦 方案适用性 . 1. 远程数据打印. ...
- html打印不弹出对话框,在C#带或不带Web浏览器控制和打印对话框打印的HTML
在C#带或不带Web浏览器控制和打印对话框打印的HTML 简介 .NET平台的Web浏览器控制的印刷也不是很难的工作.但对我的挑战是导航到某个特定的URL,然后打印一个单一的点击事件文件.我不得不面对 ...
- Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术——不就是chrome OS吗?...
什么是Progressive Web App? Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术,由Google实现,让浏览器打开的网址像APP一样运行 ...
最新文章
- 在看不见的地方,AI正在7×24为你在线服务
- Kubernetes — Overview
- oracle11g中SQL优化(SQL TUNING)新特性之Adaptive Cursor Sharing (ACS)
- 【算法】非极大值抑制原理、流程和代码
- Ilya Muromets(DP or 思维)
- 把chord下dbm_noauth做成静态库,提供接口
- Centos5上部署udev
- 如果你用GitHub,可以这样提高效率
- 【评论送书】适合初学者的 6 个有趣的 R 语言项目
- 高频电子线路复习笔记(2)——高频电路基础
- 标签打印软件如何制作箭头样式
- 【毕业设计】深度学习指纹识别算法研究与实现 - python opencv
- 异步bus交互(一)— 两级DFF同步器
- 工商管理专业的毕业论文怎么选题?
- sqlserver中查询(升序、降序、top、百分比)
- 7-39 龟兔赛跑 (20 分) 乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。T分钟后乌龟和兔子谁跑得快?PTA:中M2021春C、Java入门练习第I段—变量、表达式、分支、循环
- php gd表情包,gd表情包
- C++之char , signed char , unsigned char(转)
- GUI(图形用户界面)——AWT概述、布局管理器
- 婚姻介绍所怎么做身份实名认证?
热门文章
- Silverlight 模拟Nano5 界面效果
- 使用WITH AS提高性能简化嵌套SQL
- Core Data的使用(二)备
- 图片加载库Glide
- SQL Server数据库的导出
- Mathpix图片转LaTeX,Word快速插入LaTeX公式教程
- 搜狗浏览器收藏夹在哪_chrome谷歌浏览器收藏夹在哪_chrome收藏夹在电脑什么位置...
- mybatis 级联查询兑现_MyBatis之自查询使用递归实现 N级联动效果(两种实现方式)...
- MySQL之数据库多表查询
- Python 测试驱动开发读书笔记(三)使用单元测试测试简单的首页