Zdravím,

Ta zakomentovaná část je samozřejmě absolutní nesmysl. Zrovna nedávno zde o 
tomto proběhla diskuse, ale raději zopakuji:
 !! java.lang.String nemá žádný charset !! 

Co se týče samotného problému, tak skutečně bude háček v tom, že ta knihovna 
nesprávně zpracuje unicode fonty. Možná ve výsledném PDF vůbec unicode 
nepoužívá, to by asi chtělo nastavit. Bohužel o ní nic nevím, takže ani netuším 
zda to vůbec dokáže.

Kamil Podlešák

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] Behalf Of [EMAIL PROTECTED]
> Sent: Wednesday, October 03, 2007 2:04 AM
> To: konference@java.cz
> Subject: prevod ceských znaku iText
> 
> 
> Ahoj,
> mám následující problém.
> Převádím pomocí iText .. JTextPane do Pdf.Problém je, že se 
> mi nepřevedou všechny české znaky. Převádím pomocí následující metody:
> 
>  public void paintToPDF(JTextPane ta) {
> 
>        /* String str = ta.getText();
>         String help = null;
>         try{
>             help = new String(str.getBytes("WINDOWS-1250"));
>         }catch(UnsupportedEncodingException ex){
>             ex.printStackTrace();
>         }
>         ta.setText(help);*/
> 
>         try {
>             document.setPageSize(new 
> com.lowagie.text.Rectangle(612, 792));
>             PdfContentByte cb = writer.getDirectContent();
>             
>             cb.saveState();
>             cb.concatCTM(1, 0, 0, 1, 0, 0);
> 
>             DefaultFontMapper mapper = new 
> DefaultFontMapper();            
>             mapper.insertDirectory("c:/windows/fonts");
>             
>             Graphics2D g2 = cb.createGraphics(612, 792, 
> mapper, true, .95f);
>             
>             AffineTransform at = new AffineTransform();
>             at.translate(convertToPixels(20), convertToPixels(20));
>             at.scale(pixelToPoint, pixelToPoint);
>             
>             g2.transform(at);
>             
>             g2.setColor(Color.WHITE);
>             
>             Rectangle alloc = getVisibleEditorRect(ta);
>             ta.getUI().getRootView(ta).paint(g2, alloc);
>             
>             g2.dispose();
>             cb.restoreState();
>         } catch (Exception e) {
>             e.printStackTrace();
>         }
>     }
> 
> zakomentovaná část metody s převodem stringu a byte, charset 
> jsem nemazal. S tím že jsem se pokusil převest string do 
> nějakého použitelného charsetu ale bez účinku.
> Pokud nic nepřevedu pomocí pomocného stringu zobrazí se mě v 
> pdf šžýáíé ale ěčřů se mi převedou na mezery.
> Problém bude asi bud ve fontech nebo v charsetu ale používám 
> jako font Times new roman, a defaultní charset.
> Bohužel jsem nepřišel na to proč se mi některé znaky převedou 
> a některé ne, kdyby někdo mohl poradit navést... popřípadě měl řešení.
> Předem díky za každou radu Petr
> verze iTextu 2.0.4
> 
> 

Odpovedet emailem