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