Jasper/PDF/encoding
Petr Šrajer
Petr.Srajer na ais.cz
Středa Květen 27 13:39:49 CEST 2009
Pěkný den.
Proč si nenadefinoval styl s kódováním Identity-H. Pak je možné
tisknout v unicode a nějaké kódování hodit za hlavu. Například
<style name="ArialBlack_Normal" isDefault="false" fontName="Arial"
fontSize="12" pdfFontName="ARIBLK.TTF" pdfEncoding="Identity-H"
isPdfEmbedded="true"></style>
S pozdravem
Petr Šrajer.
On 27.5.2009, at 13:30, Ing. Petr Michálek wrote:
> 1. Report krmíte UTF-8, protože jí používá JAVA. Převod provedete v
> okamžiku načítání dat z databaze.
>
> 2. Někde v hlavičce reportu definujete fonty takto:
> <reportFont name="Arial_Bold18" isDefault="false" fontName="Arial"
> size="18" isBold="true" isItalic="false" isUnderline="false"
> isStrikeThrough="false" pdfFontName="Helvetica-Bold"
> pdfEncoding="Cp1250" isPdfEmbedded="false"/>
>
> Nic dalšího by nemělo být potřeba.
>
> Petr Michálek
>
> Gabriel Gajdos napsal(a):
>> 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
>>
Další informace o konferenci Konference