So exportieren Sie vietnamesischen Text in PDF mit iText

Beim Exportieren eines vietnamesischen Dokuments als PDF mit iText ist ein Problem aufgetreten. So habe ich vietnamesische Wörter in eine .xml-Datei geschrieben

<td fontfamily="Helvetica" fontstyle="0" fontsize="9" align="0" colspan="48" lineoccupied="1">T\u1ED5 ch\u1EE9c tham gia</td>

Dann muss Java die Ausdrücke aus der XML-Datei abrufen und sie mit der folgenden Methode in Unicode konvertieren:

    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();
    }

Danach exportieren Sie String in PDF - Kodierung UTF-8. Das Programm konnte jedoch die vietnamesischen Zeichen "\ u1ED5" und "\ u1EE9" nicht anzeigen. Die Ausgabe wird zu "T chc tham gia". Können Sie mir bitte zeigen, wie dieses Problem behoben werden kann? Vielen Dank :)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage