Как экспортировать вьетнамский текст в PDF, используя iText
Я столкнулся с проблемой при попытке экспортировать вьетнамский документ в формате PDF с помощью iText. Я положил вьетнамские слова в XML-файл, как это
<td fontfamily="Helvetica" fontstyle="0" fontsize="9" align="0" colspan="48" lineoccupied="1">T\u1ED5 ch\u1EE9c tham gia</td>
затем с помощью Java получить фразы из XML-файла и преобразовать его в Unicode, используя этот метод:
public String convertToUnicode(String s) {
int i = 0, len = s.length();
char c;
StringBuffer sb = new StringBuffer(len);
try {
while (i < len) {
c = s.charAt(i++);
if (c == '\\') {
if (i < len) {
c = s.charAt(i++);
if (c == 'u') {
if (Character.digit(s.charAt(i), 16) != -1
&& Character.digit(s.charAt(i + 1), 16) != -1
&& Character.digit(s.charAt(i + 2), 16) != -1
&& Character.digit(s.charAt(i + 3), 16) != -1) {
if (s.substring(i).length() >= 4) {
c = (char) Integer.parseInt(s.substring(i, i + 4), 16);
i += 4;
} else {
sb.append('\\');
}
} else {
sb.append('\\');
}
} // add other cases here as desired...
}
} // fall through: \ escapes itself, quotes any character but u
sb.append(c);
}
} catch (Exception e) {
System.out.println("Error Generate PDF :: " + e.getStackTrace().toString());
return s;
}
return sb.toString();
}
После этого экспортируем String в PDF - кодировку UTF-8. Но программе не удалось отобразить вьетнамские символы «\ u1ED5» и «\ u1EE9». В результате получается «T chc tham gia». Не могли бы вы показать мне, как решить эту проблему? Спасибо :)