快速搭建支持中文的FOP 0.20.5,主要目的是支持中文Docbook转PDF或HTML格式

Docbook 4.2是中立的XML的技术文档标准定义,完全独立于平台和呈现格式特性使得Docbook成为书写大型技术文档,如论文、使用手册,API手册等的理想选择。XML文本化的Docbook也使得Docbook相比于二进制格式的Word或者Framemaker更容易通过版本管理软件如SubVersion做到通过Internet协作写作。

中文Docbook转换为PDF文件格式,Dorian已经有了写出了详细实现步骤,我遵循他的步骤,花了2天终于可以搭建成功了(据称他花了一周),我写这篇随笔的目的是希望能够帮助您,使这一时间进一步缩短。

请按照下面步骤搭建支持中文的FOP文档生成器:

  1. 安装Java Runtime
  2. 下载FOP 0.20.5,本文写作时,FOP 0.93版还不支持TTF字体(比如宋体)嵌入至PDF,具体信息可见fop-0.93/doc/0.93/fonts.pdf,所以目前只能使用0.20.5版本。
  3. 请解压缩FOP 0.20.5到C:\FOP-0.20.5;
  4. 下载FOP 0.93,将fop-0.93\lib\中的文件替换为C:\FOP-0.20.5\lib\相应的库文件:
    • avalon-framework-4.2.0.jar 替换 avalon-framework-cvs-20020806.jar
    • batik-all-1.6.jar 替换 batik.jar
    • xalan-2.7.0.jar 替换 xalan-2.4.1.jar
    • xercesImpl-2.7.1.jar 替换 xercesImpl-2.2.1.jar
    • xml-apis-1.3.02.jar 替换 xml-apis.jar
    • serializer-2.7.0.jar 新增复制重命名为 serializer.jar
  5. 下载Jimi,将下载文件jimi1_0.zip中的JimiProClasses.zip文件解压缩到C:\FOP-0.20.5\lib\,并重命名为jimi-1.0.jar;(添加FOP对PNG格式文件的支持)
  6. 下载Docbook 4.2的DTD文件,解压到C:\FOP-0.20.5\docbook-xml-4.2;
  7. 下载docbook-xsl 1.72.0,解压到C:\FOP-0.20.5\docbook-xsl;
  8. 下载FOP 0.20.5 中文Docbook补丁包(我提供的),覆盖C:\FOP-0.20.5的相应文件;
  9. 如果使用的是Windows 2000,请修改C:\FOP-0.20.5\lib\zhconfig.xml,将/windows/fonts/simsun.ttc改为/winnt/fonts/simsun.ttc;
  10. 添加C:\FOP-0.20.5到环境变量PATH中。(我的电脑->属性->高级->环境变量,新增)

至此完成FOP的搭建,由于Java的文件系统访问问题,Docbook的编译最好在同一个盘符下,也就是说,如果完全按照上述步骤,最好在C:\FOP-0.20.5\work下工作,我还附上了limodouDocbook_Step作为Docbook的示例,请运行build.bat编译DocBook_Step,作为FOP配置成功的测试。

完整的Docbook相关资料可以见mark的Docbook书签

posted @ 2007-02-25 04:06 丁丁 阅读(1471) 评论(7)  编辑 收藏 所属分类: 其他技术

  回复  引用  查看    
#1楼 2007-02-25 08:45 | JesseZhao      
嘿嘿,以后自己写书就爽了
  回复  引用  查看    
#2楼 2007-02-25 22:52 | Dorian Deng      
FOP 0.93是支持ttf字体的,但我还没有解决断行的问题,我在原来的随笔中加入了对0.93的补充。
http://www.cnblogs.com/peacefulsword/archive/2007/02/11/647396.html
  回复  引用  查看    
#3楼 [楼主]2007-02-26 06:59 | 丁丁      
好的,期待Dorian的新发现,Docbook的未来是光明的,只是现在用起来的难度实在有点……
我刚发现国内用Hibernate 3的一帮Java程序员,正在翻译Hibernate 3的文档,基于SubVersion源代码管理库,可以从下面取得Hibernate 3的Docbook源文件:
http://anonsvn.jboss.org/repos/hibernate/trunk/Hibernate3/doc/reference/zh-cn/

当然通过Tortoise Subversion客户端来CheckOut是最方便的,也许还能帮他们捉点错别字呢,呵呵
  回复  引用    
#4楼 2007-04-04 21:12 | working [未注册用户]
您好, 看了您的关于中文DOCBOOK 转PDF 的文章, 感觉看到了希望, 我以为没有可能成功哪, 很感谢.
但是在具体操作时, 还是不能运行, 我初学DOCBOOK, 有些不明白, 请赐教.
我是完全按您的指示做的:
1 安装Java Runtime;已有JRE, 所以跳过此步
2 下载FOP 0.20.5: 下载的是fop-0.20.5-bin.zip(不知对不对)
3 请解压缩FOP 0.20.5到C:\FOP-0.20.5: 这里我改为E盘,
4 下载FOP 0.93, 我是将fop-0.93\lib\中的六个.jar文件拷贝到E:\FOP-0.20.5\lib\中, 然后删除原有的五个.jar文件, 最后将新拷的五个. Jar文件名字该为原来的(也就是avalon-framework-cvs-20020806.jar; batik.jar; xalan-2.4.1.jar; xercesImpl-2.2.1.jar; xml-apis.jar;)
然后将serializer-2.7.0.jar重命名为 serializer.jar
5 下载Jimi, 这里我将JimiProClasses.zip在E:\FOP-0.20.5\lib\解压缩后出现一个COM 文件夹, 然后将JimiProClasses.zip重命名为Jimi-1.0.jar(这里从.zip文件改为.jar文件时系统提示可能出错, 我没理他)
6 下载Docbook 4.2的DTD文件: C盘变E盘
7下载docbook-xsl 1.72.0:C盘变E盘
8下载FOP 0.20.5 中文Docbook补丁包:我直接替换的,替换后conf文件夹中多了zhconfig.xml(现共有4个文件,一个DTD,三个XML)
 多了work和fonts,docbook-xsl,三个文件夹,和三个文件,分别为(fop.bat,fop_original.bat,ttfreader.bat)
9我使的是XP,所以跳过
10添加C:\FOP-0.20.5到环境变量PATH中:C盘变E盘

然后,我将fop.bat中最后一行的C盘改为E盘;conf文件夹中的zhconfig.xml文件
/windows/fonts/simsun.ttc改为fonts/simsun.ttc,从C盘windows/fonts/中将simsun.ttc
拷到E:\fop-0.20.5\fonts中.

开始运行:1 双击E:\fop-0.20.5\work\docbook_step中的build.bat文件,运行一闪而过,没有结果,不知道原因,或该如何运行.
2 用自己的myfile.fo文件(放置在work文件夹中),在DOS中运行,
fop.bat –fo work/myfile.fo –pdf work/myfile.pdf, 提示找不到FONT,结果全是井号

我试了很多改动,都没成功,请帮我找找原因,感激万分,感激万分.急盼回复

  回复  引用  查看    
#5楼 [楼主]2007-04-09 15:32 | 丁丁      
如果安装在E盘,要改zhconfig.xml文件和bat文件,这个问题是Java的路径读取问题,Java似乎无法从E:读C:的内容,所以建议你还是先在C盘试,成功了再慢慢改到E:
  回复  引用    
#6楼 2007-05-26 19:31 | zidu [未注册用户]
请教丁丁,您可以用fop实现xsl-fo writing-mode="tb-rl" 至PDF吗?
  回复  引用    
#7楼 2007-05-26 23:16 | zidu [未注册用户]
惭愧,没有认真看文档,fop还不支持此属性!

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-03-07 05:59 编辑过


相关链接: