`
javatoyou
  • 浏览: 1019141 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Asp.net中的几种打印方案

 
阅读更多
一、利用IE内部打印组件:
这个方案也许是最简单的,当然不会很“专业”。我们假设客户端是IE6.0版本,因为在IE6.0中才完全体现我们所要应用的“打印模板机制”。它在精确控制页面边界,文本间隔,以及打印的统一性上,功能更为完备。
  至于这种方案的实现也相当简单,它主要只涉及到DEVICERECT,LAYOUTRECT两种行为方式,分别用来定义整体页面风格及单个页面内容风 格。而我们所要打印的HTML可以通过LAYOUTRECT的CONTENTSRC属性来指定。可喜的是即使我们有1000个页面要打印,也可以简单的通 过我们的打印模板添加动态修建HTML功能,实现单模板控制多文件风格。(请参考本文所附代码)。这个方案在CSDN有详细的介绍,但没有附示例。示例文 件可以在MSDN上下载得到。


二、利用外部DLL打印组件:

  此类方案实现倒也不很复杂,只是利用DLL本身内部类函数操作,创建报表、格式并进行打印,而无需考虑内部实现环节。但对于WEB打印来说,似乎不合 适。我个人认为在WEB上创建报表的HTML,然后利用客户端IE打印是最好的解决方式。而如果你的C#或VB不是很好,那么外部DLL的类型解决是一个 很让人头疼的事情,何况还要应用到WEB环境下。这种方案我用傻儿的打印组件调试过,但没成功。

三、利用外部OCX类控件
  这类方案和第二种差不多,也是建立在别人的成果的基础上,但是在ASP.net下,如果没有这个控件的说明书,我相信你也会和我一样,不知道该从哪里下手开始设计。

四、利用XML解析打印
  这种解决方案在微软家园有很详细的介绍,其原理就是解析出定义好的XML格式标记,解读出文件中标记的参数定义,最后将这些信息还原成打印机输出的图 形格式。很简单的理解,例如你要打印一个简单的表格,那么我们将表格解析成为文本和表格两部分,程式设计时我们遇到文本文本则输出文本到打印机,遇到表格 标签即输出LINE到打印机。如此你可以自定义一些特殊的标签,如图片,特殊形状等。这种方案开发起来很简单,而且很“专业”,不过其缺点:客户端需要安 装.NET FrameWork.(傻了。。)

五、转化为PDF文件,利用PDF打印
  转化为其它类型的文件输出,是打印方案很常用的一种方式,而PDF文件格式以其优异的“品质”(打印品质)和“性能”(应用功能)无疑是一种很经济的 方式。而且从WEB向PDF转换不是很困难,资源占用也不是很严重,这是它在同类方案中的优点,也是异类方案中的缺点。如此你可以去PDFCHINA上搜 寻相关可用信息。

六、利用外部设计器设计报表,内部程式码控制打印
  这里我针对思路来讲这种方案,并针对VISUAL DESIGNER报表组件。我们预先得利用设计器做好报表的格式,尔后在程式码里面住报表各表单 “套值”,就这么简单。有点像ACCESS里面的报表设计方式。我所在公司的管理系统就是ACCESS写的,所以我其实挺喜欢这种方案。至于VISUAL  DESIGNER可以在CSDN下载到,并有开发说明书。

七、自己写专业报表打印组件
  这是*不得已的作法,当然更符合自己的要求,但是如果你不是专业的开发人员或有其它特殊目的,这些时间就不要花了。很罗索的。如果你有兴趣写,那么我建议你先看看第五种方案的思路和说明文档。

  WEB打印至今还没有完美的解决方案,我个人期待IE在这一方面再加改进,以方便我们这一群“劳苦大众”。

八、打印頁面:

<a href="javascript:window.print()"> 打印 </a>
分享到:
评论

相关推荐

    asp.net知识库

    在ASP.Net中两种利用CSS实现多界面的方法 如何在客户端调用服务端代码 页面一postback,它就显示页面的最顶端,怎样让它定位在某一位置? 如何保证页面刷新后的滚动条位置 清除网页历史记录,屏蔽后退按钮! 如何传值...

    ASP.NET3.5典型模块开发源代码

    12.3 ASP.NET 3.5中防盗链的解决方案 142 12.3.1 设计处理图片的HttpHandler处理程序 143 12.3.2 在应用配置中注册HttpHandler 144 12.3.3 在IIS中配置图片的特殊处理程序 145 12.3.4 测试处理程序的执行...

    report machine for .net

    复杂的报表?在Report Machine面前,还会有什么复杂的报表存在吗?不,不会有的,因为这是一个功能强大,完全自动化、完全自由设计的报表控件... 22、提供webreport方案,可以在asp,asp.net,php中实现报表的打印预览。

    网软志成分类信息网站系统.net官方商业版

    分类信息网站系统正式版提供有桔红色.net综合风格分类网站模板,同时还提供有.net同城风格分类信息网页模板,asp.net分类信息网站系统地方门户版风格网站模板免费大餐来了,完全免费的asp.net+mssql简易风格分类信息...

    ReportMachine

    4、webreport版:是对ReportMachine vcl版的再开发,用在asp,asp.net,jsp做的b/s架构的程序中,为客户端ie提供报表预览、打印、导出功能,webreport包括2部分:服务器端报表引擎(在asp,asp.net,jsp都能用,...

    。net图书管理系统设计方案

    IIS是ASP.NET惟一可以使用的Web服务器,所以,为了能够运行ASP.NET,就一定要安装IIS。 (1) IIS的安装 如果使用的是Windows 2000操作系统,那么安装的IIS的版本是IIS 5.0;如果使用的是Windows XP操作系统,那么...

    c#学习笔记.txt

    尽管可能将一个点表示为类,但结构在某些方案中更有效。在一些情况下,结构的成本较低。例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。结构可以声明构造函数,但它们必须带参数。...

    C#微软培训资料

    C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出...

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

    ASP ISchool随机抽题考试系统

    2.请确认本地测试环境能够很好的运行ASP+ACCESS程序 3.请确认给予本考试系统所在目录IIS用户或者everyone可写权限!! 程序特点 1.考试项目数据库独立存在,实现高考生数据量承载。 2.考题按格式简单录入,减少了...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    以下就是你可以采用的几种方法。你可以选用其中一种你最适应的并且就这样坚持这种方法! 从HTML中分离 以下是可以使用的方法: &lt;script language="php"&gt; . . . 语句 与Perl和C一样,在PHP中用(;)来分隔...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA上百实例源码以及开源项目源代码

    EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...

Global site tag (gtag.js) - Google Analytics