2009-08-19 59 views
11

我正在尋找一個輕量級的Java報告引擎來嵌入到applet應用程序中。輕量級Java報告引擎

我的第一個選擇是賈斯珀報告,但罐子已經超過2Mb,有點太重(太臃腫),因爲我的需要。我不知道是否有模塊化的Jasper分佈,功能分成幾個罐子(如html渲染,pdf,excel,編譯,運行時等)。

我需要使用Swing預覽報表並打印它。 PDF出口是一個優點。

回答

1

如果您找不到更好的解決方案,應該可以爲Jasper Reports創建一個精簡的JAR文件。 GenJar工具應該能夠基於靜態依賴關係構建JAR文件。

很久以前,我曾經使用Zelix的「Classmaster」混淆工具,該工具可以讓您選擇剝離未使用的類。我認爲它甚至可能剝奪了未使用的方法,儘管我的記憶有點朦朧。 (我用它在一個封閉的源代碼產品上...從此它已經消失在一個IP「黑洞」中)。

編輯:另一個選項是ProGuard,它像Classmaster一樣進行混淆和剝離,只是它是開源的。 (不幸的是,他們似乎錯誤配置了他們的SF網站鏈接,但上面的鏈接工作。)

當然,如果賈斯珀報告使用Class.forName()您需要確定所有相關類添加它們作爲「根」依賴關係您使用的剝離工具。另外,您需要查看Jasper Reports許可證,以確保允許您「分發」剝離的JAR文件。

+0

Jasper動態加載類,你需要找出依賴關係。 – sventechie 2009-09-29 20:32:19

6

賈斯珀報告確實包括一個基本的功能jar來預覽和打印報告。它打包爲jasperreports-x.x.x-applet.jar,大約有350k。

1

爲什麼服務器端庫2Mb太大? Docmosis的jar大小在500k以下,但在服務器上需要OpenOffice,所以它在一種方式中較小,在另一種方式中較大。除非使用所有的功能/類,否則Java不會將2Mb Jasper加載到內存中。

+1

我沒有在服務器端使用它,而是在客戶端。該小程序從服務器加載.jasper流,並通過搖擺式查看器將其呈現給用戶。 – tuler 2010-05-11 14:12:13

4

我知道這是有點晚了,但是你的要求似乎是一個完美的結合將是報告的解決方案,我工作的公司推出:i-net Clear Reports(曾經是我網水晶般清晰的)。

  • 重量輕,簡單的瀏覽器(類似於PDF查看器)
  • 很簡單易用的API
  • 可以導出成一束的不同格式,包括PDF
  • 支持任何JDBC數據源,或同時數據的手動設定
  • 可以運行的Crystal Reports模板
  • 我們還提供一個免費的,功能齊全report designer

看看並告訴我們你的想法。

1

恕我直言​​3210是最好的。jar文件只有180 KB!並支持IF和迭代。多麼酷啊 !

+1

對於PDF,我使用Chunk生成XML,Apache FOP引擎可以實時轉換爲PDF輸出。 – 2014-06-12 15:05:33

+0

具有用於報告的塊模板功能specyfic?自動組標題和總計/小計似乎最重要?我使用(在一些舊項目中)模板引擎來報告「手動模式」,它的努力工作。 – 2017-01-02 10:28:45