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

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

 

 

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

rtf_template

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

bar_code_no_font_mapping_pdf

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

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

bar_code_39

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

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

bar_code_font_mapping_set

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

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

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

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

bar_code_create_font_mapping

bar_code_create_font_mapping2

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

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

bar_code_edit_template_config

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

bar_code_edit_template_fo_font_mapping

 

 

 

 

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

bar_code_font_mapping_pdf

 

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