我正在尝试显示来自 Web 应用程序的JasperReports报告,其中包含一些马拉地语(印度地区语言)文本。
当我在iReport中运行预览时,它看起来很完美,但是当我从 Web 应用程序尝试以 pdf 格式查看报告时,文本未显示。
这是我尝试做的。
ServletContext context = getServletContext();
InputStream is = context.getResourceAsStream("report/name.jasper");
Map param = new HashMap();
param.put("para", "1");
byte[] bytes = JasperRunManager.runReportToPdf(is, param, con);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream outStream = response.getOutputStream();
outStream.write(bytes, 0, bytes.length);
outStream.flush();
outStream.close();
我还建议添加jasperreports.properties如下
net.sf.jasperreports.default.pdf.encoding=Cp1250
但是当我使用此属性时,文本显示为“?????”
这是iReport的预览:
这是当我从我的 Web 应用程序中将报告显示为 pdf 时的预览:
这是我使用net.sf.jasperreports.default.pdf.encoding=Cp1250时的预览