Oracle EBS的BIP报表中显示特殊字体

时间:2023-03-08 16:06:33
Oracle EBS的BIP报表中显示特殊字体

http://oracleseeker.com/2009/08/25/font_mapping_setup_for_special_character_print_in_oracle_ebs_bip/

如若在BIP报表中使用了一些特殊的字体,这些字体在JRE的字体库中没有的话,则BIP报表的运行结果就不正确,最典型的例子就是条码字体的打印。

如下图是我在rtf模板中使用code39字体设计的条码显示

Oracle EBS的BIP报表中显示特殊字体

但是在Oracle EBS环境下运行之后的结果如下,条码字体的格式丢失了:

Oracle EBS的BIP报表中显示特殊字体

这是由于FO引擎在生成报表的时候找不到合适的字体,而采用了默认的字体而生成的结果,为了解决这个问题,需要定义字体的转换:

1,在XML Publisher Administrator职责下,首先上传字体文件

Oracle EBS的BIP报表中显示特殊字体

2,在XML Publisher Administrator职责下,定义字体转换映射集

由于我们的模板使用的是RTF格式的,因此Type需要选择FO To PDF

Oracle EBS的BIP报表中显示特殊字体

3,在XML Publisher Administrator职责下,定义字体转换映射关系

输入Font Family,这个值可以打开字体文件来查看

根据模板中使用字体的情况来选择Style和Weight

如果需要根据Locale来决定使用字体映射,则填入Language和Territory,不填代表所有语音环境下都适用

Oracle EBS的BIP报表中显示特殊字体

Oracle EBS的BIP报表中显示特殊字体

4,定义好字体映射之后,修改BIP模板文件的配置

查询出BIP模板定义后,点击右上角的 Edit Configuration 按钮

Oracle EBS的BIP报表中显示特殊字体

展开FO Processing部分,设置Font mapping set为上面定义好的字体映射集

Oracle EBS的BIP报表中显示特殊字体

再次运行BIP报表,结果如下,正是模板中所设计的结果:

Oracle EBS的BIP报表中显示特殊字体

任何Oracle EBS没有提供的预定义字体使用到我们的模板文件中用来生成PDF报表,都需要通过上面描述的步骤来定义字体映射来完成特殊字符的打印。

无相关文章.