使用itext为Android中的Bangla文本生成Pdf

时间:2017-11-18 06:09:40

标签: java android pdf fonts itext

我正在使用i-text从我的Android应用程序生成pdf。但它适用于英文字体。当我尝试为我的语言环境Bangla生成pdf时,我遇到了一些问题。在从一些博客获得一些提示之后,我已经按照下面提到的方式实现了实现:

String fontName = "Nikosh.ttf";
    InputStream is = context.getAssets().open(fontName);
    int size = is.available();
    byte[] buffer = new byte[size];
    int a = is.read(buffer);
    BaseFont customFont = BaseFont.createFont(fontName, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, true, buffer, buffer);
    Font banglaFont = new Font(customFont, 12);

现在输出如下:

这是使用bangla字体的Bangla文本的输出

image

但是输出文本被破坏了。原来的那个看起来像这个:

孟加拉的原文

image2

有关如何解决android中unicode此类问题的任何帮助都将受到高度赞赏。 注:我正在使用i-text 5.5.x

2 个答案:

答案 0 :(得分:0)

使用也显示的字体。

BaseFont base = BaseFont.createFont("c:/windows/fonts/arial.ttf", BaseFont.WINANSI);
Font font = new Font(base, 11f, Font.BOLD);

答案 1 :(得分:0)

使用此库:        实施'com.uttampanchasara.pdfgenerator:pdfgenerator:1.3'

minsdk:
       高于21