1

私は今、この問題に何時間も苦しんでいますが、解決策が見つかりません。問題は次のとおりです。

itext バージョン 7 (およびその多く) といくつかの統計情報を使用して PDF ファイルを生成するプログラムを作成しました。何を試しても(フォントの変更、ユニバーサルエンコーディングの使用、テーブルのセル内に文字列を作成する、キャンバスを使用するなど)、それらを正常に表示させることはできません。アラビア語の文字列を表示するために使用するコードの一部を次に示します。

PdfFont fArabic=PdfFontFactory.createFont(ARABICFONT,PdfEncodings.IDENTITY_H, true);
final String ARABIC = "\u0627\u0644\u0633\u0644\u0627\u0645 \u0639\u0644\u064A\u0643\u0645";
document.add(new Paragraph(ARABIC).setFont(fArabic).setBaseDirection(BaseDirection.RIGHT_TO_LEFT));

注:itext 5バージョンでおそらく解決できると思いますが、私が書いたコードを元に戻すことはできないと言ったように、特に統計用の3番目のライブラリがあり、プロジェクトはすでに遅れています.itextを使用した解決策が欲しいだけです7バージョン。

4

1 に答える 1

6

ステップ 1: pdfCalligraph および licensekey jar をクラスパスにロードする

ステップ 2: xml ファイルからライセンス キーをロードします。

LicenseKey.loadLicenseFile("itextkey-typography.xml");

ステップ 3:Documentいつものように作成します。

Document document = new Document(new PdfDocument(new PdfWriter(outFileName)));

PdfFont bf = PdfFontFactory.createFont(ARABIC_FONT, PdfEncodings.IDENTITY_H);
document.setFont(bf);

document.add(new Paragraph(ARABIC_TEXT).setTextAlignment(TextAlignment.RIGHT));

document.close();
于 2016-08-20T13:42:32.847 に答える