问题描述
如何在 android 和 java 中使用 ITEXT Pdf 库在 pdf 中显示不同的语言,如马拉地语、印地语或任何语言。
解决方法
您可以为您的语言使用任何自定义字体,但我推荐 Google 的 Nato Fonts,它支持多种语言,您可以从这里轻松获得 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();
}