2012-09-22 12 views
7

私は、PDFファイルに出力を保存するテキスト編集プログラムを用意しています。iText、Unicode文字およびJava

また、すべてのテキストをPDFの辞書に保存し、そこから再度読み込むことができます。 問題は、č、ć、đ、ž、šなどの母国語の文字がかなり一般的です...

私のプログラムのGUIにこれらの文字を書くと、うまくいっています(現在)javaのarialフォントを使用して)。

保存してPDFを開くと、Adobe Readerが表示されなくなり、Â、ž、šが正しく印刷されます。私はhereからダウンロードしたカスタム(TrueTypeの)フォント(BookAntiquaを、使用しています。

が、これはエンコーディングで問題となっている、または(フォント自体に、それはDJ、Z、š文字)をサポートしていないこと?

また、私のプログラムにPDFを再度読み込むと、欠けている文字はまだ失われており、đ、ž、šは⎕の記号などに置き換えられています... PDFが書かれているか、それとも何か他に何か問題がありますか?

最後の5行の文字は、プログラムのGUIとPDFドキュメントに表示され、PDFの辞書から正しく検索されます。

答えて

3

私は同じ問題を抱えていました。私はこれらの文字をサポートするフォントを変更して解決しました、名前を忘れました、おそらくArialのユニコードですか? - 私はそのフォントをpdfに埋め込んでいるよりも、どのフォントが何であるかを実験する必要があります。それは完璧だった。私の名前は、これらの奇妙な文字:)

編集のいくつかを持っています 親切にすることができ、別のコードスニペットを、それを行うには、あまりにもフィールドのためにそれを設定し、hereする方法サンプルhereがあります。

+0

私はフォントをPDFに変換する方法を知っていますが、それは問題ではありません。問題は使用しているフォントにあるようです... 私はしばらくお待ちしています... BookAntiquaやTimesNewRomanに似ていて、ユニコード文字もサポートしているフォントをお勧めしますか? –

+0

@IvanKarlovicいいえ、私は名前を忘れました、それは6年以上前のようでした。フォントを正しいフォントに変更してpdfに埋め込むと問題は解決しますが、それをgoogleにする必要があります。ここでは、リストhttp://en.wikipedia.org/wiki/Unicode_font –

+0

私はフォントを見つけた、それは助けてくれましたが、それは私の問題を解決しませんでした。 PDFからテキストを読み取っても、それらの文字は印刷されません。 私もこれをしようと試み: 'パブリック静的文字列unicodize(文字列) \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( "Š"、 "/ u016​​0"); \t \t string.replace( "š"、 "/ u016​​1"); \t \t string.replace( "Ž"、 "/ u017D"); \t \t文字列。置き換える( "ž"、 "/ u017E"); \t \t戻り文字列。 \t \t}「 –

関連する問題