jasperreports报表的粗体,斜体,无效的解决方案

      以前从来没有用JAVA做过报表,最近在项目中需要做报表。以前也听说过jasperreports。就开始google了几篇文章照着做,做的很艰苦。遇到问题需要很长时间解决。比如说subreport的传值等问题。中文字体问题。等到报表做出了拿给客户看,客户要求标题要粗体显示,原来以为是PDF格式的问题,后来在网络google很久,有人说jasperreports的源码有问题,还给出了修改办法。但是没有提供修改后的jar包,不得不自己动手,下载了jasperreports源码,按照网上的提示修改后重新打包,把原来的jar包重新替换后,运行出的报表粗体,斜体,下划线都有效果了。我用的版本是3.5.3,附件是我修改过的jar包,假如你用的别的版本,你可以下了源码,按下面的提示修改后重新编译。不要告诉 我你ant都不会用。

 

修改的文件是:JRPdfExporter.java

 

修改的地方是第1723行(红色部分)(不同版本行数可能不同):

Font font = null;
  PdfFont pdfFont = null;
  FontKey key = new FontKey(jrFont.getFontName(), jrFont.isBold(), jrFont.isItalic());

  if (fontMap != null && fontMap.containsKey(key))
  {
   pdfFont = (PdfFont) fontMap.get(key);
  }
  else
  {
   FontInfo fontInfo = JRFontUtil.getFontInfo(jrFont.getFontName(), locale);
   if (fontInfo == null)
   {
    pdfFont = new PdfFont(jrFont.getPdfFontName(), jrFont.getPdfEncoding(), jrFont.isPdfEmbedded(),jrFont.isBold(), jrFont.isItalic());  //增加了三个参数
   }
   else
   {
    FontFamily family = fontInfo.getFontFamily();
    FontFace face = fontInfo.getFontFace();
    int faceStyle = java.awt.Font.PLAIN;

 

希望你遇到的问题,能完美解决。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值