Categories: BackendLaravelPhp

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

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

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

Herbert Abdillah

Test

Recent Posts

Disk 1 tb sisa 100 gb

Berikut ini detail breakdown nya Docker

1 week ago

Langchain JsonOutputParser Invalid json output Error

Sometimes json output from llm like this : {"key": "value"}``` that langchain JsonOutputParser regex cant…

1 month ago

Tontonan Bagus

https://www.youtube.com/watch?v=ZAqIoDhornk (more…)

1 month ago

Ada Apa Didalam Sistem Operasi (Linux). Apa yang membedakan distribusi Linux seperti Ubuntu, Redhat, Alpine?

#include <stdio.h> int main() { FILE *f_ptr; char f_content[256]; char output[512]; f_ptr = fopen("/tmp/1337", "r");…

4 months ago

Convert OpenSSL 1 in Ruby Gem to OpenSSL 3

Version 3 have different interface Example: https://github.com/herbertabdillah/fabric-gateway-ruby/commit/c7377aaf2e62de1e2ac309965a09b5c7c72a2c7e (more…)

2 years ago

Catatan Belajar Ruby on Rails dari aliran Java dan Php

Telah di edit. Sumber Asli : https://twitter.com/nateberkopec/status/1250603032523370496/photo/1 Ruby on Rails merupakan framework web MVC menggunakan…

2 years ago