JasperReports vodič: Čemu služi Jasper Report Java?

⚡ Pametni sažetak

JasperReports za Java je program za izvještavanje otvorenog koda koji pretvara podatke aplikacije u savršene dokumente. Ovaj članak objašnjava životni ciklus izvještavanja, instalaciju Jaspersoft Studija, izradu predložaka izvješća, strukturu pojaseva, usporedbu s Pentahom i praktična ograničenja s kojima se timovi susreću.

  • 📊 Osnovna definicija: JasperReports je Java biblioteka klasa koja prikazuje podatke na ekranu, pisaču, u PDF-u, HTML-u, XLS-u, RTF-u, CSV-u, XML-u, ODT-u i TXT-u.
  • 🔄 Faze životnog ciklusa: Četiri faze se odvijaju redom, i to dizajniranje JRXML-a, kompajliranje u .jasper datoteku, popunjavanje podacima i izvoz rezultata.
  • 🖥️ Dizajnersko okruženje: Jaspersoft Studio Community Edition pruža vizualni dizajner, a verzija 6.21.3 je trenutno izdanje za zajednicu.
  • 🧩 Struktura pojasa: Naslov, zaglavlje stranice, zaglavlje stupca, detalji, podnožje stupca, podnožje stranice i sažetak kontroliraju gdje se svaki element ispisuje.
  • 🔌 Fleksibilnost podataka: Jedno izvješće može kombinirati JavaBeans kolekcije, SQL skupovi rezultata, XML datoteke i prilagođeni adapteri podataka.
  • ⚖️ Usporedba platforme: Jaspersoft prednjači u dokumentaciji i mobilnoj poslovnoj inteligenciji, dok Pentaho prednjači u nadzornim pločama i rudarenju podataka.
  • ⚠️ Poznato ograničenje: Izvješća se moraju sastaviti prije izvršavanja, stoga svaki programer izvješća treba potpuni Java SDK instaliran.

Vodič za JasperReports

Čemu služi JasperReports Java?

Jasper Reports je alat za izvješćivanje otvorenog koda za Java koji se koristi za izvještavanje o aplikacijama. Ovaj alat za izvještavanje pomaže u pisanju bogatog sadržaja na zaslon, na pisač ili u razne datoteke poput HTML-a, PDF-a, XLS-a, RTF-a, CSV-a, XML-a, ODT-a i TXT-a. JasperReports se također može koristiti za Java-omogućene aplikacije poput Java EE ili web aplikacije za generiranje dinamičkog sadržaja.

U većini rasprava pojavljuju se tri naziva proizvoda, a njihovo rano odvajanje sprječava zabunu kasnije na ovoj stranici.

Ime Što je Tko ga koristi
JasperReports biblioteka The Java biblioteka koja sastavlja, ispunjava i izvozi izvješća Java programeri ugrađuju izvješća u aplikaciju
Jaspersoft Studio The Eclipse vizualni dizajner koji proizvodi JRXML datoteke Izvješća dizajnera zgrada rasporeda
JasperReports poslužitelj Samostalni poslužitelj koji pohranjuje, zakazuje i isporučuje izvješća Timovi koji distribuiraju izvješća poslovnim korisnicima

Ova stranica se fokusira na biblioteku i Jaspersoft Studio, jer su te dvije komponente sve što je potrebno za dizajniranje i pokretanje prvog izvješća. Imajte na umu da community edition sada pokriva samo te dvije komponente, budući da se JasperReports Server više ne nudi kao preuzimanje za zajednicu.

Zašto koristiti Jasper Reports?

Evo nekoliko razloga za korištenje Jasper alata za izvješća:

  • Nudi izvedbu generiranja izvješća i isporuku korisnicima.
  • Pomaže vam da svoje podatke predstavite u tekstualnom ili grafičkom obliku.
  • To je samostalni i ugrađeni poslužitelj za izvješćivanje za kompilaciju i izvođenje izvješća.
  • Omogućuje kontrolu pristupa temeljenu na ulogama za sva izvješća u repozitoriju.
  • Za integraciju s internim sustavima za autentifikaciju dostupan je Spring Security framework.
  • Nudi siguran, planiran i automatski isporučen interaktivni mehanizam za izvještavanje.
  • Izvješća možete ugraditi u Java ili ne-Java aplikacija.
  • Moguće je izvesti različite formate izvješća.
  • Može generirati vodene žigove koji se postavljaju preko primarne slike.
  • Nudi kompletan set SOAP, REST i web usluge.
  • Omogućuje vam korištenje podataka jednog izvješća iz više izvora podataka.

