ApacheFOP——PDF支持中文字符 apache2.4支持中文url


通过ApacheFOP生成PDF文件时常常遇到中文显示为#的问题,这是由于生成的PDF文件没有嵌入相应的中文字体。fopexamplesfoadvanced中有详细的例子文件说明怎样解决这个问题,不再多说。


下面是一个例子,便于快速解决这个问题。



1.建立font metrics文件,对ttc或ttf有不同的方法。


确定系统字体文件夹下的字体文件(微软雅黑字体的路径为C:WINDOWSFontsmsyh.ttf)。


然后在命令提示符下执行如下命令:



TTF字体文件


java -cpc:fopbuildfop.jar;c:foplibavalon-framework-4.2.0.jar;c:foplibcommons-logging-1.0.4.jar;c:foplibcommons-io-1.3.1.jar;c:foplibxmlgraphics-commons-1.4.jarorg.apache.fop.fonts.apps.TTFReader c:windowsfontsmsyh.ttfmsyh.xml



TTC字体文件


java -cpc:fopbuildfop.jar;c:foplibavalon-framework-4.2.0.jar;c:foplibcommons-logging-1.0.4.jar;c:foplibcommons-io-1.3.1.jar;c:foplibxmlgraphics-commons-1.4.jarorg.apache.fop.fonts.apps.TTFReader -ttcname "SimSun"c:windowsfontssimsun.ttc simsun.xml



这样就会在当前文件夹下面生成msyh.xml和simsun.xml文件。



2.登记字体


在FOP主目录下的conf子目录下有一个userconfig.xml文件,在标记区,我们在其中加入以下项:



embed-url="C:WindowsFontsmsyh.ttf">


ApacheFOP——PDF支持中文字符 apache2.4支持中文url
其中metrics-file里可以设相对路径或绝对路径,font-triplet里的name可以自己自由设定,并不要求与字体名一样。设定这个名字后,在fo里就只能通过这个名字引用这个字体。



3.引用字体




4.编译PDF


fop -c userconfig.xml -q -xml test.xml -xsl test.xsl -pdftest.pdf


  

爱华网本文地址 » http://www.aihuau.com/a/25101016/292601.html

更多阅读

解决32位win7不支持4G内存的方法 win7 32位内存补丁

解决32位win7不支持4G内存的方法——简介有网友反映说他的32位win 7不能用4G的内存。其实32位的win7和vista都是不允许用4G内存的,那有没有让32位的win7/vista也用上4G的内存呢? 答案是可以,但是这样做的话很可能会破坏系统的稳定性。

对象不支持此属性或方法 ie 缺少对象 代码0

对象不支持此属性或方法——简介使用IE浏览器时,IE右下角状态栏中显示“对象不支持此属性或方法,已完成,但网页上有错误”的警告提示,双击状态栏上的“详细信息”后可以查看到“行:x 字符:x 错误:没有注册类别 代码:x”,无法使用网页上的留

声明:《ApacheFOP——PDF支持中文字符 apache2.4支持中文url》为网友謌给沵滈謿分享!如侵犯到您的合法权益请联系我们删除