如何使用java在itext中检测不同的语言?

如何使用java在itext中检测不同的语言?,java,pdf,itext,Java,Pdf,Itext,用户在注册表中输入其详细信息。因此,用户可以用英语或阿拉伯语输入。我的要求是,如果他输入阿拉伯语,我需要检测并将字体和方向设置为RTL。如果是英语,则应按原样显示。我知道如何设置字体。但我不知道如何设置字符串的方向。应该更改方向仅适用于阿拉伯语 BaseFont bf = BaseFont.createFont("C:\\WINDOWS\\Fonts\\ARIALUNI.TTF",BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Font font = new F

用户在注册表中输入其详细信息。因此,用户可以用英语或阿拉伯语输入。我的要求是,如果他输入阿拉伯语,我需要检测并将字体和方向设置为RTL。如果是英语,则应按原样显示。我知道如何设置字体。但我不知道如何设置字符串的方向。应该更改方向仅适用于阿拉伯语

BaseFont bf = BaseFont.createFont("C:\\WINDOWS\\Fonts\\ARIALUNI.TTF",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bf, 10, 0);
String arab="آزمايش";
document.add(new Chunk(arab, font));

上述代码在pdf中以相反的方式写入阿拉伯语文本。如何设置该字符串的方向?因此,简而言之,我的要求是正确写入字符串值,如果它的英语来自LTR,如果它的阿拉伯语来自RTL。有人能帮我吗?谢谢。

您可以检查此正则表达式的结果:

[\u0600-\u06FF\u0590-\u05FF]

如果结果为true,则字符串“包含”一个RTL单词(阿拉伯语/波斯语/希伯来语)