文档介绍:Java FlexPaper swfTools_仿百度文库文档在线预览系统设计与实现
最近在给客户开发文档管理系统时,客户要求上传到管理系统的文档(包括ppt,word,excel,txt)只能预览不允许下载。想到了百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash来播放文档的,在网上查阅了大量资料,终于实现了该项功能,现将自己的设计和实现整理如下,自己可以试试。
一、如何将文档转成flash支持的swf文件实现在线播放?
、word、excel、txt类型的文档转换成pdf
,然后利用FlexPaper插件实现在线播放预览。
二、具体实现
(1)安装openoffice,openoffice是开源免费的文字处理软件,它可以将office文档转成pdf文件(笔者安装到D:\Program Files),openOffice下载地址nload/
(2)安装完openoffice后必须启动其server,以命令行方式启动openoffice server。进入cmd命令行提示符D:\Program Files\ 3\program\
键入如下命令:
soffice -headless -accept="socket,host=,port=8100;urp;" –nofirststartwizard
,说明openoffice启动成功!
(3)安装swfTools(安装到 D:\Program Files)swftools作用是将pdf转换为swf文件以便flexpaper播放。下载地址:
(4)下载flexpaper,下载地址:http://flexpaper./download/
,下载后将其解压备用。
(5)下载OpenDocument文档转换器 JODConverter,JODConverter是一个java的OpenDucument文件转换器,可以进行许多文件格式的转换,它利用OpenOffice来进行转换工作,它能进行以下的转换工作:
Office格式转换为OpenDucument,以及OpenDucument转换为Microsoft Office
,Word、Excel、PowerPoint转换为PDF,RTF转换为PDF等。
下载地址:/projects/jodconverter/files/
我们后面开发主要用它的jodconverter-
(1)启动Eclipse,新建web项目名称为ctcesims
(2)将上面第4步解压的flexpaper文件中的js文件夹(,,,这三个js文件主要是预览swf文件的插件)拷贝至网站根目录;(该文件主要是用在网页中播放swf文件的播放器),目录结构如下图
(3)
[html] view plaincopy
<%@ page language="java" contentType="text/html; charset=UTF-8"  
    pageEncoding="UTF-8"%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML  Transitional//EN" "/html4/">  
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<title>文档在线预览系统</title>  
<style>  
    body {margin-top:100px;background:#fff;font-family: Verdana, Tahoma;}  
    a {color:#CE4614;}  
    #msg-box {color: #CE4614; font-size:;text-align:center;}  
    #msg-box .logo {border-bottom:5px solid #ECE5