Zdravím.

 

Riešime práve jednu vec s JasperReports...

 

Klasický scenár: report v JasperReports (iReport), kŕmime ho dátami a chceme
z toho PDF na výstupe. Aby bola správna diakritika, bolo potrebné nastaviť
vlastnosť TextFieldu "pdfEncoding" na "Cp1250"...

Problém je však v tom, že náš report budeme kŕmiť dátami z databázy (UTF-8)
a dáta budú obsahovať aj znaky špecifické pre iné znakové sady (typicky
najmä pre zápdoeurópsku Cp1252).

 

Inými slovami: nevieme sa počas dizajnu rozhodnúť, v ktorej z týchto
znakových sád bude PDF výstup vytvorený.

Počas behu viem dynamicky nastaviť pdfEncoding jednotlivých polí (cez
Scriptlet), ale aj tak nevieme presne, na akú hodnotu to máme nastaviť.

 

V podstate vidím dve cesty, ale riešenie nemáme:
1. nastaviť nejaký unicode (čo však nejde, lebo vraj iText to nepodporuje,
ale tu vidím trochu konflikt medzi tvrdením Jasper vs. iText vývojárov).

-> toto by bolo samozrejme preferované riešenie

2. Počas behu testovať dáta poľa a zisťovať znakovú sadu

-> nepoznám lepšie riešenie ako cez String.getBytes, prípadne Charset.encode
a potom testovať počet otáznikov (?)... 

-> je to trochu ohavnosť, ale lepšie riešenie nemáme...

 

 

Riešil to už niekto?

Má niekto lepší nápad?

 

Dík za názory.

 

 

GG 

 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Odpovedet emailem