在线文档阅读开发手记(二)
上一节介绍了在线文档阅读功能开发的一些需要用到组件,还运行了一个简单的示例,在这一节中,我们将学习一下JODConverter自带的一个Web应用,了解如何在Web应用中运行OpenOffice文档转换服务来转换Office文档。
在上一节中,我们从SVN资源库中下载了两个应用,其中有一个是jodconverter-sample-webapp,这个应用就是以Web方式运行OpenOffice文档转换服务的,咱们来打开看一下:
这就是这个应用的目录结构,包含三个java文件,分别是一个处理转换请求的Servlet,一个WebappContext,从名字看应该是应用的一些上下文信息,还有一个Listener,另外还有一个文档格式的JS文件与一个jsp文件,很简单的一个应用,简单也好,我们可以比较容易明白。
咱们首先打开web.xml文件,对于一个Web应用来说,web.xml文件就是这个应用的描述,一个应用包含了一些什么样的组件,一些什么样的配置信息都会在web.xml文件里面体现,然后我们就可以顺藤摸瓜,了解这个应用的一切。
从上图可以看到,这个web.xml文件主要包含三个方面的内容,一个是WebApp的上下文参数,第二个是配置了一个侦听器,第三个就是处理转换请求的Servlet配置,第一个部分的代码现在是注释的,咱们从第二个Linstener开始了解,打开这个侦听器的源码:
这个的代码更简单,就是实现了侦听器的两个方法,init方法和destory方法,并且分别调用了WebappContext类的init方法和destory方法,并且把当前ServletContext当作参数传递过去,可以知道重点在WebappContext类里面,打开WebappContext类,里边主要有四个方法:
咱们一个一个方法来看:
代码主要有两部分,第一部分是初始化文件上传的参数,设置最大允许上传的文件大小,第二部分根据web.xml文件设置的OpenOffice相关参数,初始化OpenOffice文档转换服务配置DefaultOfficeManagerConfiguration,并且构建一个OfficeManager和DocumentConverter的实例,这个两个类一个是用来根据DefaultOfficeManagerConfiguration启动OpenOffice文档转换服务,一个用来执行转换任务。
下面的几个方法相对都比较简单:

根据注释其实已经很清晰了,这个类和WebappContextListener两个类的作用就是在Web应用启动时启动OpenOffice文档转换服务,在应用关闭时停止OpenOffice文档转换服务,剩下的那个类就是执行文档转换的主体了,咱们接着看:
四个方法,下面的三个方法咱们可以忽略不计,不同的文件上传组件获取文件的方式不一样,自己去了解一下。
主要是doPost()方法:
第一部分:
第二部分:
在这个方法里面,主要起作用的就是这个两个部分,其实也挺简单的,因为所有的操作都已经封装好了,我们只需要调用就可以了,下面咱们把这个应用部署到Tomcat里面来体验一下。
启动Tomcat,访问应用:
很简单的一个页面,咱们点击浏览选择一个Office文件,然后点击Convert!
网页弹出了一个文件下载框,咱们点击打开或者保存,看,一个PDF文件就转换好了,简单吧。
这一节就先到这里,下一节给大家介绍FlexPaper组件。






浙公网安备 33010602011771号