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