首页 > 解决方案 > iText PDF 在 android 中显示马拉地语、印地语和不同语言

问题描述

如何在 android 和 java 中使用 ITEXT Pdf 库在 pdf 中显示不同的语言,如马拉地语、印地语或任何语言。

标签: javaandroiditextpdf-generationitext7

解决方案


您可以为您的语言使用任何自定义字体,但我推荐支持多种语言的 Googles Nato 字体,您可以从这里轻松获得https://www.google.com/get/noto/

以下是某些语言的一些字体链接:

  1. 马拉地语和印地语 - https://www.google.com/get/noto/#sans-deva
  2. 泰卢固语 - https://www.google.com/get/noto/#sans-telu
  3. 阿拉伯语 - 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();
    }

推荐阅读