jasperReport导出html乱码问题解决

最近因为项目的需要
        File reportFile = new
         File(getServlet().getServletConfig().getServletContext().getRealPath("/reports/cadreinfor_report.jasper"));
         
         if (!reportFile.exists()) throw new JRRuntimeException("FileWebappReport.jasper " +
                 "not found. The report design must be compiledfirst.");     
         
         File sourceFile = new File(reportFile.getPath());
         JasperReport jasperReport = (JasperReport)JRLoader.loadObject(sourceFile);         
         JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(), new JREmptyDataSource());
         File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".html");
         String destFileName = destFile.toString();
         JRHtmlExporter exporter = new JRHtmlExporter();
         exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
         exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFileName);
         exporter.setParameter( JRExporterParameter.CHARACTER_ENCODING, "GB2312"); //关键是此句      
         exporter.exportReport();
         response.sendRedirect("/reports/cadreinfor_report.html");
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jasperreport是一个广泛使用的报表生成工具,它能够生成多种格式的报表,包括PDF。在导出PDF报表时,有时会遇到"could not load the following font"错误,这是由于JasperReport找不到所需的字体文件导致的。 解决这个问题的方法有以下几种: 1. 确保字体文件存在:首先,需要确认所使用的字体文件确实存在于系统中。可以通过查看字体文件所在的路径,或者在系统中搜索相应的字体文件来确认。 2. 添加字体文件到classpath:如果字体文件确实存在,但是JasperReport仍然找不到,可能是因为字体文件不在classpath中。在JasperReport的classpath中添加正确的字体文件路径,以便系统可以找到并加载它们。 3. 修改JasperReport配置文件:可以通过修改JasperReport的配置文件来解决字体加载问题。在jasperreports_extension.properties文件中添加以下配置: net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory 这样可以告诉JasperReport使用默认的字体扩展注册工厂,并加载相应的字体。 4. 更换字体文件:如果以上方法都无法解决问题,可以尝试将字体文件替换为其他可用的字体文件。可以找到适合的字体文件,并将其放置在JasperReport的classpath中,然后重新导出报表,看是否解决问题。 总之,解决JasperReport PDF导出错误"could not load the following font"问题的关键是确保字体文件存在且能够被系统正确加载。如果以上方法仍然无法解决问题,可能需要进一步调查系统配置和字体文件是否存在异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值