巧用FileSystem組件實現(xiàn)WEB應用中的本地特定打印 (轉(zhuǎn))_第1頁
巧用FileSystem組件實現(xiàn)WEB應用中的本地特定打印 (轉(zhuǎn))_第2頁
巧用FileSystem組件實現(xiàn)WEB應用中的本地特定打印 (轉(zhuǎn))_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、http:/ Internet 的飛速發(fā)展,許多企業(yè)都紛紛開發(fā)基于 WEB 的業(yè)務應用系統(tǒng)。一般情況下,基于 WEB 的業(yè)務應用都采用三層或三層以上的結(jié)構(gòu),前臺即客戶端是普通的 WEB 瀏覽器,中間業(yè)務邏輯應用層存放于 WEB 服務器上,由 WEB 服務器上的服務構(gòu)件訪問后臺數(shù)據(jù)庫。為了業(yè)務系統(tǒng)與 Internet 的互聯(lián),WEB 服務器和數(shù)據(jù)庫系統(tǒng)均托管在 IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心),因而需要從托管在 IDC 的服務器上提取業(yè)務數(shù)據(jù)在本地打印輸出。在客戶端瀏覽器只能打印簡單的 HTML頁面的情況下,要求更為強大靈活的打印輸出功能;通過采用相關的技術對瀏覽器的功能進行擴展,能夠完成更復雜的數(shù)據(jù)打

2、印的任務,如收條、回執(zhí)等。筆者曾經(jīng)為一網(wǎng)絡教育公司開發(fā)教育管理軟件時采用 FileSystem 組件實現(xiàn)在本地打印三聯(lián)收款憑證和準考證等的功能。2、FileSystem 組件使用簡介FileSystem 組件其實是一個 ActiveX 控件,其存在于 WINDOWS 平臺中(不管是Win98、Win2000,還是 NT 環(huán)境都包含該組件。),CLSID:0D43FE01-11CF-8940-00A0C9054228。熟悉 ASP 編程人可能都使用過 FileSystem 組件,一般情況下該組件用在服務器端,用來對文本文件、文件夾及驅(qū)動器進行訪問和控制??梢酝ㄟ^兩種方法創(chuàng)建 FileSystem

3、 組件的對象實例:1、使用 ASP 的內(nèi)置對象 SERVER 的方法 Server.CreateObject 來創(chuàng)建服務器端對象的實例。2、使用 Vbscript 腳本函數(shù) CreateObject 來創(chuàng)建客戶端對象的實例(也可以在服務器端用該方法,但有時會出錯,一般不使用;)。FileSystem 組件對文本文件進行操作有如下方法:CreateTextFile(Filename,Overwrite if exists,Unicode/ASCII) /創(chuàng)建文本文件OpenTextFile(Filename,Input/output mode,Create if notexists,Format

4、) /打開文本文件CopyFile(Filename1,Filename2,Overwrite) /拷貝文本文件MoveFile (Filename1,Filename2) /移動文本文件DeleteFile (Filename) /刪除文本文件GetFile (Filename) /獲得文本文件FileExists (Filename) /判斷文本文件是否存在FileSystem 組件對文件夾和驅(qū)動器也有和文本文件相類似的方法,在此不一一贅述。其實,F(xiàn)ileSystem 組件也可使用于客戶端,采用創(chuàng)建 FileSystem 組件對象實例的第二種方法即可以使用該組件對客戶端系統(tǒng)的文本文件、文件

5、夾及驅(qū)動器進行訪問和控制。因為微軟平臺帶有 FileSystem 組件,所以對于微軟平臺的客戶端則不需要從遠程服務器下載,其在安裝操作系統(tǒng)時會自己安裝并注冊;而對于其他平臺的客戶端則須安裝插件并下載 FileSystem 組件。3、本地端特定打印的實現(xiàn)機制利用 FileSystem 組件實現(xiàn)本地端特定打印的過程如圖所示:1、客戶端向 WEB 服務器發(fā)送數(shù)據(jù)請求;2、WEB 服務器根據(jù)業(yè)務處理邏輯與后臺數(shù)據(jù)庫進行交互,取得所需數(shù)據(jù)形成HTML 頁面,并附帶有 FileSystem 組件對象的 VBScript 腳本,向客戶端瀏覽器發(fā)回 HTML 頁面;3、在客戶端運行腳本,腳本取得 HTML 頁

6、面構(gòu)件的數(shù)據(jù),建立與打印機的連接,向打印機輸出打印數(shù)據(jù)。前兩步與一般的 WEB 應用沒有什么區(qū)別,需要說明的是第三步:首先使用Vbscript 腳本函數(shù) CreateObject 來創(chuàng)建 FileSystem 組件對象的實例;然后調(diào)用該實例創(chuàng)建文本文件的 CreateTextFile 方法,把打印端口 LPT1 或 LPT2 作為文件名參數(shù),并將可覆蓋文件參數(shù)設為 TRUE,建立與打印機的連接;調(diào)用獲得的打印機文本文件流實例的寫文本方法 WriteLine 向打印機輸出打印的內(nèi)容。4、程序示例客戶端腳本:function print_onclick /打印函數(shù)dim labellabel=do

7、cument.printinfo.label.value /獲得 HTML 頁面的數(shù)據(jù)set objfs=CreateObject(Scripting.FileSystemObject) /創(chuàng)建FileSystem 組件對象的實例set objprinter=objfs.CreateTextFile (LPT1:,true) /建立與打印機的連接objprinter.Writeline(_) /輸出打印的內(nèi)容objprinter.Writeline(| |)objprinter.Writeline(| 您打印的數(shù)據(jù)是:&label& |”)objprinter.Writelin

8、e(| |)objprinter.Writeline(|_|)objprinter.close /斷開與打印機的連接set objprinter=nothingset objfs=nothing / 關閉 FileSystem 組件對象end function服務器端腳本: /與數(shù)據(jù)庫進行交互HTML 頁面編碼: id=print name=print /調(diào)用打印函數(shù)INPUT type=hidden id=text1 name=label value= /保存服務器端傳來的數(shù)據(jù)5、說明及結(jié)論1、使用此方法實現(xiàn)打印任務之前,必須調(diào)節(jié)瀏覽器的安全設置;在 Internet選項上安全級別降低,對自己的站點充分信任,可以通過瀏覽器執(zhí)行腳本訪問本機資源。2、本方法可以實現(xiàn)在局域網(wǎng)的打印機上打印遠程服務器的數(shù)據(jù),只須用局域網(wǎng)上打印機注冊在本地的端口代替本地打印機端口作為創(chuàng)建文本文件的Cr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論