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渲染器都支持这个方法。