Help!
主页 arrow BLOG arrow 为ThinkingRock的REPORT添加中文字体
红旗下的蛋
 

本网站页面专为Firefox进行优化,建议采用Firefox浏览。
为ThinkingRock的REPORT添加中文字体 Print E-mail
Written by fallleaf   
Saturday, 17 February 2007

ThinkingRock 是一个基于GTD 的开源软件,它的“报表”功能可以生成各种格式的报告,其中pocketmod 是我最喜欢的,不过,美中不足的是ThinkingRock的缺省配置是不支持中文报告生成的,需要进行一些配置来使它支持中文报告。

由于ThinkingRock采用Apache FOP来生成PDF文件,而内置的字体没有汉字字体,造成生成PDF报告时中文字体只能显示成#,不过好在Apache FOP支持汉字,我们只要添加汉字字体文件以及修改增加些配置即可。

 

步骤如下:

(1)由于ThinkingRock只内置了Courier、Helvetica和Times Roman三种字体,我们需要添加一种汉字字体,获得字体,我用的是WinXP的仿宋字体simfang.ttf。

(2)生成TRUE TYPE(.ttf)的Font Metrics Files,在命令行状态下,进入ThinkingRock/lib目录下,使用命令“java -cp {path}\fop.jar;{path}\avalon-framework.jar;{path}\commons-logging.jar;{path}\commons-io.jar org.apache.fop.fonts.apps.TTFReader simfang.ttf simfang.xml”来生成simfang.xml,这里{path}是fop.jar,avalon-framework.jar,commons-logging.jar,commons-io.jar所在的路径,一般在ThinkingRock的lib子目录下,输入时还要注意这几个JAR文件名字的一致性

(3)复制simfang.ttf以及simfang.xml到ThinkingRock所在目录下的resource/fop子目录里;

(4)编辑resource/fop/目录下的fop.xconf,在<fonts></fonts>段内增加几行,如下:

<font metrics-url="simfang.xml" kerning="yes" embed-url="simfang.ttf">

<font-triplet name="Simfang" style="normal" weight="normal"/>

</font>

<font metrics-url="simfang.xml" kerning="yes" embed-url="simfang.ttf">

<font-triplet name="Simfang" style="normal" weight="bold"/>

</font>

<font metrics-url="simfang.xml" kerning="yes" embed-url="simfang.ttf">

<font-triplet name="Simfang" style="italic" weight="normal"/>

</font>

至此,配置修改好了,打开ThinkingRock程序,在输出报告时字体选择“simfang”,PDF文件即显示正确的汉字。

更详细的说明参见How to add fonts for PDF reports


在自己的网站上引用 | Views: 14323

  评论 (6)
1. 谢谢~
作者 david zou website, 发表于 26-02-2007 14:00
多谢推荐
2. 作者 skh, 发表于 29-03-2007 00:54
多谢推荐. 
在用你的方法添加中文字体的时候出现这个怎 么办? 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/fop/fonts/apps/TTFReader
3. 作者 fallleaf, 发表于 29-03-2007 18:24
我倒是没有遇到这种情况。首先看看你的JRE的 版本是不是最新的,另外,看看命令中ThinkingR ock的几个jar文件的路径是否写的正确,还有这 几个jar文件的名称可能和本文中有所不同。如 果都确认无误,那只好去ThinkingRock的论坛问问 了。
4. 作者 This email address is being protected from spam bots, you need Javascript enabled to view it , 发表于 30-03-2007 14:59
to falleaf: 
感谢你的回复 
我试了一下,只有fop. jar没有问题,不过最后还是可以正确导出中文 字体的:)
5. 字体请教
作者 This email address is being protected from spam bots, you need Javascript enabled to view it , 发表于 06-05-2007 13:42
请教一下,如果我在档案中,繁简体都用时, 如何让两种都出现,或是可以转换成其中一种 ?
6. 作者 fallleaf, 发表于 10-05-2007 16:51
繁体我没试过,我想你只要把繁体字体按上述 方法加上就行了

Only registered users can write comments.
Please login or register.

Powered by AkoComment Tweaked Special Edition v.1.4.2

 
< Prev
CREATIVE COMMONS
Creative Commons License
查询
照片BLOG
热门BLOG
热门技术文章
订阅
Login Form
注意:对于新浪和雅虎的邮箱有可能收不到激活信。





Lost Password?
No account yet? Register

Top!