• 《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

  • 相关阅读:
    .NET设计模式外观模式(Façade Pattern)
    .NET设计模式创建型模式专题总结(Creational Pattern)
    MFC深入浅出消息映射的实现
    .NET设计模式代理模式(Proxy Pattern)
    .NET设计模式工厂方法模式(Factory Method)
    Web Services Security (转)
    MYSQL数据库的查询优化技术
    U盘插入拔出提示
    SQL存储过程(ASP.NET)
    在SQL Server中使用种子表生成流水号注意顺序
  • 原文地址:https://www.cnblogs.com/cx2016/p/12191838.html
Copyright © 2020-2023  润新知