巧用FileSystem组件实现WEB应用中的本地特定打印
2024-05-04 11:02:33
供稿:网友
1、引言
随着Internet的飞速发展,许多企业都纷纷开发基于WEB的业务应用系统。一般情况下,基于WEB的业务应用都采用三层或三层以上的结构,前台即客户端是普通的WEB浏览器,中间业务逻辑应用层存放于WEB服务器上,由WEB服务器上的服务构件访问后台数据库。为了业务系统与Internet的互联,WEB服务器和数据库系统均托管在IDC(互联网数据中心),因而需要从托管在 IDC的服务器上提取业务数据在本地打印输出。在客户端浏览器只能打印简单的HTML页面的情况下,要求更为强大灵活的打印输出功能;通过采用相关的技术对浏览器的功能进行扩展,能够完成更复杂的数据打印的任务,如收条、回执等。笔者曾经为一网络教育公司开发教育管理软件时采用FileSystem组件实现在本地打印三联收款凭证和准考证等的功能。
2、FileSystem组件使用简介
FileSystem组件其实是一个ActiveX控件,其存在于WINDOWS平台中(不管是Win98、Win2000,还是NT环境都包含该组件。),CLSID:0D43FE01-11CF-8940-00A0C9054228。熟悉ASP编程人可能都使用过FileSystem组件,一般情况下该组件用在服务器端,用来对文本文件、文件夹及驱动器进行访问和控制。可以通过两种方法创建FileSystem组件的对象实例:
1、使用ASP的内置对象SERVER的方法Server.CreateObject来创建服务器端对象的实例。
2、使用Vbscript脚本函数CreateObject来创建客户端对象的实例(也可以在服务器端用该方法,但有时会出错,一般不使用;)。
FileSystem组件对文本文件进行操作有如下方法:
CreateTextFile(Filename,[Overwrite if exists],[Unicode/ASCII]) //创建文本文件
OpenTextFile(Filename,[Input/output mode],[Create if not exists],[Format]) //打开文本文件
CopyFile(Filename1,Filename2,[Overwrite]) //拷贝文本文件
MoveFile (Filename1,Filename2) //移动文本文件
DeleteFile (Filename) //删除文本文件
GetFile (Filename) //获得文本文件
FileExists (Filename) //判断文本文件是否存在
FileSystem组件对文件夹和驱动器也有和文本文件相类似的方法,在此不一一赘述。
其实,FileSystem组件也可使用于客户端,采用创建FileSystem组件对象实例的第二种方法即可以使用该组件对客户端系统的文本文件、文件夹及驱动器进行访问和控制。因为微软平台带有FileSystem组件,所以对于微软平台的客户端则不需要从远程服务器下载,其在安装操作系统时会自己安装并注册;而对于其他平台的客户端则须安装插件并下载FileSystem组件。
3、本地端特定打印的实现机制
利用FileSystem组件实现本地端特定打印的过程如图所示:
<IMG SRC="http://www.computerworld.com.cn/htm/app/aprog/01_9_14_5.jpg" border=0>
1、客户端向WEB服务器发送数据请求;