web報表打印系统解决方案.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
web報表打印系统解决方案

web打印/套打 自从开发web程序以来,web打印就一直是困饶大家的大问题。基于web的打印,难度在于要将浏览器中呈现的html,精确地打印到票据中,而且能够实现对分页位置的控制。下面就IE浏览器所能采用的打印解决方案,来个汇总分析。 一、 浏览器的打印功能菜单 这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如: 1 不能精确分页。 浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。 2 不能准确地控制边距及打印文字。 3 不能解决连续打印。 比如,不是仅打印一张票据,而是连续一次打印若干个票据。 二、 使用webbrowser控件+ javascript 这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。 三、 使用print css 这是一种最理想的实现web套打的方法。这种方法通过在html文档中,嵌入打印相关的css样式,来实现对html文档输出打印的控制,比如设置纸张大小,纸张纵横方向,打印边距,分页等。显而易见,这种方式成本小,不需要下载任何插件,而且跨平台性非常好。print css推出已经有些时日,但遗憾的是,至今没有一个厂商的浏览器很好地实现了这些标准,这使得程序员目前还不能利用print css进行实际的开发。关于打印css,参见: /?page=PrintStylesheets 四、 使用pdf文件 用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pdf不那么普及的中国,这种方案不是最好选择。 五、 采用纯ActiveX 这种方案就是下载一个控件,票据的数据不再以html方式呈现,而是呈现在ActiveX中。这种方案的优点是打印的精确度高,分页的可控性好,但缺点也是很明显的,嵌入ActiveX控件破坏了web应用的整体html风格,且这样的控件比较大(一般超过1M,下载颇费时间)。 六、 采用Applet方式 采用Applet方式,分页或精确打印,都可以做到完美,但缺点也很明显,表现在: 1安装Applet成本巨大。需要下载十几M的文件。 Applet本身可能并不大,但运行Applet所需的jre一般至少10几M(jre1.4.2 , 15.45M)。用户需要极大的耐心,来进行打印。 2打印报表时,需要重新向服务器检索数据,效率低。 因为Applet方案,一般采用html方式呈现数据,打印时Applet必须向服务器检索同一张票据的数据,看上去,是打印了当前页的票据,实际上,Applet根本不会用当前html页的数据来打印,而是向服务器下载数据到Applet中来打印。也就是说,打印的话,必须两次请求,一次html呈现,一次用来打印。 七、 轻量级的ActiveX打印方式 轻量级的ActiveX打印方案的优点是: 1. 效率高; 可以直接打印指定的html文档,不必向后台再次提起请求。 2. 能做到精确打印,分页; 3. 功能丰富, 可以利用该控件,实现对当前票据文档的打印,预览,及多个html文档的连续打印。 4. 下载量小, ActiveX只有75K。 e表就是采用第七种方式来实现报表的打印。e表内置了一个用c++写的轻量级的ActiveX控件来精确地控制客户端的打印机。一举解决web打印问题。 ?近期因为专注于用c# 实现web报表,积累了一些经验和心得,也写过一篇介绍文章,也有网友提出没有说清楚。现觉得想用单篇文章来说明web报表开发难免会大而空,落不到实处。因而便想到每篇文章只关注web报表开发中一方面,由多篇文章而形成一个web报表开发的系列文章,这些web报表开发的系列文章无先后次序,主从之分。每篇文章只是以一种视角来看待web报表开发而已。大家可以只选自己感兴趣的部分来看,这样也能节约大家的时间。这便是web报表开发技术专题的由来。废话少说,今天便从小小的序号说起吧! ???web报表开发技术专题一:序号问题 ??????在中国式报表中,常常会见到单元格中有 1,2,3,4 ….成一行或一列排列。这便是序号。显然这些序号值在数据源中是不存在的,需要web报表开发工具根据一定的规则运算出来。报表中的序号问题常常被一些通用的web报表开发工具所忽略,有时常常会因为一个序号无法生成而被迫要写代码,使web报表开发的效率受到大大的限制。 ??????凡是总须研究,才会

文档评论(0)

fv45ffsjjI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档