Rady a tipy pro vyvojiText a PDF hezky Česky

Moderátoři: mArtinko5MB, mArtinko5MB

Odpovědět
kongen
Nové Androidě
Příspěvky: 2
Registrován: stř 21. říj 2015 19:23:25
Typ mobilu / ROM: EVOLVEO QuadCore 5.3

iText a PDF hezky Česky

Příspěvek od kongen »

Zdravím Vás starší a zkušenější bratři ve zbrani. Začínám programovat pro Android a celkem se prokousávám, ale narazil jsem na jednu věc se kterou si lámu hlavu už 3 dny a nevím kudy kam. Proto se obracím s prosbou o pomoc na někoho z vás.
Chtěl jsem zkusit vygenerovat PDF. V Jave mi to tak nějak nedělá problém. Pomocí FOPu to tak nějak dávám, ale tady jsem těžce narazil.
Chtěl jsem pomocí iText vygenerovat PDF, ale narazil jsem na češtinu. Prostě nejde. Zkoušel jsem přeformátovat do unicode, ale ani tak. Zkoušel jsem všechno možný, i nahrát fonty do resource souborů, ale zase jsem nepřišel na to jak z nik udělat Font.
Poradíte někdo prosim?
Děkuji
danndi
Nové Androidě
Příspěvky: 30
Registrován: stř 27. dub 2011 1:01:07

Re: iText a PDF hezky Česky

Příspěvek od danndi »

Ahoj,

od API 19 je podpora pre generovanie PDF priamo v systeme:

http://developer.android.com/reference/ ... ument.html" onclick="window.open(this.href);return false;

Inak este ma napada, ze mozno font, ktory pouzivas nepodporuje ceske znaky. V jednej aplikacii som pouzil font "DejaVuLGCSerif.ttf.deflated", ktory prave tento problem vyriesil.

Inak nacitanie fontu by malo ist nejak takto:

Kód: Vybrat vše

BaseFont urName = BaseFont.createFont("assets/subFolder/fontName.TTF", "UTF-8",BaseFont.EMBEDDED);
Font urFontName = new Font(urName, 12); 
S iText som ale nepracoval, tak uplne presne neviem. Tu je odkaz na stackoverflow:

http://stackoverflow.com/questions/2226 ... utf-8-text" onclick="window.open(this.href);return false;
kongen
Nové Androidě
Příspěvky: 2
Registrován: stř 21. říj 2015 19:23:25
Typ mobilu / ROM: EVOLVEO QuadCore 5.3

Re: iText a PDF hezky Česky

Příspěvek od kongen »

Ahoj, děkuji za pomoc. Hnul jsem se z místa :-)

tak pro ty, co by se chtěli trápit s češtinou v iText tak tady je řešení.
(pro ty co ještě tápou jako já - adresář assets vytvořit v Android studiu - na projektu (app) ALT+ Insert, a vybrat Folder > Assets folder,)

Kód: Vybrat vše

BaseFont urName = BaseFont.createFont("assets/fonts/dejavu/DejaVuSans.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font bf10 = new Font(urName, 8);

BaseFont urNameBold = BaseFont.createFont("assets/fonts/dejavu/DejaVuSans-Bold.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font bfBold10 = new Font(urNameBold, 8);
Odpovědět

Zpět na „Rady a tipy pro vyvoj“