您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> js >> 正文

实现Internet/Intranet 所见即所得的打印功能

作者:作者:未…    信息学院来源:网络收集    点击数:    更新时间:2006-8-27 我要参与讨论

   
实现Internet/Intranet 所见即所得的打印功能


  



    随着Internet技术的飞速发展,越来越多的企业应用是基于Internet/Intranet。这样用户就可以通过浏览器(Browser)来完成各种数据的输入、查询功能。但由于目前浏览器的局限性,影响了它的一些应用。如HTML页面交互性不强、缺乏所见即所得的打印功能等。这些问题多是通过在网页中嵌入Java Applet、ActiveX等控件或是使用Plug-in来解决。本文介绍一种解决所见即所得的打印方案


一、浏览器的打印问题


    浏览器无法实现所见即所得的打印功能,主要原因是由于HTML缺乏精确定位和绘图功能。标准HTML只能设置文本和图片等元素的基本显示属性。这样在打印时,不同的浏览器,不同的打印页面设置,都会导致打印结果不同。


二、主要解决方案


    解决Internet/Intranet的所见即所得的功能方法很多,但不外乎三种方式:一种是在网页中使用所见即所得的打印控件,如使用Java Applet、ActiveX等;一种是编写自己的客户端所见即所得的打印程序或Plug-in,打印时浏览器从Web服务器上取得打印数据,再调用打印程序或Plug-in进行打印;第三种方式是利用第三方支持所见即所得打印功能的程序或Plug-in,打印时浏览器下载打印数据,再调用第三方程序或Plug-in进行打印。下面详细介绍着三种方案。


客户端使用自己编写的打印程序或Plug-in
  

工作方式:客户端要打印时,浏览器先从Web服务器上下载要打印的数据包,再调用自己编写的程序或Plug-in打印。可以做到一边下载,一边打印。


优点:打印数据包可以很小,适合各种带宽通讯。自己可以定义数据包格式,做到数据量最少。


缺点:客户端需要安装一次,开发设计工作量大,升级麻烦,增加了维护负担。不仅服务器端要编写生成打印数据的模块,客户端也要编写打印程序或Plug-in。升级时要为不仅服务器要升级,客户端的打印程序也要升级。


客户端使用第三方打印程序或Plug-in


工作方式:基本与第二种方式相同,所不同的是客户端用的是第三方程序或Plug-in。


优点:设计工作量少,升级方便,维护简单。由于使用的是第三方软件,设计工作主要集中在服务器方,升级时也只用升级服务器。


缺点:客户端需要安装一次,要求第三方软件开发商能提供程序的数据接口,程序的使用需要授权。


    如果能找到一种操作简单,客户常用,支持所见即所得打印功能,且数据接口是开放的客户端软件是解决这个问题的最好方式。


    PDF电子文档的免费阅读器-Adobe Acrobat(R) Reader-正是我们要找的客户端软件。大多数网民可能都安装有免费的Acrobat(R) Reader,用它可以查看PDF文件。它提供了所见即所得的打印功能,并且PDF文档格式是开放的。只要在客户端安装免费的PDF阅读器-Acrobat(R) Reader,在Web服务器端适时的把要打印的数据生成PDF文件,这样就比较完美的解决了网上的打印问题。


三、PDF的特点


    PDF(Portable Document Format)是一种通用开放文档格式,它是由Adobe公司开发,适合网上使用的电子文档格式。它事实上已成为电子文档的标准。任何人都可利用免费提供的 Adobe Acrobat(R) Reader 软件随意地共享、查看、导航和打印 PDF 文件。免费的Adobe Acrobat(R) Reader可以随意分发。


PDF有以下特点:


PDF文档格式开放;
可实现PDF文档跨平台:PDF的阅读器(Acrobat(R) Reader)已有各种操作系统版本(Windows、Mac、Linux和各种Unix版),用不同的阅读器查看和打印的字体、颜色和大小都完全一样;
PDF文档内容可以压缩,可有效降低文档大小;
PDF文档是结构化的、面向对象的;
PDF文档还可嵌入图片、声音和视频图象,还提供书签、Web连接、跨文档连接等功能;
PDF的阅读器和Plug-in可免费提供。
四、PDF文档介绍


下面简单介绍PDF文档的基本知识


PDF的对象( Object )
PDF文档是由一系列基本对象构成,它们是:


布尔对象( Boolean ):只有两个值:True和False


数值对象( Number ):可是整数和浮点数


字符串和文字对象( String and Text ):是一串无符号的8位字节、写为一串字符格式的对象


名字对象( Name ):由”/”打头,类似于字符串的对象


数组对象( Array ):由任何对象组成的一组对象


字典对象( Dictionary ):由对象对组成的表。对象对的第一个对象是健( key ),一定是名字对象;第二个为值( Value ),可是任何对象


流对象( Stream ):类似于字符串,由一串字符组成。流对象一定是间接对象,它一般用在数据量较大时


空对象( null ):null


另外还有间接对象和对象引用。通过这些对象可以写出任何内容的文档


文件结构
    PDF文件结构可分成四部分,如图


文件头( Header ):标识PDF文件的版本号


文件体( Body ):PDF文件的内容。它是由一系列对象(Object)组成,描述文件内容。


交叉引用表( Cross-reference table ):文件体中各个对象偏移字节地址表,表的格式是固定的。PDF阅读器通过交叉引用表,可以快速得到任何对象的数据。


文件尾( Trailer ):标识文件结束,提供目录(Catalog)对象的引用,并提供交叉引用表的偏移字节地址。PDF阅读器从

[1] [2] 下一页

在google里搜索更多实现Internet/Intranet 所见即所得的打印功能

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    推荐文章
  • 此栏目下没有推荐信息学院
  • 供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明