Budući da je biblioteka objavljena pod LGPL licencom, može se uključiti u komercijalne proizvode bez naknade po korištenom licu, što je razlog zašto mnogi Java timovi ga odabiru umjesto vlasničkih mehanizama za izvještavanje.

Značajke Jasper Reports

Sada ćemo obraditi značajke JasperReportsa.

Evo važnih značajki alata Jasper Reports:

  • Nudi fleksibilan raspored izvješća u trakama, stupcima i područjima slobodnog oblika.
  • Razvojni programeri mogu dostavljati podatke na više načina, uključujući JavaBeans kolekcije, SQL upiti i XML dokumenti.
  • Više izvora podataka može se kombinirati unutar jednog izvješća putem podizvješća i adaptera podataka.
  • Vodeni žigovi se također mogu primijeniti preko primarne slike.
  • Možete generirati podizvješća koja su ugniježđena unutar nadređenog izgleda.
  • Pomaže vam u izvozu izvješća u raznim formatima kao što su PDF, HTML, RTF i Microsoft Excel datoteke.
  • Mehanizam omogućuje da definicije izvješća uključuju grafikone kao što su stupčasti, tortni, linijski i vremenski nizovi.
  • Izrazi izvješća mogu se napisati u Java, Groovy, ili JavaSkripta.

Ove mogućnosti su izložene kroz fiksni slijed obrade, koji je korak po korak opisan u sljedećem odjeljku.

Životni ciklus JasperReportsa

Sada ćemo saznati više o životnom ciklusu JasperReportsa.

Slijedi opći tijek životnog ciklusa Jasper Reportsa:

Životni ciklus JasperReportsa

Gornji dijagram prikazuje četiri faze redom. Svaka faza proizvodi datoteku koja postaje ulaz sljedeće faze, zbog čega se slijed nikada ne može obrnuti.

Stadij Ulazni Izlaz Proširenje datoteka
Projektiranje Odluke o rasporedu Predložak izvješća .jrxml
sastavljanje .jrxml datoteka Kompilirani binarni predložak .jaspis
izvršavanje .jasper datoteka plus podaci Popunjeno izvješće .jrprint
Izvoz .jrprint datoteka Završni dokument .pdf, .html, .xls i druge

Dizajniranje izvješća

Ovo će biti prvi korak u kojem stvaramo JRXML datoteku. To je jednostavan XML dokument koji definira izgled izvješća. Ovu datoteku možete razviti pomoću bilo kojeg tekstualnog uređivača ili dizajnera izvješća.

Međutim, ako koristite dizajner izvješća, možemo vizualizirati izgled izvješća, a stvarna struktura JRXML-a se može zanemariti.

Sastavljanje izvješća

U ovoj fazi životnog ciklusa, JRXML koji je izgrađen u prvoj fazi se kompajlira i generira se binarni objekt nazvan Jasper datoteka (datoteka s ekstenzijom jasper).

Ova kompilacija radi se kako bi se postigla bolja izvedba tijekom izvođenja. Ove generirane Jasper datoteke trebale bi biti poslane zajedno s vašom aplikacijom za pokretanje izvješća.

Izvršavanje izvješća

U ovoj fazi prikupljaju se podaci iz aplikacije i popunjavaju u obliku sastavljenog izvješća. Postoji klasa pod nazivom net.sf.jasperreports.engine.JasperFillManager koja nudi funkcije za popunjavanje podataka u izvješćima.

Izlaz će biti pohranjen u Jasper datoteci za ispis (datoteka s ekstenzijom jrprint) koja se može koristiti za ispis ili izvoz izvješća.

Izvoz izvješća u željeni format

U ovoj posljednjoj fazi trebate eksportirati Jasper ispisnu datoteku koja je ranije stvorena u bilo koji format pomoću klase JasperExportManager. Budući da Jasper nudi više formata izvoza, možemo koristiti isti unos za stvaranje različitih prikaza podataka.

Kako instalirati Jasper Reports – Postavke okruženja

Sada ćemo naučiti korak-po-korak postupak postavljanja JasperReports okruženja. Snimke zaslona u nastavku snimljene su instalacijskim programom verzije 6.9. Trenutno izdanje zajednice je 6.21.3, objavljeno 23. travnja 2024., a redoslijed zaslona nije promijenjen, iako se broj verzije u nazivu datoteke razlikuje.

Korak 1) Preuzmite izdanje zajednice Jasper Reports
Idi na ovo Veza i kliknite na opciju Preuzmi sada za instalaciju Jasper Reports Community izdanja.

Instalirajte Jasper Reports - Postavljanje okruženja

Korak 2) Odaberite Jaspersoft Studio CE
Iz izdanja zajednice odaberite Jaspersoft Studio CE.

