淺談報表工具的列印方案

xiaohuihui發表於2020-05-11

報表工具除了基本的繪製報表,完成資料呈現(也就是讓終端使用者能看到報表),列印也是報表的基本功能之一。

當前報表工具很多,可以按地域、開閉源等劃分,包括有傑表、水晶、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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章