|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。web|打印 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组件完成当地端特定打印的进程如图所示:
1、客户端向WEB办事器发送数据恳求;
2、WEB办事器依据营业处置逻辑与后台数据库停止交互,获得所需数据构成HTML页面,并附带有FileSystem组件对象的VBScript剧本,向客户端阅读器发还HTML页面;
3、在客户端运转剧本,剧本获得HTML页面构件的数据,创立与打印机的毗连,向打印机输入打印数据。
前两步与普通的WEB使用没有甚么区分,需求申明的是第三步:起首利用Vbscript剧本函数CreateObject来创立FileSystem组件对象的实例;然后挪用该实例创立文本文件的CreateTextFile办法,把打印端口LPT1或LPT2作为文件名参数,并将可掩盖文件参数设为TRUE,创立与打印机的毗连;挪用取得的打印机文本文件流实例的写文本办法WriteLine向打印机输入打印的内容。
4、法式示例
客户端剧本:
<script Language=VBScript>
function print_onclick //打印函数
dim label
label=document.printinfo.label.value //取得HTML页面的数据
set objfs=CreateObject("Scripting.FileSystemObject") //创立FileSystem组件对象的实例
set objprinter=objfs.CreateTextFile ("LPT1:",true) //创立与打印机的毗连
objprinter.Writeline("__________________________________") //输入打印的内容
objprinter.Writeline("| |")
objprinter.Writeline("| 您打印的数据是:"&label& " |”)
objprinter.Writeline("| |")
objprinter.Writeline("|_________________________________|")
objprinter.close //断开与打印机的毗连
set objprinter=nothing
set objfs=nothing // 封闭FileSystem组件对象
end function
</script>
办事器端剧本:
<%………
set conn=server.CreateObject ("adodb.connection")
conn.Open "DSN=name;UID=XXXX;PWD=XXXX;"
set rs=server.CreateObject("adodb.recordset")
rs.Open(“select ……”),conn,1,1
……….%> //与数据库停止交互
HTML页面编码:
<HTML>
………
<FORM ID=printinfo NAME="printinfo" >
<INPUT type="button" value="打印>>" id=print name=print > //挪用打印函数
<INPUT type=hidden id=text1 name=label value=<%=………%>> //保留办事器端传来的数据
………
</HTML>
5、申明及结论
1、利用此办法完成打印义务之前,必需调理阅读器的平安设置;在Internet选项上平安级别下降,对本人的站点充实信赖,可以经由过程阅读器履行剧本会见本机资本。
2、本办法可以完成在局域网的打印机上打印近程办事器的数据,只须用局域网上打印机注册在当地的端口取代当地打印机端口作为创立文本文件的CreateTextFile办法的参数便可。
3、本办法可以完成依据用户选择打印的宽度、高度和数目及内容,并可反复打印。
4、不需求编写ActiveX控件便可以完成特定的打印功效,完成较为复杂。
5、缺乏的地方是需求调理阅读器的平安设置,且不撑持图片和特别字体的打印。</p> ASP脚本是采用明文(plain text)方式来编写的。 |
|