• 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组件实现本地端特定打印的过程如图所示:
<IMG SRC="http://www.computerworld.com.cn/htm/app/aprog/01_9_14_5.jpg" border=0>
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中set与dim的区别(自己的理解)
  • 2017-05-11asp的一个日期格式化函数
  • 2017-05-11一个实用的FSO-实时统计在线人数
  • 2017-05-11asp下用replace非正则实现代码运行功能的代码
  • 2017-05-11ASP常用函数:HTMLDecode
  • 2017-05-11从文本文件中读取信息并存储入数据库
  • 2017-05-11ASP移动文件函数movefile权限不足的替代方法
  • 2017-05-11可以查询百度排名的asp源码放送了
  • 2017-05-11实现支持逻辑搜索/单词搜索/词组搜索+支持OR/AND关键字的VBS CLASS!
  • 2017-05-11ASP+FSO可视化目录编历(可增、删、改)下载

文章分类

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

最近更新的内容

    • ASP中Cache技术的应用
    • ASP编程中连接数据库和数据库操作的常用代码
    • asp中利用xmlhttp抓取网页内容的代码
    • asp下检查表中是否存在某个字段(列)函数
    • 根据日期得到生肖的ASP函数
    • ASP中DateAdd函数中日期相加或相减使用方法
    • 用XMLHTTP很好的一个例子
    • 启动iis出现发生意外0x8ffe2740的解决方法
    • asp动态include文件,方便多模板的实现
    • ImageMagickObject获取图片的信息无返回值的解决办法

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

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