Jasper/PDF/encoding

Gabriel Gajdos gabriel.gajdos na ipdap.sk
Středa Květen 27 14:16:31 CEST 2009


Dík za odpoveď.

Rôzne kódovania som samozrejme skúšal a v tom najlepšom prípade sa mi (v
PDF) nič nezobrazilo.
Bola to ale moja chyba, lebo som si neuvedomil, že príslušný charset musí
podporovať aj font.

Závery:
Kombinácia Identity-H a Helvetica je nechodivá (spadne).
Kombinácia Identity-H a bežné fonty tiež nefunguje podľa predstáv (nie sú
úplne definované znaky).
Našiel som ale example, kde sa použil Identity-H a MS Arial Unicode font
(mimochodom má 23 MB) a to funguje, dokonca by som povedal, že vynikajúco.

Nanešťastie robíme webapp, takže to musíme deploynúť komplet, a preto by som
rád nejaký použiteľný font, ideálne "Helvetica".
Našiel som Liberation od RedHat alebo komerčný Helvetica od Linotype
(http://www.linotype.com/48344/helveticaworld-family.html).

Takže ak má niekto ešte nejaký tip na použiteľný unicode Helvetica alebo
Helvetica-like font, uvítam.

Dík.

GG

-----Original Message-----
From: konference-bounces na java.cz [mailto:konference-bounces na java.cz] On
Behalf Of Petr Šrajer
Sent: Wednesday, May 27, 2009 1:40 PM
To: Java
Subject: Re: Jasper/PDF/encoding

	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ší část ---------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3273 bytes
Desc: [žádný popis není k dispozici]
URL: <http://amaio.cz/pipermail/konference/attachments/20090527/564d7775/attachment.bin>


Další informace o konferenci Konference