zoukankan      html  css  js  c++  java
  • 《Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现》

    Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现

    笔者最近在给客户开发文档管理系统时,客户要求上传到管理系统的文档(包括ppt,word,excel,txt)只能预览不允许下载。笔者想到了百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash来播放文档的,在网上查阅了大量资料,终于实现了该项功能,现将自己的设计和实现整理如下。

    一、如何将文档转成flash支持的swf文件实现在线播放?
    1.先用openOffice把ppt、word、excel、txt类型的文档转换成pdf
    2.用swftools将pdf转换成swf,然后利用FlexPaper插件实现在线播放预览。
    二、具体实现
    1.安装必备工具组件
    (1)安装openoffice,openoffice是开源免费的文字处理软件,它可以将office文档转成pdf文件(笔者安装到D:Program Files),openOffice下载地址http://www.openoffice.org/download/index.html
    (2)安装完openoffice后必须启动其server,以命令行方式启动openoffice server。进入cmd命令行提示符D:Program FilesOpenOffice.org 3program
    键入如下命令:
    soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" –nofirststartwizard
    进入windows任务管理器查看有个进程soffice.bin,说明openoffice启动成功!
    (3)安装swfTools(安装到 D:Program Files)swftools作用是将pdf转换为swf文件以便flexpaper播放。下载地址:http://www.swftools.org/download.html
    (4)下载flexpaper,下载地址:http://flexpaper.devaldi.com/download/
    笔者下载的是FlexPaper_1.5.1,下载后将其解压备用。
    (5)下载OpenDocument文档转换器 JODConverter,JODConverter是一个java的OpenDucument文件转换器,可以进行许多文件格式的转换,它利用OpenOffice来进行转换工作,它能进行以下的转换工作:
    a.Microsoft Office格式转换为OpenDucument,以及OpenDucument转换为Microsoft Office
    b.OpenDucument转换为PDF,Word、Excel、PowerPoint转换为PDF,RTF转换为PDF等。
    下载地址:http://sourceforge.net/projects/jodconverter/files/
    我们后面开发主要用它的jodconverter-2.2.2.jar包

    2.软件开发过程
    (1)启动Eclipse,新建web项目名称为ctcesims
    (2)将上面第4步解压的flexpaper文件中的js文件夹(包含了flexpaper_flash_debug.js,flexpaper_flash.js,jquery.js,这三个js文件主要是预览swf文件的插件)拷贝至网站根目录;将FlexPaperViewer.swf拷贝至网站根目录下(该文件主要是用在网页中播放swf文件的播放器),目录结构如下图
    (3)创建documentUpload.jsp文件

    pageEncoding

    (4)创建文档转换类DocConverter.java

    package

    (5)创建文档上传转换处理文件docUploadConvertAction.jsp文件

    pageEncoding

    (6)创建文档预览文件documentView.jsp

    pageEncoding

    7.启动tomcat,部署当前web应用
    8.地址栏输入http://localhost:8080/ctcesims/documentUpload.jsp 如下图:

    单击选择文件,选择您要上传的文档,笔者选择的是lunwen.doc文件,然后单击上传,处理完成后,打印如下信息,如下图所示:
    单击预览按钮,就会生成预览界面,如下图:
    9.若出现swf无法预览,请访问
    http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065将生成swf的文件夹设置为信任文件位置。
    由于时间仓促,以上只是简单示例,很多情况还需要进一步考虑!

    10.如果pdf文件过大,则需要按页生成一个个swf文件,那么在使用swftools的pdf2swf命令时,对生成的swf的文件命名采用%.swf命名即可,例如pdf2swf test.pdf d:swf\%.swf

    参考资料:
    http://blog.csdn.net/iamduoluo/article/details/6727031
    http://www.cnblogs.com/star-studio/archive/2011/12/09/2282411.html#2497889

  • 相关阅读:
    python note 30 断点续传
    python note 29 线程创建
    python note 28 socketserver
    python note 27 粘包
    python note 26 socket
    python note 25 约束
    Sed 用法
    python note 24 反射
    python note 23 组合
    python note 22 面向对象成员
  • 原文地址:https://www.cnblogs.com/cx2016/p/12191838.html
Copyright © 2011-2022 走看看