2016-06-16 25 views
3

基本的にUnicode文字を含むiText v2.1.5を使用してpdfを生成しようとしていますが、Arielは同じフォントに使用されているフォントです。問題は、「ヒンディー語」や「グジャラート語」のような文字の一部が正しく生成されているということです。問題をよりよく理解するには、下記のスクリーンショットをご覧ください。iTextはPDFのUnicode文字を変形/スペルミスしています

グラフと表のハイライト表示されたフォントは同じフォントを使用しますが、表のフォントはヒンディー語やグジャテイ文字には適していません。

はザはグラフ(融合チャート)の文字を強調PhantomJSを使用して生成され、PNG画像としてPDFに埋め込まれています。以下の表の文字は、グラフで使用されているものと同じ "Arial_Unicode_MS.ttf"フォント(linuxマシンで/usr/share/fonts/truetype/Arial_Unicode_MS.ttfで利用可能)を持っていますが、テーブルは生成されていますiTextを使用すると、なぜこのような予期しない動作が発生するのかわかりません。

私はphantomJSをデバッグしようとしましたが、私はそれが上記の同じフォントファイルを使用することを保証することができます。私はiTextの中に持っている以下のコードをご参照ください:問題は、iTextのであるかどうかを確認するには

String formattedData="જિજ્ઞેશ"; 
BaseFont nationalBase = BaseFont.createFont("/usr/share/fonts/truetype/Arial_Unicode_MS.ttf", BaseFont.COURIER, BaseFont.NOT_EMBEDDED); 
PdfPCell dataCell= new PdfPCell(new Phrase(8, new Chunk(formattedData, dataFont))); 

を私は、直接「જિજ્ઞેશ」formattedData =にUnicode文字を使用してみましたまだフォントのは、生成されたテーブルに反映しました私が元々使っていたものとはかなり異なっています。

+0

iText7のみがDevanagariとTamilを適切にサポートしています。 –

+0

...タイポグラフィの拡張機能でのみ使用できます。 – mkl

答えて

3

以前に説明したように、iText 5はヒンディー語をサポートしていません。これをiText 7で修正し、そのバージョンをインドのGreat Indian Developer Summitにリリースしました。

iText 7には特殊なアドオン「pdfCalligraph」があり、このアドオンをプラグインすると、DevaganariとTamilが正しく表示されます。 Chapter 2 of "iText 7: Building Blocks"(この章の最後に向かってスクロールしてください)を読んで、pdfCalligraphアドオンがどのように機能するかを調べてください。 pdfCalligraph hereの無料試用版を入手できます。

現在、Devanagari、Tamil、Arabicがサポートされています。有料の顧客の要求に応じて、他のライティングシステムのサポートが追加されます。

関連する問題