1
我正在爲這個問題奮鬥了幾個小時,但我找不到出路,問題是:如何在使用itext 7 API生成的PDF中顯示RTL中的阿拉伯文字符串?
我寫了一個程序,使用itext版本7生成pdf文件(還有很多它)以及一些統計數據,每一件事情都是正確的,但是當我的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.0版本或許可以解決這個問題,但正如我說我不能撤消我特別寫的代碼我有它是統計的第三個庫,而且項目已經很晚了。我只想要一個使用itext 7版本的解決方案。
iText7要求模塊pdfCalligraph顯示阿拉伯文和印度文文本。這個模塊是密切的來源。參見[http://itextpdf.com/itext7/pdfcalligraph](http://itextpdf.com/itext7/pdfcalligraph)。 –