我正在尝试从网络应用程序中显示 JasperReports 报告,其中包含一些马拉地语(印度地区语言)文本。
当我在 iReport 中运行预览时,它看起来很完美,但当我从网络应用程序尝试以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 的预览:
当我从我的网络应用程序显示报告为pdf时,这是预览:
当我使用 net.sf.jasperreports.default.pdf.encoding = Cp1250 时,这是预览