OFBiz9.4 中FOP添加中文字体支持
一、下载 FOP
使用svn,从下面的地址checkout,下载FOP文件。
https://www.wendangku.net/doc/133559845.html,/repos/asf/xmlgraphics/fop/trunk
二、从FOP文件中执行ant 后找到FOP的jar包
运行时需要的jar 包在build 文件夹下面的fop.war 包中可以找到。
avalon-framework-4.2.0.jar;batik-all-1.7.jar;commons-io-1.3.1.jar;commonsloggi ng-1.0.4.jar;xmlgraphics-commons-1.4svn.jar;fop.jar这些jar包,并使用绝对路径拷贝到一个目录,例如D:/FOP目录
三、添加字体文件,我们可以从windows字体库中查找我们需要的文件 C:\WINDOWS\Fonts 例如我们想添加黑体字,找到SIMHEI.TTF这个文件,把这个文件copy到我们的FOP目录下。
四、生成字体的xml描述文件
如,若要从SIMHEI.TTF 生成SIMHEI.XML 文件,运行下面的脚本:
java -classpath
avalon-framework-4.2.0.jar;batik-all-1.7.jar;commons-io-1.3.1.jar;commonsloggi ng-
1.0.4.jar;xmlgraphics-commons-1.4svn.jar;fop.jar
org.apache.fop.fonts.apps.TTFReader -
ttcname Simhei simhei.ttf simhei.xml
五、配置FOP
如,若要添加楷体字体,打开OFBiz9.4 的“framework\webapp\config\”目录下的fop.xconf 文件,在“
几行:
同时,需要把simkai.ttf 和simkai.xml 两个文件也拷贝到“framework\webapp\config\”目录
下。
六、添加必要的jar 包
把xalan.jar 和serializer.jar 拷贝到OFBiz9.4 的“framework\base\lib\”目录下。
这两个jar 包可以在Apache 的Xalan-Java 项目中找到:
https://www.wendangku.net/doc/133559845.html,/xalan-j/
七、FOP使用中文字体
八、WINDOWS平台修改startofbiz.bat 批处理文件,添加UTF-8默认字体
"%JAVA_HOME%\bin\java" -Xms128M -Xmx512M -Dfile.encoding=UTF-8 -jar ofbiz.jar > runtime\logs\console.log
添加 -Dfile.encoding=UTF-8
九、LINUX平台修改startofbiz.sh 批处理文件,添加UTF-8默认字体
# VM args
ADMIN="-Dofbiz.admin.port=$ADMIN_PORT -Dofbiz.admin.key=$ADMIN_KEY"
#DEBUG="-Dsun.rmi.server.exceptionTrace=true"
#automatic IP address for linux
#IPADDR=`/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` #RMIIF="-Djava.rmi.server.hostname=$IPADDR"
MEMIF="-Xms128M -Xmx512M"
Dfile.encoding=UTF-8
#MISC="https://www.wendangku.net/doc/133559845.html,nguage=en"
VMARGS="$MEMIF $MISC $DEBUG $RMIIF $ADMIN"
添加 Dfile.encoding=UTF-8
经过以上几步,在运行ofbiz中的FOP模块就能正常显示中文了。