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
  • Satu design untuk semua format
    • Bisa tapi agak rumit seperinya. Cara yang simpelnya design dari xls bisa di copy paste ke pdf (dan sebaliknya)
  • Cetak di kertas

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

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

Masalah permission

Misalkan saya akan letakan hasil export di folder ./storage/app . Bisa juga tidak mengguanakn chmod 777 dengan cara eksekusi jasper starter dilakukan oleh user pemilik folder/storage/app

chmod +x ./vendor/geekcom/phpjasper/bin/jasperstarter/bin/jasperstarter
chmod -R 777 ./storage/app

Kesimpulan

Kalau kebutuhan tidak kompleks seperti hanya report excel/csv yang simpel lebih baik memakai report yang umum digunakan php seperti phpoffice. Gunakan tools lain seperti phpjasper jika kebutuhan kompleks atau sudah terbiasa sebelumnya.

Referensi

Karena saya belum mencoba banyak report engine, saya sarankan untuk membandingkan dengan report engine lain juga (Kool report kelihatannya menarik)

https://stackoverflow.com/questions/9646574/php-reporting-tools

https://github.com/topics/php-reporting-tools

Link Download

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

1
Leave a Reply

Please Connect to comment
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Abdillah Hebert Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Abdillah Hebert
Guest
Abdillah Hebert

Boleh juga