2

我正在使用 Itext 生成 PDF。我有马拉地语文本。但 Itext 是没有字形替换的文本生成。

例如 :

文字应该是:ल्ल</p>

但 iText 以 PDF 格式显示:लल。

与文本相同:क्ष्म</p>

但 iText 以 PDF 显示:कष

我使用 windows 系统文件作为字体 .e。arial unicode 字体。代码是

BaseFont base=BaseFont.createFont("c:/windows/fonts/ARIALUNI.ttf",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

我正在使用 itext 版本 itext-5.4.3.jar。

请给我解决方案。我应该以什么方式进行。谢谢

4

2 回答 2

3

当您作为输入传递时,您需要在字符串中添加 unicode。孟加拉语或印地语的 unicode 是

\u0986\u09ae\u09bf \u0995\u09cb\u09a8 \u09aa\u09a5\u09c7
      \u0995\u09cd\u09b7\u09c0\u09b0\u09c7\u09b0 \u09b7\u09a8\u09cd\u09a1
      \u09aa\u09c1\u09a4\u09c1\u09b2 \u09b0\u09c1\u09aa\u09cb
      \u0997\u0999\u09cd\u0997\u09be \u098b\u09b7\u09bf

这是示例

于 2013-09-19T07:37:10.940 回答
1

我得到了解决方案... 解决方案是 IText目前不支持(根据我的搜索)印度语言,如马拉地语。它的语言解析器对于印度语来说还没有完全成熟。因为它是开源的,所以我正在使用它。

现在,我已经迁移到 Apache FOP 1.1。它支持印度语言。但重要的缺点是它是资源密集型的。换句话说,它比 IText 慢。

谢谢你...

于 2013-10-01T07:17:04.900 回答