基于Web的打印方案比較分析
http://tech.ddvip.com/2009-03/1237875967112100.html??? 應用web化,不論對開發商,還是對用戶來說,實在是一種很
基于web的套打,難度在于要將瀏覽器中呈現的html,精確地打印到票據中,而且能夠實現對分頁位置的控制。下面就ie瀏覽器所能采用的套打解決方案,來個匯總分析,希望對大家有所幫助。
一、瀏覽器的打印功能菜單
這種方案的優勢是不需要對瀏覽器作任何擴充,是最簡單的辦法,但問題也最多,如:
不能準確對齊邊邊距及打印文字。
不能解決連續打印。比如,不是僅打印一張票據,而是連續一次打印若干個票據。
這實際上,是瀏覽器打印功能菜單的一種程序調用,與打印功能菜單沒什么兩樣。分頁的問題仍然存在,只不過,可以讓用戶不用去點菜單,直接在網頁中的一個按鈕,或一個鏈接里面調用罷了。
三 、使用print css
四 、使用PDF文件
用這種方式,就是從服務器端下載一個pdf文件流,在IE中用adobe插件打開,然后用adobe的打印菜單進行打印,雖然這種方案,也能實現精確套打,但需要下載adobe插件。這是國外報表工具經常推薦的一種打印方法,但在pdf不那么普及的中國,這種方案不是最好選擇。
五 、采用純ActiveX
六 、采用Applet方式
采用Applet方式,分頁或精確打印,都可以做到完美,但缺點也很明顯,表現在:
安裝Applet成本巨大。需要下載十幾M的文件。
打印報表時,需要重新向服務器檢索數據,效率低。因為Applet方案,一般采用html方式呈現數據,打印時Applet必須向服務器檢索同一張票據的數據,看上去,是打印了當前頁的票據,實際上,Applet根本不會用當前html頁的數據來打印,而是向服務器下載數據到Applet中來打印。也就是說,打印的話,必須兩次請求,一次html呈現,一次用來打印。
不能解決連續打印。比如,不是僅打印一張票據,而是連續一次打印若干個票據。
不能解決打印機設置問題,如存在多臺打印機時,總是需要手工選擇,打印到哪一臺打印機。
市場上java類的報表工具,一般推薦Applet方式來實現打印。
七 、輕量級的ActiveX打印方式
目前用的較多的有國外的ScriptX,國內的有jatoolsPrinter。他們可以通過web腳本來選擇輸出打印機,紙張大小,打印方向等,不必每次手工設定。
對于簡單的打印,我們用IE的功能就可以了,對于需要復雜的設置的,建議使用輕量級的ActiveX打印方式。在接下來的系列教程里,我們會一一介紹。
posted on 2009-04-23 11:58 luofeng225 閱讀(198) 評論(0) 編輯 收藏 所屬分類: 未分類