在使用biee创建Analysis和Dashboard后,有时根据客户的需求,需要将开发好的Analysis或Dashboard生成为PDF格式文件,但是,当我们导出为PDF文件时,却会发现中文部分变成了“?”,如图所示
看到这个问题,首先是思考定位问题的原因是什么。尝试以“可打印的html”格式打开,发现此时中文显示没有任何问题,那么初步判断是字体文件缺失,导致java生成pdf出现乱码问题。解决办法也很简单,就是将缺失的字体文件上传到服务器的相应路径下。
本文以linux为例:
一、首先,我们需要创建fonts文件夹,创建的方式有两种
1、一种是直接cd到$ORACLE_HOME/bi/common/路径(建议使用此种方式)
cd $ORACLE_HOME/bi/common/
然后创建fonts文件夹
mkdir fonts
2、另一种方式是登录biee,依次点击“管理”->“管理BI Publisher”->“字体映射”->“浏览”,选中字体并点击“上载”后,在linux服务器$ORACLE_HOME/bi/common/路径下也会自动创建fonts文件夹,并将选中的字体文件增加后缀后上传至服务器
二、创建完fonts文件夹后,我们需要将缺失的字体上传到该文件夹下。缺失的字体我们可以直接从window系统的“C:\Windows\Fonts”文件夹下拷贝,拷贝后上传到第一步中的“ORACLE_HOME/bi/common/fonts/”路径下
三、拷贝完成后,重启服务,使用“$ORACLE_HOME/user_projects/domains/bi/bitools/bin/stop.sh”和“$ORACLE_HOME/user_projects/domains/bi/bitools/bin/start.sh”
四、重启服务后,我们重新登录系统并导出pdf文件,这个时候我们可以看到,中文已经正常显示了,至此问题便解决了。