Menggunakan Jasper Report dalam PHP

Mengeksport data menjadikan xls, pdf, csv biasa disebut reporting merupakan task yang umum. Banyak developer menciptakan tools untuk memudahkannya. Yang biasa dipakai di php adalah php office, laravel excel, crystal report, dan kool report. Yang pernah saya coba adalah php office dan jasper report.

Untuk yang biasa menggunakan java, tools yang biasa digunakan adalah jasper report / i report. Banyak kelebihan jasper report dibanding reporting php pada umum nya (php office) :

  • Designer drag and drop GUI
    • Cocok untuk report yang format nya ribet
  • Satu design untuk semua format (xls, csv, pdf, docx, dll)
  • Cetak di kertas, terus kertas yg udah di cetak di print lagi

Library yang digunakan

Karena jasper merupakan aplikasi java, bisa di compile menjadi satu file binary jar (seperti exe). Ada developer yang membuat tools jasperstarter, yang berfungsi menggunakan jasper dari command line

jasper

Lalu ada developer yang membuat tools php jasper, yang merupakan wrapper jasper starter sehingga bisa dipanggil dari kode php dengan mudah

php-jasper

Kekurangan

  • Terdapat beberapa error yang menurut saya agak sulit untuk menemukan solusinya di internet
  • Harus ada java di sistem operasi, sehingga tidak bisa dipakai di shared hosting. serta menambah resource (untuk menjalankan jvm java)
  • Agak sulit dibanding phpoffice

Error

Versi jasper engine harus sama dengan jasper report

Samapai saat ini versi jasper engine yang di support jasper starter adalah 6.4.0. Tidak perlu download ulang jasper studio karena bukan versi jasper studio yang di maksud tapi jasper xml dan engine nya.

https://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v630/setting-compatibility-earlier-versions

Versi jdk harus 1.8 / jdk 8

Terdapat error aneh jika menggunakan jdk selain jdk 8.

Kalau menggunakan docker, anda tidak masalah. Kalau tidak, bisa juga kok menginstall 2 jdk dalam satu sistem.

Kesimpulan

Kalau kebutuhan tidak kompleks seperti hanya report excel/csv yang simpel lebih baik memakai report yang umum digunakan php seperti phpoffice.

Kalau bisa pake tools yang native php, pakai tools native php saja. Supaya tidak menambah banyak kemungkinan masalah/attack surface.

PhpJasper : https://github.com/PHPJasper/phpjasper
Jasper studio : https://community.jaspersoft.com/project/jaspersoft-studio

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments