java - iText PDF 在 android 中显示马拉地语、印地语和不同语言
问题描述
如何在 android 和 java 中使用 ITEXT Pdf 库在 pdf 中显示不同的语言,如马拉地语、印地语或任何语言。
解决方案
您可以为您的语言使用任何自定义字体,但我推荐支持多种语言的 Googles Nato 字体,您可以从这里轻松获得https://www.google.com/get/noto/
。
以下是某些语言的一些字体链接:
- 马拉地语和印地语 - https://www.google.com/get/noto/#sans-deva
- 泰卢固语 - https://www.google.com/get/noto/#sans-telu
- 阿拉伯语 - https://www.google.com/get/noto/#sans-arab
您可以搜索任何语言并.tff
从那里获取文件。并放入您的资源文件夹。对于 Android 放入 assets 文件夹并将字体文件称为assets/filename.ttf
现在这里是设置马拉地语字体的示例代码 -
File pdfFile = new File("marathi.pdf");
try {
PdfWriter pdfWriter = new PdfWriter(pdfFile);
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
Document document = new Document(pdfDocument);
//font
final FontSet set = new FontSet();
set.addFont("assets/NotoSans-Regular.ttf");
document.setFontProvider(new FontProvider(set));
document.setProperty(Property.FONT, new String[]{"MyFontFamilyName"});
Paragraph paragraph = new Paragraph("अंतरिक्ष यान से दूर नीचे पृथ्वी शानदार ढंग से जगमगा रही थी ।");
document.add(paragraph);
document.close();
pdfDocument.close();
pdfWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
推荐阅读
- react-native - 'expo-splash-screen-command'命令后的expo裸应用程序崩溃
- php - Laravel 数据库查询读取不使用 get
- sql - 信息架构中的 referential_constraints.unique_constraint_* 列的 NULL 值
- r - geom_path 函数连接来自不同试验的观察结果
- c++ - 为什么c++编译器在某些情况下不生成默认构造函数而在其他情况下生成
- python - 如何在 python 中的 subprocess.run 中运行复杂的查询
- vue.js - 如何计算 Vuejs 中三个组件的总数?
- tinymce - 如何找出 HCL Connections 中安装了哪个 TinyMCE 版本?
- javascript - Node.js 和 OracleDB。从数据库中选择对象
- asp.net - 发布我的项目后,“不合并”选项不起作用