nyomtatványok kezelése Java-ban

Jasper Report Dev

Jasper Report Dev

Képek a nyomtatványon

2016. május 20. - lacimol

Egyedi dokumentumok szerkesztésekor a legtöbb esetben a használni kívánt képet egyszerűen beillesztjük és csatoljuk a fájlhoz (például egy word doc készítésekor). A Jasper Reports-nál nincs ilyen lehetőség (*), de lehet paraméterként átadni képet (java.awt.Image, java.io.InputStream) vagy Jasper repository-t használni (server-re feltöltve) vagy írhatunk egy saját FileResolver-t is (java.io.File), de a legegyszerűbb megoldás a szöveges alapú hivatkozás (java.lang.String).

*: Kép csatolása a design felületről közvetlenül nem lehetséges, de Base64 kódolás segítségével megoldható. Így a generált nyomtatványon látható lesz a kép, de design nézetben nem.

A Jasper Studio-ban a kép elemek nyomtatványhoz adása több módon történhet. Behúzhatjuk őket közvetlenül a Project Explorer-ből, mint a korábbi posztban vagy a Palette-ről betehetünk egy Image elemet, aminél több további mód közül választhatunk (lásd lenti videó). A szöveges megoldások közül néhány:

  • relatív: csak fájlnév, beolvasva a classPath-ról ("rendszam.jpg")
  • abszolút: teljes elérési út ("c:\images\rendszam.jpg")
  • url: "http://www.valoskilometer.hu/images/articles/Car.png"
  • parameter: $P{IMAGE_URL} vagy $P{IMAGE_DIR} + "rendszam"

A fentiek közül az első kettő inkább teszteléshez használható, a közvetlen url elsősorban statikus képekhez, amíg a paraméterben megadott "útvonal és név" kombó jól használható minden esetben. A Design módban beállított érték a lentihez hasonló kódot eredményez a jrxml forrásban:

<image>
     <reportElement x="150" y="0" width="200" height="100"/>
     <imageExpression class="java.lang.String"><![CDATA["rendszam.jpg"]]></imageExpression>
</image>

 

images.png

A képek legtöbb beállítási lehetősége a megjelenítésre vonatkozik (mint bármely szerkesztőben: méretezés, elhelyezkedés), de van néhány, amely a működést befolyásolja. A legtöbb ilyen maradhat alapértelmezett beállításon, de a hibakezelést érdemes a kép típusának megfelelően beállítani. Például logo vagy vonalkód esetén hibára kellene futnia (error), mert ezek nélkül nem jó a nyomtatvány. Egy díszítő elem esetén lehet üres (blank), de egy aláírás képnél el is dönthetjük, hogy később aláíratjuk manuálisan (blank) vagy mindenképpen kell az aláírás (error). Az icon lehetőség inkább csak hibakereséshez használható.

A képek fő jellemzői:

  • cache:
    • default: String alapú expression esetén alapértelmezetten true, egyébként false
    • true: mindig cache-ből olvas, ha lehet
    • false: mindig újratölti
  • lazy: csak HTML esetén érdekes (nem tölti be rögtön a képet, csak a html megnyitása esetén)
  • on error type (hiba esetén):
    • error: hibaüzenet jelenik meg, de a riport nem (exception)
    • blank: megjelenik a riport, de a kép helye üres marad
    • icon: a kép helyén egy icon jelenik meg

Képek kezelése:

További információk: http://jasperreports.sourceforge.net/sample.reference/images/index.html

A bejegyzés trackback címe:

https://jasperreport.blog.hu/api/trackback/id/tr688687988

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása