Oracle XMLPublisher问题集锦 - 字体与乱码

设计时:XMLP Desktop

1、 安装字体比如条码字体到Windows,这样Word和XMLP Desktop都可以引用。
操作:直接拷贝到X:\WINDOWS\Fonts下即可。

2、 配置XML Publisher,加入上述的字体名称和字体路径。

配置文件:X:\Program Files\Oracle\XML Publisher Desktop\Template Builder for Word\config\xdo.cfg,可以根据xdo example.cfg改名而来。

字体名称:进入X:\WINDOWS\Fonts目录、打开字体文件或Word都可以看到。

字体路径:X:\WINDOWS\Fonts下的字体,显示的不是文件名,需要拷贝到其他目录才可以知道具体文件名。

配置样例:

<font family="3 of 9 Barcode" style="normal" weight="normal">
       <truetype path="C:\WINDOWS\fonts\3of9.ttf" /> 
</font>

运行时:XMLP EBS之中文字体

默认情况下,XMLP不支持中文,原因仅仅是缺少字体。因为XMLP采用Java编写,理论上Java支持任何语种。EBS自带了中文字体,但没有安装到XMLP目录。为此需要做下简单拷贝即可:
cp %FND_TOP%/resource/ALBAN.ttf $AF_JRE_TOP/jre/lib/fonts*

运行时:XMLP EBS之条码字体

1、 把字体拷贝到**$AF_JRE_TOP/jre/lib/fonts**目录下。

2、 修改XML Publisher的配置文件**$AF_JRE_TOP/jre/lib/xdo.cfg**。

<font family="3 of 9 Barcode" style="normal" weight="normal">
       <truetype path="d:\oracle\prodcomn\util\java\1.4\j2sdk1.4.2_04\jre\lib\fonts\3of9.ttf" /> 
</font>

另外,有些条码在应用字体前,需要进行预处理,比如Code128a,这个时候需要在模版中设置额外的命令:

1、 登记条码预处理类,如将BarcodeUtil注册为XMLPBarVendor

<?register-barcode-vendor:'oracle.apps.xdo.template.rtf.util.barcoder.BarcodeUtil';'XMLPBarVendor'?>

2、 预处理数据,如用XMLPBarVendor将Element_Name格式化为Code128a

<?format-barcode:Element_Name;'Code128a';'XMLPBarVendor'?>

服务器配置2:界面设置

除了配置文件外,也可以使用XML Publisher Administrator职责的界面进行配置。

1、 创建字体文件
N: Administration\Font Files\Create Font File

创建字体文件

填写Font Name、再上传本机的字体文件到服务器(文件会被保存在xdo_lobs表)

2、 创建字体映射集

N: Administration\Font Mappings\Create Font Mapping Set

创建字体映射集

填写Mapping Name(任意)、Mapping Code(任意)、Type。Type为PDF Form的Font Mapping适用于PDF模板,FO To PDF适用于其他模板。

再点击Create Font Mapping按钮来为字体映射集添加字体映射,Font Family一定要和word里选出的字体名一致:

Create Font Mapping

Create Font Mapping

然后点击Continue,选择之前定义的字体文件。

3、 配置字体映射集

配置字体映射集

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值