最近一直在做报表,用的是iReport3.7.3和jasperReport3.7.3,在导出pdf形式的报表时,文字的粗体效果出不来,
弄了大半天,查阅了很多资料,试了很多种方法,效果都不理想。下面总结一下:
1.修改jasperreports-3.7.3.jar包的JRPdfExporter的源码
这种方法网上到处都是,但我没试过,不知道是否可行,因为我反编译出来的源码有大量的错误,下载的一个编译器
也用不了,并且网上说的这种方法的版本和我用的版本不一致,代码也略有不同,感兴趣的可以去试一下。
2.在程序中设置字体
Map fontsMap = new HashMap();
fontsMap.put(new FontKey("黑体", true, false), new PdfFont("simhei.ttf", "Identity-H", true, true, false));
pdfExporter.setParameter(JRExporterParameter.FONT_MAP, fontsMap);
其中,simhei.ttf这个就是粗体的字体,在C:\WINDOWS\Fonts下可以找到,把这个文件copy到项目的classpath下,接着修改jrxml源文件,把pdfFontName="STSong-Light"改为:pdfFontName="simhei.ttf"。我在用iReport设计报表时,把pdfFontName="STSong-Light",pdfEnc