Instalirajte Jasper Reports - Postavljanje okruženja

Korak 3) Preuzmite Jaspersoft Studio
Idi na ovo link i kliknite gumb Preuzmi, a zatim otvorite preuzetu izvršnu datoteku instalacijskog programa za vaš operativni sustav.

Instalirajte Jasper Reports - Postavljanje okruženja

Korak 4) Kliknite gumb za slaganje
Pojavit će se sljedeći zaslon. Odaberite gumb Slažem se.

Instalirajte Jasper Reports - Postavljanje okruženja

Korak 5) Odaberite lokaciju
Odaberite mjesto instalacije i kliknite gumb Dalje.

Instalirajte Jasper Reports - Postavljanje okruženja

Korak 6) Napredak je sada u tijeku
Vidjet ćete napredak na sljedećem ekranu.

Instalirajte Jasper Reports - Postavljanje okruženja

Korak 7) Pritisnite gumb završi
Na sljedećem ekranu kliknite gumb završi.

Instalirajte Jasper Reports - Postavljanje okruženja

Korak 8) Napredak je gotov
Sljedeći ekran će se pojaviti u vašem prozoru.

Instalirajte Jasper Reports - Postavljanje okruženja

Korak 9) Početak
Zatim kliknite na opciju Započni.

Instalirajte Jasper Reports - Postavljanje okruženja

Korak 10) Započnite suradnju s Jasper Reports studiom
Pojavit će se sljedeći ekran i možete početi raditi s Jasper Reports studijem.

Instalirajte Jasper Reports - Postavljanje okruženja

💡 Savjet: Jaspersoft Studio je Eclipse aplikacija temeljena na Java runtime prisutan na računalu. Ako se instalacijski program odbija pokrenuti, prije ponovne instalacije potvrdite instaliranu verziju JDK-a.

Primjer izrade predloška izvješća

Sada ćemo naučiti kako stvoriti predložak izvješća u JasperReportsu.

Datoteka predloška izvješća koja se koristi u JasperReportsu je jednostavna XML datoteka s ekstenzijom jrxml. Ova datoteka sadrži oznaku jasperReport kao svoj korijenski element. JasperReports framework može obraditi različite vrste izvora podataka.

Predložak izvješća dizajnira se i izrađuje pomoću sljedećih koraka.

Korak 1) Stvaranje JRXML datoteke u Jaspersoft Studiju.

  1. Idite na opciju Datoteka.
  2. Odaberite podizbornik Novo.
  3. Kliknite na opciju Jasper Report.

Primjer izrade predloška izvješća

Korak 2) Odabir željenog predloška.

  1. Odaberite svoj predložak, na primjer, trešnja.
  2. Kliknite gumb "Dalje".

Primjer izrade predloška izvješća

Korak 3) Odabir nadređene mape.

  1. Odaberite mapu Moja izvješća.
  2. Unesite naziv datoteke, na primjer, "Cherry Report."
  3. Kliknite gumb "Dalje".

Primjer izrade predloška izvješća

Korak 4) U prozoru Izvor podataka kliknite gumb "Novo" za stvaranje novog podatkovnog adaptera.

Primjer izrade predloška izvješća

Korak 5) Odabir podatkovnog adaptera.

  1. Odaberite podatkovni adapter s popisa. Na primjer, „Zbirka Javagrah.”
  2. Kliknite gumb "Dalje".

Primjer izrade predloška izvješća

Korak 6) Unos podataka o podatkovnom adapteru i odabir tvorničke klase.

  1. Unesite naziv za svoj adapter.
  2. Odaberite klasu tvornice klikom na gumb „…“.

Primjer izrade predloška izvješća

Korak 7) Unos prefiksa ili uzorka.

  1. Unesite prefiks imena ili uzorak.
  2. Kliknite odgovarajuće stavke.
  3. Kliknite na gumb “OK”.

Primjer izrade predloška izvješća

Korak 8) Definiranje tvorničke klase i dodavanje putanje do jar datoteka.

  1. Unesite naziv statičke metode u tvorničku klasu. U ovom primjeru izvješća Jaspera, ovo je createBeanCollection.
  2. Ako vaš JavaDefinicija beana ima opise polja, a ako ih želite koristiti kao nazive u Jaspersoft Studiju, označite potvrdni okvir "Koristi opis polja".
  3. Dodajte stazu svojim jar datotekama.
  4. Kliknite na gumb "Završi".

Primjer izrade predloška izvješća

Korak 9) Kliknite gumb "Dalje".

Primjer izrade predloška izvješća

