淺談報表工具的列印方案
報表工具除了基本的繪製報表,完成資料呈現(也就是讓終端使用者能看到報表),列印也是報表的基本功能之一。
當前報表工具很多,可以按地域、開閉源等劃分,包括有傑表、水晶、Style Report、birt、ireport、潤乾、FR 等等,各家列印方式也各不相同,但總的來說,有 activex、applet、flash、pdf 等列印模式。
對比來看:
Activex 列印:主要是在 c/s 架構時代使用,當時發揮了極大作用的,處理得好且穩定,但隨著 web 報表的普及,這種列印控制元件幾乎沒人採用了。
Applet 列印:目前常用報表工具基本都支援,比如上面提到的廠商。Applet 是 java 實現,再加上當前多數報表工具也基於 java 開發,所以相容性較好,實現起來也方便,列印速度相比其他要快。不過,客戶端列印的時候需要有 java 執行環境(即 jre),需要客戶端安裝,這個可能給終端使用者來說帶來點小麻煩,當然多數廠家都已經支援自動下載安裝 jre 了,也算是做出了彌補。
Flash 列印:此方式在客戶端點選列印後會觸發 flash player 外掛,外掛幾乎瀏覽器都自帶,一般不會給終端帶來安裝的麻煩。列印的基本原理大概都是報表工具算完報表成表格,給到 flash,flash 再按照給的表格再畫出來,然後傳到印表機列印。不過 flash 外掛開放介面相對少,不如 applet 列印功能豐富,比如選奇偶頁列印、縮放列印等。
Pdf 列印:一般情況下都是從報表伺服器端下載一個 pdf 檔案流,然後呼叫 Adobe Reader,從而利用 Adobe 實現列印功能。也因此要給瀏覽器安裝對應外掛,一般情況下系統安裝 Adobe Reader 後會自動給 IE 瀏覽器安裝對應外掛。國外的 java 報表工具用此方式列印比較廣泛,比如 style report、jasperreport 等,當然國內的報表工具也基本都支援該方式了。
關於以上幾種列印方式,在 web 如何實現精準列印印中都有詳細的說明
總結來說,各種列印方式差異在藉助的外掛不同,實現原理也不同,各有各的優缺點。另外,每個方式也有不同的限制:applet 控制元件已被多數非 IE 核心的瀏覽器禁止使用,比如 chrome、firefox,所以更適合 IE 核心瀏覽器;Flash 本身就有缺陷,所以也在陸續被限制,功能比其他方式要簡單,沒太有未來;pdf 目前在相容性上還比較好,如果終端瀏覽器使用型別較多的話,也是不錯的選擇,但功能上又沒有 applet 豐富。所以,選擇具體列印方式時可綜合考慮了。
另外還整理了一些關於列印相關的問題,想了解的可以參考。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2691384/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 淺談jQuery中的工具方法jQuery
- 做單據類報表的精確列印有什麼好用的報表工具
- 幾百萬條的報表咋列印?
- 淺談物理引擎的網路同步方案!
- fastreport .net列印普通報表AST
- 如何實現報表的批次列印需求
- 淺談資料備份的幾種方案
- 淺談jQuery中$.proxy()工具方法jQuery
- 手遊酷炫技能表現的製作——淺談幕後工具Sofdec2
- 淺談-web螢幕適配的解決方案Web
- 淺談WPF之MVVM工具包MVVM
- 淺談gitlab-ci分離部署方案Gitlab
- 如何實現報表直接列印需求
- 報表工具有哪些列印技術?
- IPv6升級有幾種方式?淺談淺談IPv6改造方案
- 淺談常見的NoSQL技術方案和選型SQL
- 淺談CSS重構樣式表效能CSS
- 淺談前端MOCK資料工具比較前端Mock
- 工具篇 | 淺談測試那些恩怨情仇
- 淺談幾個前端非同步解決方案前端非同步
- 淺談mysql中各種表空間(tablespaces)的概念MySql
- 淺談bootstrap表單驗證外掛BootstrapValidatorboot
- 淺淺談ReduxRedux
- 淺談醫藥行業郵件營銷方案行業
- 帆軟報表linux列印字型重疊Linux
- 淺談JavaScript中的thisJavaScript
- 淺談前端常用腳手架cli工具及案例前端
- 淺淺淺談JavaScript作用域JavaScript
- 淺談 2018 移動端跨平臺開發方案
- 搞懂分散式技術16:淺談分散式鎖的幾種方案分散式
- python 列印 ASCII表PythonASCII
- 淺談 PromisePromise
- 淺談mockMock
- 淺談ViewModelView
- 淺談PWA
- 淺談Disruptor
- 淺談反射反射
- 淺談vuexVue