2012-09-22 13 views
7

Ich habe ein Textbearbeitungsprogramm, das seine Ausgabe in eine PDF-Datei speichert.iText, Unicode-Zeichen und Java

Es speichert auch den gesamten Text in einem PDF-Wörterbuch, von dem es wieder zurück gelesen werden kann. Das Problem ist, dass in meiner Muttersprache Zeichen wie č, ć, đ, ž, š sind ziemlich häufig ...

Wenn ich diese Zeichen in meine Programme GUI schreiben, ist es in Ordnung, sie alle apear (ich bin (derzeit) mit Java Arial Schriftart).

Wenn ich es speichere und den PDF I AdobeReader öffne, fehlen č i ć und đ, ž und š werden so gedruckt, wie sie sollten. Ich verwende einen benutzerdefinierte (Truetype) Schriftart (BookAntiqua, heruntergeladen von here.

Ist das ein Problem bei der Codierung oder in der Schrift selbst (dass es nicht die dJ, ž, š Zeichen) unterstützt?

Auch wenn ich die PDF wieder in mein Programm lade, fehlen immer noch fehlende Buchstaben und đ,,, š werden mit ⎕ Symbolen und ähnlichem ausgetauscht ... Ist das ein Problem in der Art und Weise wie PDF geschrieben wird oder gibt es etwas anderes?

Fazit, ich möchte, dass diese fünf Zeichen in meiner Programme GUI und im PDF-Dokument sichtbar sind und dass sie richtig aus PDF-Wörterbuch abgerufen werden.

Antwort

3

Ich hatte das gleiche Problem. Ich habe mit dem Ändern einer Schriftart, die diese Buchstaben unterstützt, den Namen, vielleicht Arial Unicode vergessen? - Ich muss experimentieren, welche Schriftart das ist - als ich diese Schriftart in pdf eingebettet habe. Das war perfekt. Mein Name hat einige dieser seltsamen Zeichen :)

Edit: Es gibt eine Probe here wie es zu tun, und setzte es für die Felder zu, und here einen anderen Code-Schnipsel, die hilfreich sein kann.

+0

Ich weiß, wie man die Schrift in PDF einbaut, das ist nicht das Problem, es scheint, dass das Problem in der Schriftart ist, die ich verwende ... Ich habe schon seit einer Weile gesucht ... Könnten Sie empfehlen Sie mir irgendwelche Schriftarten, die BookAntiqua oder TimesNewRoman ähneln und die auch Unicode-Zeichen unterstützen? –

+0

@IvanKarlovic nein, ich habe den Namen vergessen, es war vor 6 oder mehr Jahren. Sicherlich, wenn Sie Ihre Schriftart in eine richtige ändern und in PDF einbetten, wird das Problem gelöst, aber Sie müssen es googeln. Hier ist es eine Liste http://en.wikipedia.org/wiki/Unicode_font –

+0

Ich fand die Schriftart und es hat geholfen, aber es hat mein Problem nicht gelöst. Text liest aus PDF druckt immer noch diese Zeichen nicht. ich dies sogar tryed: 'public static String unicodize (String string) \t { \t \t string.replace ("C", "/ u0106"); \t \t string.replace ("ć", "/ u0107"); \t \t string.replace ("Č", "/ u010C"); \t \t string.replace ("è", "/ u010D"); \t \t string.replace ("Đ", "/ u0110"); \t \t string.replace ("đ", "/ u0111"); \t \t string.replace ("Š", "/ u0160"); \t \t string.replace ("š", "/ u0161"); \t \t string.replace ("Ž", "/ u017D"); \t \t Zeichenfolge.ersetzen ("ž", "/ u017E"); \t \t Return-String; \t \t} ' –