- 正常浏览:
- 导出到 PDF 时出现异常(字符乱码):
2、问题原因
电子表格报表设置了某种字体,但服务器所在的操作系统上缺少对应的字体文件。尤其是当 Smartbi 部署到 Unix/Linux 等系统上时,最有可能出现该问题。这时可以使用 listFont.jsp 来检查系统是否缺少所需要的字体。页面快捷入口:定制管理->系统运维->调试工具集->列出字体信息。
3、解决办法
通常在 Windows 系统的 Fonts 目录下可以找到对应的字体文件,将其中的字体文件拷贝到服务器上,放到上图中“External Font Dir”目录下,并重启应用服务器即可。重启后再次使用 listFont.jsp 确认可以看到该字体,然后再打印或者导出到 PDF 就正常了。
4、特殊情况
如果按照上述步骤操作后,仍然有中文乱码问题,可能是因为应用服务器所用的 JDK 没能正确地从上述“External Font Dir”目录下加载那些字体文件。万无一失的解决办法是,将字体文件拷贝到 JDK 自己的 fonts 目录下。JDK 对应的字体文件路径是:/jdk/jre/lib/fonts ,参见下图。