• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP > 巧用FileSystem组件实现WEB应用中的本地特定打印的方法

巧用FileSystem组件实现WEB应用中的本地特定打印的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了filesystemobject组件,webfilesystem,同音巧用的歇后语,借东风 巧用天时,家庭巧种巧用芽苗菜等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
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、不足之处是需要调节浏览器的安全设置,且不支持图片和特殊字体的打印。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 巧用FileSystem组件实现WEB应用中的本地特定打印的方法
  • filesystemobject组件的用法示例
  • 巧用FileSystem组件实现WEB应用中的本地特定打印
  • 三种禁用FileSystemObject组件的方法
  • 三种禁用FileSystemObject组件的方法
  • 三种禁用FileSystemObject组件的方法

相关文章

  • 2017-05-11Asp 操作Cookies(包括设置[赋值]、读取、删除[设置过期时间])
  • 2017-05-11为SWFUpload增加ASP版本的上传处理程序
  • 2017-05-11ASP 精华源码收集(五年总结)第1/20页
  • 2017-05-11asp被杀毒软件误删的解决方法
  • 2017-05-11asp中实现随机分组程序的代码
  • 2017-05-11ASP wsImage组件添加水印的实用代码
  • 2017-05-11[ASP]使用类,实现模块化
  • 2017-05-11FSO操作文件系统
  • 2017-05-11ASP为字符串中的网址自动加上链接
  • 2017-05-11支持权重的无组件ASP广告显示代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 为SWFUpload增加ASP版本的上传处理程序
    • sql 存储过程分页
    • 推荐的用Asp实现屏蔽IP地址访问的代码
    • 超精华的asp代码大全第1/2页
    • 简单的ASP分页代码(测试正确)第1/2页
    • 一个ASP小马
    • ASP编程入门进阶(十六):FSO组件之驱动器操作
    • ASP 游标参数详解(ASP记录集)第1/2页
    • 浅谈自动采集程序及入库
    • 用asp获取微软安全更新列表的代码 小偷程序

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有