◎筱米加步枪◎.Blog

Happy coding

JapserReport导出PDF出现Could not load the following font错误的解决方案

年后,将年前的基于JasperReport封装的API移植到Maven工程上,问题不断,其中一个问题就是导出PDF过程中出现如下错误:

 

Could not load the following font :

   pdfFontName   : STSong-Light

   pdfEncoding   : UniGB-UCS2-H

   isPdfEmbedded : true

 

百度了好久没有找到答案,偶然想起之前也有解决相关iText的中文版本问题,请看这篇文章:http://cst.is-programmer.com/posts/18844.html

不过这次有点不同的就是,JasperReport4.5.0 使用的是iText2.1.7版本,分析包名是以com.lowagie开头,所以相应的iTextAsian也应该是com.lowagie.XXX的。

之前出现错误就是导出了其他版本的iTextAsian.jar(com.itextpdf.XXX)。

总之:iText和iTextAsian的包要配套起来就没问题了。

JasperReport导出PDF报表中文不显示问题

这两天,利用iReport和JasperReport做报表,发现在导出PDF的时候中文不显示,而导出HTML却显示正常,而相关的itext包也引入到项目中了。百度发现,在报表定义的时候要设置如下属性:

    Font name:          宋体 (中文字体)
    PDF font name:  STSong-Light
    PDF Encoding:    UniGB-UCS2-H(Chinese Siplified)
    PDF Embeded:   true

如图:

设置后,问题解决。