巧用FileSystem组件实现WEB应用中的本地特定打印 (转)_第1页
巧用FileSystem组件实现WEB应用中的本地特定打印 (转)_第2页
巧用FileSystem组件实现WEB应用中的本地特定打印 (转)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、http:/ Internet 的飞速发展,许多企业都纷纷开发基于 WEB 的业务应用系统。一般情况下,基于 WEB 的业务应用都采用三层或三层以上的结构,前台即客户端是普通的 WEB 浏览器,中间业务逻辑应用层存放于 WEB 服务器上,由 WEB 服务器上的服务构件访问后台数据库。为了业务系统与 Internet 的互联,WEB 服务器和数据库系统均托管在 IDC(互联网数据中心),因而需要从托管在 IDC 的服务器上提取业务数据在本地打印输出。在客户端浏览器只能打印简单的 HTML页面的情况下,要求更为强大灵活的打印输出功能;通过采用相关的技术对浏览器的功能进行扩展,能够完成更复杂的数据打

2、印的任务,如收条、回执等。笔者曾经为一网络教育公司开发教育管理软件时采用 FileSystem 组件实现在本地打印三联收款凭证和准考证等的功能。2、FileSystem 组件使用简介FileSystem 组件其实是一个 ActiveX 控件,其存在于 WINDOWS 平台中(不管是Win98、Win2000,还是 NT 环境都包含该组件。),CLSID:0D43FE01-11CF-8940-00A0C9054228。熟悉 ASP 编程人可能都使用过 FileSystem 组件,一般情况下该组件用在服务器端,用来对文本文件、文件夹及驱动器进行访问和控制。可以通过两种方法创建 FileSystem

3、 组件的对象实例:1、使用 ASP 的内置对象 SERVER 的方法 Server.CreateObject 来创建服务器端对象的实例。2、使用 Vbscript 脚本函数 CreateObject 来创建客户端对象的实例(也可以在服务器端用该方法,但有时会出错,一般不使用;)。FileSystem 组件对文本文件进行操作有如下方法:CreateTextFile(Filename,Overwrite if exists,Unicode/ASCII) /创建文本文件OpenTextFile(Filename,Input/output mode,Create if notexists,Format

4、) /打开文本文件CopyFile(Filename1,Filename2,Overwrite) /拷贝文本文件MoveFile (Filename1,Filename2) /移动文本文件DeleteFile (Filename) /删除文本文件GetFile (Filename) /获得文本文件FileExists (Filename) /判断文本文件是否存在FileSystem 组件对文件夹和驱动器也有和文本文件相类似的方法,在此不一一赘述。其实,FileSystem 组件也可使用于客户端,采用创建 FileSystem 组件对象实例的第二种方法即可以使用该组件对客户端系统的文本文件、文件

5、夹及驱动器进行访问和控制。因为微软平台带有 FileSystem 组件,所以对于微软平台的客户端则不需要从远程服务器下载,其在安装操作系统时会自己安装并注册;而对于其他平台的客户端则须安装插件并下载 FileSystem 组件。3、本地端特定打印的实现机制利用 FileSystem 组件实现本地端特定打印的过程如图所示:1、客户端向 WEB 服务器发送数据请求;2、WEB 服务器根据业务处理逻辑与后台数据库进行交互,取得所需数据形成HTML 页面,并附带有 FileSystem 组件对象的 VBScript 脚本,向客户端浏览器发回 HTML 页面;3、在客户端运行脚本,脚本取得 HTML 页

6、面构件的数据,建立与打印机的连接,向打印机输出打印数据。前两步与一般的 WEB 应用没有什么区别,需要说明的是第三步:首先使用Vbscript 脚本函数 CreateObject 来创建 FileSystem 组件对象的实例;然后调用该实例创建文本文件的 CreateTextFile 方法,把打印端口 LPT1 或 LPT2 作为文件名参数,并将可覆盖文件参数设为 TRUE,建立与打印机的连接;调用获得的打印机文本文件流实例的写文本方法 WriteLine 向打印机输出打印的内容。4、程序示例客户端脚本:function print_onclick /打印函数dim labellabel=do

7、cument.printinfo.label.value /获得 HTML 页面的数据set objfs=CreateObject(Scripting.FileSystemObject) /创建FileSystem 组件对象的实例set objprinter=objfs.CreateTextFile (LPT1:,true) /建立与打印机的连接objprinter.Writeline(_) /输出打印的内容objprinter.Writeline(| |)objprinter.Writeline(| 您打印的数据是:&label& |”)objprinter.Writelin

8、e(| |)objprinter.Writeline(|_|)objprinter.close /断开与打印机的连接set objprinter=nothingset objfs=nothing / 关闭 FileSystem 组件对象end function服务器端脚本: /与数据库进行交互HTML 页面编码: id=print name=print /调用打印函数INPUT type=hidden id=text1 name=label value= /保存服务器端传来的数据5、说明及结论1、使用此方法实现打印任务之前,必须调节浏览器的安全设置;在 Internet选项上安全级别降低,对自己的站点充分信任,可以通过浏览器执行脚本访问本机资源。2、本方法可以实现在局域网的打印机上打印远程服务器的数据,只须用局域网上打印机注册在本地的端口代替本地打印机端口作为创建文本文件的Cr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论