在皕杰报表中,如果含有斜线的单元格、统计图的报表、或导出pdf时,汉字变成小方框,这往往是服务器端操作系统的中文安装包没有装全,导致报表里用到的字体在服务器端的操作系统里找不到,因此成了小方块。因为斜线单元格里、统计图表里及导出pdf这些都是在后台生成的,调用的是后台操作系统和jre里的字体,缺失就会显示小方块。
所以解决这种问题就要从服务器操作系统着手,把所用的中文字体安装到字体文件里。要注意有些商用字体是有版权的,windows里可用不代表在其它操作系统也是免费的,使用中文字体时先确认有权使用。
解决办法一:在操作系统及jre中安装中文包
1) 操作系统安装完整的中文安装包
2) 卸载jdk,重新安装,让jdk读取新的中文字体文件
解决办法二:直接拷贝中文字体到jre:
1) 在java启动的时候加入如下参数,参数值为jdk的安装路径-
Dsun.java2d.fontpath=……/j2se/jre/lib/fonts
2) 操作系统安装完整的中文安装包,然后把操作系统的中文字体文件拷贝到
……/j2se/jre/lib/fonts目录下
3) 打开……/j2se/jre/lib目录下的font.properties文件,把新添加的字体文件的对照信息 加进该文件即可
4) 重起webserver
解决办法三:如果操作系统没有安装中文语言包,又不想安装,则:
1)、从Windows操作系统拷贝报表所用到的字体文件到相应的操作系统字体目录
Windows操作系统的字体目录一般为Windows\fonts
AIX操作系统的字体目录一般为/usr/lpp/x11/lib/fonts
2)、修改操作系统的字体设置
字体设置文件一般为fonts.dir
Fonts.dir的第一行一般是告诉Xwindows一共有多少行字体信息
Fonts.dir的第二行开始起始正式的字体设置信息
字体设置示例:simsun.ttc–jdk-simsun-Medium-r-Normal--0-0-0-0-P-O-gb2312.1980-0
3)、重新启动操作系统
4)、然后再安装解决方法二来解决jdk的字体问题