Ahoj,
ja pouzivam itext v ramci jasperreports. A je to jak jsem psal. Nove
prohlizece acrobatu si s tim bez problemu poradi. Kpdf na unixu taky. Tak
to nejak nemam moc proc resit.
Pet
On Wed, 03 Oct 2007 09:23:35 +0200, Podlesak Kamil
<[EMAIL PROTECTED]> wrote:
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
--
Zpráva vytvořena poštovním klientem "M2", který je součástí webového
prohlížeče Opera.
Více na http://www.opera.com/mail/ .