[Java lista] JasperReports

Szabó Árpád Zoltán szaboaz at freemail.hu
2009. Jún. 18., Cs, 10:36:10 CEST


[lustaság fél egészség, ez itt egy régi levelem copy/paste, amiben ezt boncolgatom, hátha találsz benne vmit, ami segít]

<cut>

Azt találtam, hogy a JasperReports két lépésben készíti a pdf-et:  először megcsinálja a JasperPrint objektumot, majd ennek alapján  generálja a pdf-et. A jrxml-ben két fontnév tartozik egy szövegmezőhöz:  a "fontName" és a "pdfFontName". A JasperPrint objektumot az előbbi, a  pdf-et az utóbbi helyen megadott font alapján generálja. 
 
Namármost a pdfFontName be van állítva a jrxml-ekben egy konkrét ttf  fájlnévre, egy olyan fájlra, amit ugyanabban az alkönyvtárban megtalál a  generátor. Viszont a fontName-nek hiába állítottam én be "Arial"-t (itt  nem lehet ttf fájlnevet megadni) az iReportban, Windows-on, ha az éles  szerveren nincs "Arial" font. Márpedig ez alapján számolná ki (illetve  ennek hiányában jóég tudja, mi alapján), hogy mekkorára kell egy  szövegmezőt méretezni, hogy beleférjen a hosszú tartalom, mégpedig  azért, mert a JasperPrint elkészítéséhez AWT font metrics-et használ, és  az AWT meg azokból a fontokból gazdálkodik, amit a JVM biztosít. 
 
 
A megoldás tehát az, hogy a JVM-nek oda kell adni az általunk használt  ttf fájlokat. Erre három megoldást ajánlanak: 
- oprendszer standard helyre telepíteni ( ezt próbáltam ki, Ubuntu  8.10-esre feltettem az msttcorefonts csomagot, és ripsz ropsz máris  ugyanolyan lett a végeredmény) 
- jre /lib/fonts-ba bemásolni - nem túl szimpatikus... 
- a JAVA_FONTS környezeti változónak megmondani, hogy melyik  könyvtárunkban találja a ttf fájlokat. Ezt olvassa a JVM induláskor,  egyebet nem kell tehát vele csinálni. Ezt javasolják pl. itt:  http://www.mail-archive.com/jasperreports-questions@lists.sourceforge.net/msg00589.html   

</cut>


Üdv.
Árpád

--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20090618/ceb5d7cc/attachment.html 


További információk a(z) Javalist levelezőlistáról