项目需求:服务器接受的文件当下只能下载之后才能浏览内容,现需要后台能在线浏览到文件内容,避免繁琐无用文件下载操作.
通过几天网上资料搜索,目前免费的在线预览开发技术使用最多还是(openoffice+swftools+flexpaper),经过2天的学习,终于在本地测试成功,后在服务器搭建环境也成功上线.
1.概述
主要原理:
1.通过第三方工具openoffice,将word、excel、ppt、txt等文件转换为pdf文件
2.通过swfTools将pdf文件转换成swf格式的文件
3.通过FlexPaper文档组件在页面上进行展示
2.安装包下载
1.openoffice是Apache下的一个开放免费的文字处理软件
下载地址:Apache oppenoffice 官网下载 版本-3.4.1
2.SWFTools是一组用来处理Flash的swf文件的工具包,我们使用它将pdf文件转成swf文件!
下载地址:SWFTools官网下载 swftools-2013-04-09-1007.exe
3.FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组件
下载地址:FlexPaper官网下载 版本1.4.0(可选择新版)
4.JODConverter一个Java的OpenDocument 文件转换器,在此我们只用到它的jar包
下载地址:JODCConverter下载
openoffice与SWFTools下载完直接安装就好了,openoffice需要开启相应服务,进入安装目录,进入program文件,在此处打开命令行,或者CMD选择cd到这个文件,然后输入命令soffice -headless -accept=”socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard
4、引入项目
主要用到的就是其中flexpaper_flash.js和FlexPaperViewer.swf。html页面是Demo格式,可以根据格式自定义自己的显示页面,两个swf文件是测试文件,你直接访问FlexPaperViewer.html指向的是Paper.swf.如果显示成功表示你环境搭建好了.
另外我的是maven项目,jar包是统一管理的.其他项目可以直接把下载的JODConverter文件里面的lib包导入项目中即可.
所有的相关jar包依赖如下:
<dependency>
<groupId>com.artofsolving</groupId>
<artifactId>jodconverter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>com.artofsolving</groupId>
<artifactId>jodconverter-cli</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>juh</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>