如何配置iText以支持亚洲字符?

时间:2011-11-22 14:44:52

标签: java pdf pdf-generation itext asianfonts

我的Java应用程序使用iText创建PDF。有时内容是亚洲的,这是行不通的。亚洲人物不可见。

我在iText下载页面上找到iTextAsian.jar,但不知道如何使用它。

目标是使用我喜欢的字体作为默认字体。但是当一个角色不可用时,该角色将使用其他字体。我看过,iText可以自动选择字体,但是如何配置呢?

我还希望所有必需的字体都包含在PDF中,因此用户无需在其计算机上安装亚洲字体。

1 个答案:

答案 0 :(得分:2)

  • 您可以定义“FontSelector”,然后添加字体(fontSelector.AddFont)。现在iText将使用fontSelector.Process方法从下一个定义的字体中选择不可用的字符。
  • 亚洲字符通常是Unicode,因此您必须设置“BaseFont.IDENTITY_H”而不是Ansi(例如FontFactory.GetFont(“tahoma”,BaseFont.IDENTITY_H))。
  • 如果是RTL,则需要将文本包装在具有run direction属性的元素中并将其设置为rtl。