【问题标题】:Pdf generation using itext for Bangla text in android在android中使用itext为Bangla文本生成PDF
【发布时间】:2018-05-01 23:10:59
【问题描述】:

我正在使用 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);

现在输出如下所示:

这是使用孟加拉字体的孟加拉文本的输出

但输出文本已损坏。而原来的看起来像这样:

孟加拉语原文

任何有关如何在 android 中解决此类 unicode 问题的帮助将不胜感激。 注:我正在使用 i-text 5.5.x

【问题讨论】:

  • 您使用的是 iText 5 或更早版本。输出损坏是正常的,因为 iText 5 不支持孟加拉语文本。如果你想支持印度语言,你需要升级到 iText 7 并使用pdfCalligraph add-on。阅读pdfCalligraph white paper 了解更多信息。 iText 7 与 iText 5 具有相同的许可证,但 pdfCalligraph 已保持封闭源代码以避免滥用。

标签: java android pdf fonts itext


【解决方案1】:

也使用显示的字体。

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

【讨论】:

    【解决方案2】:

    使用这个库: 实现 'com.uttampanchasara.pdfgenerator:pdfgenerator:1.3'

    minsdk :
    21岁以上

    【讨论】:

      猜你喜欢
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 2011-10-17
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      相关资源
      最近更新 更多