[JODConverter]word转pdf心得分享(转)
官方网站: http://www.artofsolving.com/opensource/jodconverter
下载地点:
http://www.artofsolving.com/opensource/jodconverter
http://zh.openoffice.org/new/zh_tw/downloads.html
目前版本: JODConverter v2.2.1, OpenOffice v3.0.0
使用需求: JDK1.4以上, 安装OpenOffice v2.0.3以上
基本简介:
JODConverter主要的功能是用来做各种档案的转换. 目前测试过, Word,Excel,PowerPoint转PDF都是没问题的.
因为JODConverter是透过OpenOffice来做转换, 所以使用前需要先安装OpenOffice, 并且将OpenOffice的Service启动, 才可以使用.
?
OpenOffice.org具有一个鲜为人知的特性就是其能够作为一个服务来运行,而这种能力具有一定的妙用。举例来说,你可以把openoffice.og变成一个转换引擎,利用这种转换引擎你可以通过网络接口或命令行工具对文件的格式进行转换,JODConverter可以帮助你实现OpenOffice.org的这种文件转换功能。
为了将OpenOffice.org作为一个转换引擎,你必须以服务的方式将它启动,使它在某个特定的端口监听连接,在Linux平台你可以用如下的命令启动openoffice.org:
soffice -headless -accept=”socket,port=8100;urp;”(我在linux下使用soffice -headless -accept=”socket,host=127.0.0.1,port=8100;urp;”,open office server是开启来了,但是文件转换不成功,异常是连接失败,这个很可以是你用jodconverter来转换时使用的是localhost,而当你的机有host配置文件里没有将localhost与127.0.0.1对应起来时,就无法解析了,这里可以修改host文件或去掉host=127.0.0.1,这样我试过可以成功)
在Windows平台, 使用如下命令:
“C:\Program Files\OpenOffice.org 2.2\program\soffice” -accept=”socket,port=8100;urp;”
使用教学:
Step1: 安装OpenOffice
Step2: 启动OpenOffice Service
?
?
1 cd C:\Program Files\OpenOffice.org 3\program
2 soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
Step3:将JODConverter的Jar档放进专案中的Library, 请检查你的专案是否包含以下的Jar档:
jodconverter-2.2.1.jar
jurt-2.3.0.jar
xstream-1.2.2.jar
ridl-2.3.0.jar
commons-io-1.3.1.jar
juh-2.3.0.jar
slf4j-api-1.4.3.jar
unoil-2.3.0.jar
slf4j-jdk14-1.4.3.jar
Step4: 准备一个word档放在c:/document.doc
Step5: 执行以下程式
?
![[JODConverter]word转pdf经验分享(转)](http://img.reader8.com/uploadfile/jiaocheng/20140190/2822/2014012819223636599.png)
![[JODConverter]word转pdf经验分享(转)](http://img.reader8.com/uploadfile/jiaocheng/20140190/2822/2014012819223636600.gif)
![[JODConverter]word转pdf经验分享(转)](http://img.reader8.com/uploadfile/jiaocheng/20140190/2822/2014012819223636599.png)
![[JODConverter]word转pdf经验分享(转)](http://img.reader8.com/uploadfile/jiaocheng/20140190/2822/2014012819223636600.gif)
![[JODConverter]word转pdf经验分享(转)](http://img.reader8.com/uploadfile/jiaocheng/20140190/2822/2014012819223636599.png)
![[JODConverter]word转pdf经验分享(转)](http://img.reader8.com/uploadfile/jiaocheng/20140190/2822/2014012819223636600.gif)
![[JODConverter]word转pdf经验分享(转)](http://img.reader8.com/uploadfile/jiaocheng/20140190/2822/2014012819223636599.png)
![[JODConverter]word转pdf经验分享(转)](http://img.reader8.com/uploadfile/jiaocheng/20140190/2822/2014012819223636600.gif)
- DocumentFormat sxd = new DocumentFormat("OpenOffice.org 1.0 Drawing", DocumentFamily.DRAWING, "application/vnd.sun.xml.sraw", "sxd"); DocumentFormat odf = new DocumentFormat("OpenDocument Math", DocumentFamily.TEXT, "application/vnd.oasis.opendocument.formula", "odf");
所有 default support 的 DocumentFormat 都在 com.artofsolving.jodconverter.DefaultDocumentFormatRegistry ,但非所有 open office 支援的 file format 都有,所以要像上面的方法自行去定义 DocumentFormat,至于它里面的参数可以从jodconverter-2.2.2.jar包的com.artofsolving.jodconverter包下的document-formats.xml文件里面得到,这样就可以完成多种格式的转换,如open office,ms office , wps office及所有的纯文本文件。
?
?