gpt4 book ai didi

android - itext android 印地语 pdf 创建

转载 作者:太空狗 更新时间:2023-10-29 16:12:34 27 4
gpt4 key购买 nike

我正在使用 itextg 库在我的印地语安卓设备上创建 pdf。 (PDF 正在用英文完美创建)。

以下是我的代码-

Gradle -

compile 'com.itextpdf:itextg:5.5.10'

Java代码-

final String FONT = "file:///android_asset/FreeSans.ttf";
Font f = FontFactory.getFont(FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
String outputString= "\u0915\u093e\u0930 \u092a\u093e\u0930\u094d\u0915\u093f\u0902\u0917";
document.add(new Paragraph(outputString,f));

输出字符串取自此处的 itext 文档- http://developers.itextpdf.com/examples/font-examples-itext5/language-specific-examples

印地语文本未打印在 pdf 上。因此 outputString 中的行不会打印在因此创建的 pdf 文件上。

提前致谢

最佳答案

在我看来,你有两个问题:

  1. 我的猜测是您的 Android 文件系统找不到该字体。一个简单的测试是检查 font.getFamilyname() 的输出,它可能是 unknown。这意味着尚未找到该字体并且 iText 已默认为 Helvetica。 Helvetica 不包含印度字母的信息。

  2. 另一个问题是您无法获得此文本的正确输出。尤其是 \u0930\u094d,即 RA + halant,将显示为 र्,即常规的 RA 字符 + halant 符号,在正确的书写中,您可能会在单词的末尾看到. KA 之上的变音符号(如 र्क)在 iText 5 中是不可能实现的。

这是因为大多数印度字母表,包括您用来编写印地语的梵文,都需要 OpenType 功能(某些类型字体的特定功能)才能正确呈现。这仅在 iText 7 + the pdfCalligraph add-on 中受支持.

不幸的是,目前还没有适用于 iText 7 的 Android 端口,因此第二个问题目前无法解决。

关于android - itext android 印地语 pdf 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41592989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com