Korak 10) Čestitamo! Uspješno ste dodali sve potrebne podatke za izradu izvješća. Kliknite gumb „Završi“.

Primjer izrade predloška izvješća

Izvješće će biti generirano kao što je prikazano na donjem ekranu.

Primjer izrade predloška izvješća

Gornja datoteka zahtijeva kompilaciju u binarni format JasperReporta, koji se naziva jasper datoteka.

Sučelje net.sf.jasperreports.engine.design.JRCompiler, koje je dio biblioteke JasperReports, igra važnu ulogu u kompilaciji ove datoteke predloška izvješća.

Implementacija ovog sučelja može se napisati u Java, JavaScript, Groovy, ili bilo koji drugi skriptni jezik.

JRXML datoteku možete kompajlirati pomoću sljedeće dvije metode:

  • Programska kompilacija iz Java kodirati.
  • Kompilacija pomoću Apaški mrav zadatak.

Isječak u nastavku prikazuje programsku rutu, gdje jedan redak kompajlira predložak, a drugi redak ga ispunjava s JavaKolekcija graha.

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

public class ReportRunner {

    public static void main(String[] args) throws JRException {

        // 1. Compile the JRXML template into a .jasper file
        JasperReport report = JasperCompileManager.compileReport("CherryReport.jrxml");

        // 2. Fill the compiled template with a collection of beans
        JRBeanCollectionDataSource source =
                new JRBeanCollectionDataSource(EmployeeFactory.createBeanCollection());

        JasperPrint print = JasperFillManager.fillReport(report, null, source);

        // 3. Export the filled report to PDF
        JasperExportManager.exportReportToPdfFile(print, "CherryReport.pdf");

        System.out.println("Report exported successfully");
    }
}

Izlaz:

Report exported successfully

Razumijevanje različitih izvještajnih opsega

JasperReports izgled je podijeljen na horizontalne dijelove koji se nazivaju trake. Svaka traka ima fiksno pravilo ispisa, a razumijevanje tih pravila omogućuje dizajneru da točno kontrolira gdje se vrijednost pojavljuje u gotovom dokumentu.

U nastavku su navedeni standardni pojasevi izvješća koje koristi većina komercijalnih alata za generiranje izvješća.

  • Naslov
  • Zaglavlje stranice
  • Zaglavlje stupca
  • Detalji
  • Podnožje stupca
  • Podnožje stranice
  • Podnožje zadnje stranice
  • Rezime
  • Zaglavlje grupe
  • Podnožje grupe
  • pozadina
  • Nema podataka

Proučimo detaljno svaki izvještajni bend.

Naslov

Ova traka se prikazuje na početku izvješća. Može se postaviti na vlastitu prvu stranicu postavljanjem atributa isTitleNewPage="true".

Zaglavlje stranice

Zaglavlje stranice prikazuje se na početku svake stranice. Isključuje prvu stranicu ako se koristi naslovno zaglavlje, a posljednju stranicu ako se koristi sažetak s postavkom isSummaryWithPageHeaderAndFooter="false".

Zaglavlje stupca

Zaglavlja stupaca pojavljuju se prije pojasa pojedinosti na svakoj stranici.

Detalji

Odjeljak s detaljima se ponavlja za svaki zapis u navedenom izvoru podataka. Također je dopušteno imati više pojaseva detalja (1, 2 i tako dalje).

Podnožje stupca

Ovaj odjeljak se pojavljuje ispod trake detalja na svakoj stranici na kojoj je prisutna traka detalja. Zadana postavka je kraj stranice, ali se to može promijeniti tako da se nalazi ispod posljednje trake detalja postavljanjem atributa isFloatColumnFooter="true".

Podnožje stranice

Ovaj odjeljak će se prikazati na kraju svake stranice, isključujući sažetak, naslov i posljednji nesažetak.

Podnožje posljednje stranice

Ovaj odjeljak se pojavljuje na posljednjoj stranici, umjesto uobičajenog podnožja stranice, kada nije naveden sažetak.

Rezime

Sažetak se pojavljuje samo na kraju izvješća na novoj stranici kada isSummaryNewPage="true" je postavljen, a sa zaglavljem i podnožjem stranice kada isSummaryWithPageHeaderAndFooter="true" je postavljen.

Zaglavlje grupe

Ovaj odjeljak se pojavljuje samo kada je definiran, svaki put kada se promijeni grupni izraz, prije detaljne trake.

Podnožje grupe

Ovaj odjeljak se prikazuje samo ako je grupa definirana, svaki put prije promjene grupnog izraza, nakon detaljne trake.

pozadina

Prikazuje se na svim stranicama kao pozadina svim ostalim izvještajnim skupinama.

