Java JRXML印地语文本转换为PDF

Java JRXML印地语文本转换为PDF,java,jasper-reports,export-to-pdf,Java,Jasper Reports,Export To Pdf,我有一个.jrxml文件: <?xml version="1.0" encoding="UTF-8"?> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jas

我有一个
.jrxml
文件:

 <?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="multi1" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="c8a053f6-858e-427b-aec1-89231aadddd6">
<title>
    <band height="79" splitType="Stretch">
        <staticText>
            <reportElement x="104" y="0" width="313" height="25" uuid="fa5e3e6e-26f7-4973-a2d5-3c3b7a5e8227"/>
            <textElement textAlignment="Center">
                <font size="16" fontName="Lohit Devanagari" isPdfEmbedded="true" pdfEncoding="Identity-H" />
            </textElement>
            <text><![CDATA[अतिदेय राशि के पुनर्भुगतान हेतु अनुस्मारक]]></text>
        </staticText>
        <staticText>
            <reportElement x="132" y="25" width="252" height="25" uuid="fa5e3e6e-26f7-4973-a2d5-3c3b7a5e8227"/>
            <textElement textAlignment="Center">
                <font size="16"/>
            </textElement>
            <text><![CDATA[Reminder for repaying Overdue Amount]]></text>
        </staticText>
    </band>
</title>
</jasperReport>

当我将其转换为PDF时,我不会得到印地语文本。我的转换为pdf的代码如下:

public class PdfFromXmlFile {

   public static void main(String[] args) throws JRException, IOException {

    // Compile jrxml file.
   JasperReport jasperReport = JasperCompileManager
           .compileReport("C:/report.jrxml");

   // Parameters for report
   Map<String, Object> parameters = new HashMap<String, Object>();

   // DataSource
   // This is simple example, no database.
   // then using empty datasource.
   JRDataSource dataSource = new JREmptyDataSource();

   JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
           parameters, dataSource);


   // Make sure the output directory exists.
   File outDir = new File("C:/jasperoutput");
   outDir.mkdirs();

   // Export to PDF.
   JasperExportManager.exportReportToPdfFile(jasperPrint,
           "C:/jasperoutput/report.pdf");

   System.out.println("Done!");
   }
}
公共类PdfFromXmlFile{
公共静态void main(字符串[]args)引发JRException、IOException{
//编译jrxml文件。
JasperReport JasperReport=JasperCompileManager
.compileReport(“C:/report.jrxml”);
//报告的参数
映射参数=新的HashMap();
//数据源
//这是一个简单的例子,没有数据库。
//然后使用空数据源。
JRDataSource dataSource=新的JREptyDatasource();
JasperPrint JasperPrint=JasperFillManager.fillReport(jasperReport,
参数(数据源);
//确保输出目录存在。
File outDir=新文件(“C:/jasperoutput”);
outDir.mkdirs();
//导出为PDF。
JasperExportManager.exportReportToPdfFile(jasperPrint,
“C:/jasperoutput/report.pdf”);
System.out.println(“完成!”);
}
}

我该如何解决这个问题?我试图用JasperSoft Studio中的
Lohit Devanagari
ttf创建一个jar,并将其导入此处,但没有成功。

您在我的回答中尝试过jar吗?嗯,也可以使用空数据源,或者使用whenNoData属性,或者在空数据源中添加一条记录新的JREMPTYDATASURCE(1)@Sumit您看到任何文本了吗,或者报告只是空白?,如果您的报告是空白的,我建议您再复制一份,因为它实际上与字体扩展、语言、jar等无关。请让我知道我确实看到了英文文本
关于偿还逾期金额的提示
,只有印地语文本没有显示。我暂时尝试了使用
Kruti-Dev-010
的替代方法,但我需要切换到这个方法,因为我被告知并非所有pdf渲染器都支持这个方法。