1. 查看PDF的字体文件
打开任意一份PDF中文文档,执行文件->属性菜单顺序,切换到字体Tab页,发现嵌入的字体子集里包含宋体、微软雅黑等字体,这是各种PDF渲染各种文字的关键。
2. 添加字体文件
Birt是利用iText对PDF进行渲染的,所以可能通过修改config_PDF.xml文件来添加所需要的字体,以SimSun.ttf字体库为例。下载SimSun.ttf文件,将其添加到系统字体文件中,这里假定为/usr/fonts。
3. 修改config_PDF.xml
解压”org.eclipse.birt.runtime_版本号.jar”文件,找到config_PDF.xml,修改其中包含”all-fonts”的内容为:
<composite-font name="all-fonts">
<font font-family="SimSun" catalog="Chinese" />
</composite-font>
然后再把其替换到”org.eclipse.birt.runtime_版本号.jar”文件中,如果存在文件校验的问题,则需要架包中META-INF文件夹中的.rsa文件。
设置引擎字体路径
在引擎的启动代码之前,添加如下代码:
// fontsdir指向/usr/fonts路径
FontFactory.registerDirectory(fontsdir.getAbsolutePath());