使用JasperReport開發本地列印程式

2021-08-18 01:53:43 字數 875 閱讀 2826

最近公司的專案需要報表、單證列印功能,國內比較出名的就是帆軟的報表工具,但是專案是公司自己的產品,不想依賴於第三方的報表工具,所以自己只好想辦法自己開發。後來找到了開源報表框架jasperreport。 公司的專案是基於b/s,需要將報表和單證在瀏覽器上列印。於是就自己開發了乙個本地列印程式,大致的思路如下:

使用者在瀏覽器發起列印請求

啟用本地列印程式,列印程式到伺服器端請求報表資料

本地列印程式請求伺服器端報表模板

本地列印程式將請求的資料填充到模板中,然後呼叫本地印表機進行列印

第一步瀏覽器發起列印請求,就是瀏覽器啟動本地exe檔案,比如請求連線為(jsprinter:

),這裡jsprinter就是請求的協議名稱。在安裝開發的本地列印程式時候,需要同時往登錄檔裡面寫入協議。這樣,只要是瀏覽器請求的此協議,都會呼叫列印程式。

第二步本地程式啟動之後通過位址傳入的引數資料,到伺服器端請求相應的資料。比如我需要列印某個銷售訂單,那麼請求位址為「jsprinter:

」,然後再本地程式中擷取位址中的訂單編號,將訂單編號傳入到伺服器端相應介面進行獲取資料

第三步同時通過擷取的資料中file模板名稱,到伺服器端獲取列印的模板

第四步將獲取的資料填充到模板中,這裡使用開源框架jasprereport提供的報表模板填充資料,然後呼叫本地列印程式進行列印。

當然這邊還涉及到資料的安全性,比如專案是https協議的,在請求本地列印程式的時候需要在讀取https證書檔案才可以請求成功。具體的專案原始碼大家可以到我的github上獲取(

JasperReport 製作含有list 的報表

jrbeancollectiondatasource 傳遞本身就是乙個list 該集合內部若還有其他list 則需要呼叫 jaspersoft 的list element 模組.f需現在fieids中 註冊.return values 裡可以設定返回值 一般返回值為要計算的資料的總和 平均值等 可在...

JasperReport的入門步驟

希望對於入門jasperreport的同仁們有幫助.首先,需要明白的是什麼是report.通俗一點說,就是將資料以某種格式展現出來.在這裡2有2格重要的方面,即資料和展現.對於資料,無非就是資料庫裡的資料以及經過對這些原始資料處理的資料.展現就是以某種格式將這些資料表現出來.對於乙個剛開始接觸jas...

JasperReport的入門步驟

用了幾天jasperreport,寫下一點心得.希望對於入門jasperreport的同仁們有幫助.首先,需要明白的是什麼是report.通俗一點說,就是將資料以某種格式展現出來.在這裡2有2格重要的方面,即資料和展現.對於資料,無非就是資料庫裡的資料以及經過對這些原始資料處理的資料.展現就是以某種...