2012-02-13 14 views
6

私はdocxファイルを書くオプションとしてApache poiを評価しています。私が探している特定のものは、異なる言語(特定のhindi/marathi)でdocxファイルのコンテンツを生成することです。Apache POI - Docx出力の問題

フォント "Arial Unicode MS"がサポートしていても、 "Hindi/Marathi"テキストが正方形のボックスとして表示されます。要点は、フォントを「Arial Unicode MS」に明示的に設定しているにもかかわらず、ボックスにチェックを入れると、MS Wordはフォントを「Cailbri」と表示するということです。 MS Wordでボックスを選択し、フォントを「Arial Unicode MS」に変更すると、ヒンディー語/マラーティー語が正しく表示されます。なぜこのようなことが起こるのか?以前の安定バージョンはフォントファミリの設定をサポートしていなかったので、私はPOIの開発版を使用しています。ここにソースがあります:

助けていただければ幸いです。

+0

POIとMS Wordの正確なバージョンを指定してください - 最近のPOIバージョンでは問題は発生していないようです。 –

+1

POI API 3.11でコードを試してみましたが、うまくいきました。 MS Word 2013を使用して.docファイルを開きました – esprittn

答えて

1

非常に古い投稿を元に戻すにはOPは使用されているMS Officeのバージョンを確認できますか?この問題は、Windows XP上で実行されているMS Office 2003にあるようです。しかし、それはより高いOSバージョンでもある可能性があります。

MS Wordは、ヒンディー語のスクリプト[エンコーディング標準:インド語:Hindi ISCII 57002(Devanagari)]にMangalフォントを適用しているようです。

https://support.office.com/en-ca/article/Choose-text-encoding-when-you-open-and-save-files-60d59c21-88b5-4006-831c-d536d42fd861

推奨回避策:Windows XPのコントロールパネルから 、地域と言語のオプション]を選択し、以下のリンクは、この説明しています。言語を選択します。ボックスにチェックを入れ、「(タイを含む)複雑なスクリプトおよび右から左に記述する言語用のファイルをインストールします。

PCを再起動します。上の4.3.5.2 LibreOfficeのバージョンを使用してファイルを開くときしかし、そのような問題は認められなかった

を。 POI-3.10-FINAL-20140208.jar、POI-OOXML-3.10-FINAL-20140208.jar、
POI-OOXML:WindowsおよびLinuxの(Ubuntuの)上のLibreOffice 4.2.7.2

は、以下のライブラリを使用します-schemas-3.10-FINAL-20140208.jar、xmlbeans-2.3.0.jar、 dom4j-1.6.1.jar、stax-api-1.0.1.jar

関連する問題