目录仿百度文库解决方案(一)——总体思路 仿百度文库解决方案(二)——利用Jacob调用MS Office转换文档为PDF 仿百度文库解决方案(三)——利用JCom调用MS Office或者Acrobat API转换文档为PDF 仿百度文库解决方案(四)——利用JODConverter调用OpenOffice.org服务转换文档为PDF 仿百度文库解决方案(五)——利用SWFTools转换PDF文档为SWF 仿百度文库解决方案(六)——利用FlexPaper显示Flash(SWF)
1. JODConverter简介JODConverter,是一个Java的OpenDocument文件转换器,可以进行许多文件格式的转换。它依赖于OpenOffice.org或者LibreOffice提供的服务来进行转换,它能将Microsoft Office文档(Word,Excel,PowerPoint)转换为PDF格式。 你可以将JODConverter内嵌在Java应用程序里,也可以单独作为命令行由脚本调用,更可以应用为网页程序或者Web Service以供网络应用。 (1) 转换文档范例: ![]() (2) 主要类说明: OfficeManager是一个接口,主要定义了三个方法:
DefaultOfficeManagerConfiguration是一个实现了OfficeManager接口的实体类,其提供了相关方法配置OpenOffice.org,比如: public DefaultOfficeManagerConfiguration setOfficeHome(String officeHome)设置OpenOffice.org或者LibreOffice安装目录,windows下默认值为” C:\Program Files\OpenOffice.org 3”(LibreOffice进行相应更改),因此如果OpenOffice.org安装在别的目录,必须设置此项。 public DefaultOfficeManagerConfiguration setConnectionProtocol(OfficeConnectionProtocol conn)设置连接协议,确定使用管道通信,还是socekt通信。 pubcli DefaultOfficeManagerConfiguration setTemplateProfileDir(File templateProfileDir)设定临时目录。 除以上几个方法之外,DefaultOfficeManagerConfiguration还提供了别的配置OpenOffice.org的方法,具体方法可以查询JODConverter API手册。配置完之后,必须要执行方法buildOfficeManager(),实现真正的配置。 OfficeDocumentConverter中主要包含convert方法,该方法实际上调用的是实现OfficeManager接口的类中的execute方法。 2. 利用JODConverter转化文档为PDF格式实现2.1 算法设计算法流程图如图4-1所示: 图4-1 JODConverter调用OpenOffice服务转换文档为PDF算法 第一步,启动OpenOffice服务。例如,首先设定DefaultOfficeManagerConfiguration相关参数来配置OpenOffice,并得到OfficeManager。调用OfficeManager实现类的start方法启动服务。 第二步,转换文档。例如,初始化OfficeDocumentConverter,调用其convert方法执行转换。 第三步,停止OpenOffice服务。例如,调用OfficeManager实现类的stop方法停止方法。 2.2 安装配置JODConverter是一个开源文档转换工具,既可以应用于Linux平台,也可其应用于Windows平台。其基于OpenOffice.org或者LibreOffice。因此,文档转换服务器上必须安装有OpenOffice或者LibreOffice。 目前最新版本的JODConverter为JODConverter3.0,它要求JDK1.5以上的Java环境,同时还需要OpenOffice.org 3.x版本。本文基于最新版本3.0设计实现,如果是版本为2,则有不同的实现。(版本2需要手动启动OpenOffice.org服务,或者创建Windows服务设置为开机启动,而版本3提供了开启服务的接口,因此笔者用的是版本3) 2.3 实现代码![]()
注: 源代码下载地址:DocConverter 转载说明:本文系作者原创,转载时请注明文章出处:肖恩也有梦想 博客园,请尊重作者的劳动成果,谢谢! |
|