Nema podataka

Ova traka će se pojaviti kada nije proslijeđen nijedan izvor podataka ili je izvor podataka prazan i whenNoDataType="NoDataSection" je postavljen.

Jasper protiv Pentaha

Sada ćemo saznati o razlici između Jaspera i Pentaha.

Evo glavnih razlika između Jaspera i Pentaha:

Parametri Jaspis Pentaho
Izvješća Jasper koristi Jaspersoft Studio za dizajniranje izvješća. Koristi Pentaho Report Designer.
ETL podrška Jaspersoft koristi Talend Open Studio verziju za ETL svrhe. Kao zadani koristi Pentaho Data Integrator ETL alat.
Nadzorna ploča Funkcionalnost nadzorne ploče prisutna je samo u Enterprise izdanju Jaspersofta. Pentaho nudi širok raspon značajki u svojim nadzornim pločama.
Mobilna poslovna inteligencija Jaspersoft ima bolju mobilnu BI podršku. Pentaho se mora osloniti na alat treće strane kako bi poboljšao iskustvo mobilne poslovne inteligencije.
Dokumentacija Bolji marketing, stranice i dokumentacija. Dokumentacijska podrška je loša.
Najbolja karakteristika Lakše istražiti i pronaći ono što vam treba. Nudi rudarenje podataka i integraciju s iPhoneom.
Plaćena verzija Plaćena verzija nudi značajke poput ad hoc upit web sučelje i web sučelje za izradu nadzorne ploče. Nudi značajke poput LDAP integracije, SSO-a i revizije.

Timovi koji su već uložili u Java Stack obično bira Jasper, dok timovi kojima je potrebna teška integracija podataka uz izvještavanje često biraju Pentaho.

Izazovi s kojima se suočavate pri izradi JasperReports

Evo nekoliko izazova s ​​kojima ćete se suočiti prilikom izrade Jasper izvješća:

  • Temeljne promjene – kada se poslovna pravila promijene ili poboljšaju, potrebno je promijeniti temeljnu logiku izvješća.
  • Složena izvješća – podizvješća i izvješća s unakrsnim karticama dobri su primjeri.
  • Izvješća u obliku grafikona ili vizualni grafikoni, na primjer graf, XY linijski, tortni, stupčasti, vremenski serijski i mjerni grafikoni.

Nedostaci korištenja Jasper Reports

Evo nedostataka korištenja Jasper Reportsa.

  • Nakon što počnete mijenjati dijelove paketa i uklanjati značajke, vrlo je teško vratiti se na zadane postavke paketa.
  • Previše je krut, a uređivanje redaka i stvaranje križnih kartica izazovan je zadatak.
  • Neki uobičajeni zadaci, poput određivanja međuzbrojeva za grupirano izvješće, lakši su u drugim dizajnerima izvješća.
  • Jasper zahtijeva da sastavite izvješća prije pokretanja. To znači da programeri izvješća moraju imati cijeli Java SDK instaliran.
  • Ponekad kada uredite izvješće, ono ne prikazuje isti pregled kao što je prikazano na webu.

Pitanja i odgovori

.jrxml datoteka je XML predložak koji dizajneri mogu čitati ljudima. .jasper datoteka je kompilirana binarna datoteka proizvedena iz nje i samo se kompilirana datoteka izvršava za vrijeme izvođenja.

JasperReports Library i Jaspersoft Studio Community Edition objavljeni su pod licencom otvorenog koda i mogu se ugraditi u komercijalne proizvode. Nadzorne ploče, zakazivanje i sigurnosne značajke zahtijevaju plaćeno izdanje.

Da. Izradite JDBC podatkovni adapter u Jaspersoft Studiju, navedite JAR datoteku upravljačkog programa i niz za povezivanje, a zatim napišite upit unutar izvješća. Parametri se prenose sintaksom dolara i zagrade.

Da. Dodajte ovisnost jasperreports, postavite kompilirane .jasper datoteke na putanju klase i pozovite JasperFillManager iz klase usluge. Izvezeni bajtovi mogu se izravno strujati u HTTP odgovor.

AI asistenti mogu brzo izraditi JRXML kosture i sintaksu izraza. Uvijek otvorite generiranu datoteku u Jaspersoft Studiju, jer visine pojaseva i koordinate elemenata često zahtijevaju ručnu korekciju.

Obrađuje pikselno savršene operativne dokumente koje AI nadzorne ploče ne proizvode, poput računa i izvoda. Izlazi modela zapisuju se u bazu podataka, a Jasper ih renderira za distribuciju.

Sažmite ovu objavu uz: