[COCOON+Jfor]将FO转换为RTF格式文档(一)
文档版本
版本
创建时间
创建人
备注
1.0.0.1
2003-11-15
郑昀
草稿
继续阅读之前,我们假设您熟悉以下知识,也可以参考本文后面的附录:
n Cocoon(Apache组织的XML项目中的八个子项目之一)
n XSL Formatting Objects (XSL-FO)
n FOP(Formatting Objects Processor)
n Jfor(Open-Source Java XSL-FO to RTF converter)
关键词:
cocoon、jfor、xml、xsl-fo
摘要:
对于如何把PDF格式文档转换为Word文档,我们的思路是,能不能这样:PDFàFOàRTF。
首先,我们来看看如何将FO转换为RTF格式。我们可以让Cocoon+Jfor做到这一点。
概述我们已经知道利用WH2FO和FOP可以把Word2000文档成功转换为PDF格式文档。
第一步,将Word转换为XSL-FO,具体的OpenSource可以在http://www-uk.hpl.hp.com/people/fabgia/wh2fo/wh2fo.html找到。
第二步,按照http://www-900.ibm.com/developerWorks/cn/xml/x-xslfo2app/index.shtml
的指导,将XSL-Fo转换为PDF。
简单的命令例子:
> java org.apache.fop.apps.Fop everything.fo everything.pdf
或者安装了FOP(http://apache.linuxforum.net/dist/xml/fop/)之后,运行:
fop.cmd sample.fo sample.pdf
即可输出PDF文件。
那么现在,我们如何反过来做呢?把PDF文件转换为Word文件。
Microsoft KB上都声称并没有提供直接的方法,他们的建议是,你用Acrobat Reader 5.0打开PDF文件,用Copy Text或者Copy Image命令把所需要的内容粘贴到Word里。还有人声称可以用Acrobat Reader 5.0另存为RTF格式。
HOW TO: Convert Adobe Acrobat Reader (*.pdf) Files in Word 2002 (290927)
- This article explains how to convert a Portable Document Format (PDF) document from Adobe Acrobat Reader to Microsoft Word.
PDFàFOàRTF我们的思路是,能不能这样:PDFàFOàRTF。
首先,我们来看看如何将FO转换为RTF格式。我们可以让Cocoon+Jfor做到这一点:
安装Cocoon:
安装Cocoon相对来说非常简单。分成这么几个步骤:
第一步,安装JDK:
确保你的JDK版本足够高,我的是j2sdk1.4.2_02;之后设置JAVA_HOME为JDK目录,或者运行命令:
Set java_home = F:\j2sdk1.4.2_02
第二步,安装cocoon:
下载cocoon 2.1.3:
The latest source distribution (Cocoon 2.1.3):
· TAR/GZIP format (Unix platforms): cocoon-latest-src.tar.gz
· ZIP format (Windows platforms): cocoon-latest-src.zip
解压之后,运行cocoon-2.1.3根目录下的build.bat,来编译cocoon:
E:\cocoon-2.1.3>build
Using Java from F:\j2sdk1.4.2_02\
Buildfile: build.xml
prepare:
+-----------------------------------------------------------+
Apache Cocoon 2.1.3 [1999-2003]
+-----------------------------------------------------------+
Building with Apache Ant version 1.5.4 compiled on August 12 2003
…
…
validate-jars:
Copying 1 file to E:\cocoon-2.1.3\build\cocoon-2.1.3\temp
validate-config:
Validating configuration files
Validating cocoon.xconf using a very basic RELAX NG grammar ...
BUILD SUCCESSFUL
Total time: 2 minutes 30 seconds
编译成功之后,我们可以试试看cocoon的效果。
第三步,启动cocoon:
本质上,cocoon还是一个servlet。请运行cocoon-2.1.3根目录下的cocoon.bat,来启动cocoon:
E:\cocoon-2.1.3>cocoon servlet
cocoon.bat: using .\build\webapp as the webapp directory
于是乎,就出现了cocoon的运行窗口:
让我们试试看效果:打开IE,输入
http://localhost:8888
即可看到:
Okay,一切正常。
现在,我们要来试试FOàRTF的转换了。前提是,必须把Jfor的包放入cocoon下。
第四步,安装Jfor到Cocoon:
从Jfor的官方站点
http://www.jfor.org/
下载Jfor二进制包。地址是:
http://prdownloads.sourceforge.net/jfor/jfor-0.7.2rc1.jar?download
下载了jfor-0.7.2rc1.jar,把它放在
cocoon-2.1.3\lib\optional
子文件夹下。
然后重新build一遍cocoon,步骤同第二步。
再次启动cocoon servlet。
待续。
Disclaimers:本文档所包含的信息代表了在发布之日,zhengyun对所讨论问题的当前看法。本文档不应理解为zhengyun一方的承诺,zhengyun不保证所给信息在发布之日以后的准确性。
本文档仅供参考。
用户必须遵守所有适用的版权法。在不对版权法所规定的权利加以限制的情况下,如未得到 zhengyun和CSDN.Net明确的书面许可,不得出于任何目的、以任何形式或手段(电子的、机械的、影印、录制等等)复制、传播本文的任何部分,也不得将其存储或引入到检索系统中。
本文提到的其他产品和公司名称可能是其各自所有者的商标。
Writen by zhengyun_ustc(at)hotmail.com
本文地址:http://com.8s8s.com/it/it37496.htm