JasperReports
JasperReports adalah library reporting Java yang dipakai InfiniteERP (Openbravo) untuk mencetak dokumen (invoice, kuitansi, dan report lain) dari file template JRXML.
Contents
Versi Library di Server
Berdasarkan pemeriksaan source code Openbravo, runtime report memakai:
jasperreports-6.0.0.jarjasperreports-fonts-6.0.0.jar- iText 5.5.x (package
com.itextpdf) untuk export PDF — bukan iText lawascom.lowagieyang dipakai JasperReports 5.x
Tool Desain
| Tool | Library JasperReports bawaan | Keterangan |
|---|---|---|
| iReport 5.6.0 | 5.6.0 | Legacy, sudah tidak dikembangkan |
| Jaspersoft Studio CE 6.21.x | 6.21.x | Tool desain aktif berbasis Eclipse |
File JRXML existing (contoh: sales_invoice_SSD.jrxml) dibuat dengan iReport 5.6, lalu sempat disentuh Jaspersoft Studio (terlihat dari property com.jaspersoft.studio.* dan atribut splitType di dalamnya).
Kompatibilitas JRXML (Sudah Diuji)
Pengujian dilakukan dengan meng-compile JRXML memakai jasperreports-6.0.0.jar persis seperti di server:
| File JRXML | Compile di JR 6.0.0 | Export PDF |
|---|---|---|
Asli (output iReport 5.6, ada splitType) |
OK | — |
| Versi perbaikan (clean-up) | OK | OK |
| Layout baru (modern) | OK | OK |
Kesimpulan:
- Namespace lawas
http://jasperreports.sourceforge.net/jasperreportssepenuhnya kompatibel dengan JR 6.0.0 — tidak perlu diubah. - Parser JR 6.0.0 (bahkan 5.6.0) toleran terhadap atribut yang tidak dikenal; atribut asing diabaikan saat compile.
- Risiko sesungguhnya bukan di runtime, melainkan di editor: iReport 5.6 dapat menghapus/mengacaukan atribut versi baru saat file di-edit lalu di-save.
Mengedit dengan Jaspersoft Studio CE
Jaspersoft Studio Community Edition dapat diunduh di: Download Jaspersoft Studio CE 6.21.x
Karena Studio 6.21.x membawa library JasperReports 6.21.x (lebih baru dari runtime server 6.0.0), perhatikan:
- Setelah mengedit, selalu compile ulang JRXML terhadap JR 6.0.0 (lihat JRXML Local Verification) sebelum deploy — jangan mengandalkan preview Studio.
- Hindari memakai komponen/fitur yang hanya ada di versi baru (misal elemen
<part>) kecuali runtime server memang di-upgrade. - Property
com.jaspersoft.studio.*yang ditulis Studio aman — diabaikan oleh runtime. - Simpan file dengan encoding UTF-8 dan pertahankan namespace lawas agar tetap konsisten dengan report existing.
Praktik dan Verifikasi
- JRXML Best Practices — aturan penulisan JRXML, jebakan umum, dan polanya
- JRXML Local Verification — cara compile + render JRXML di laptop tanpa server