百度文库是如何实现在线阅读doc pdf ppt xls文档的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度文库是如何实现在线阅读doc pdf ppt xls文档的相关的知识,希望对你有一定的参考价值。

android ios
百度文库 是如何实现在线阅读doc pdf ppt xls文档的

  你好
  .
  百度文库其实在在用户上传文档时,将doc pdf ppt xls文档的格式通通转换为FLASH动画图片格式用来显示,

  而只要能上网的电脑或手机里,默认都会安装浏览器的FLASH插件的,所以就都能打开查看,只有使用文库下载时,才会得到该文档原来的格式,

  换句话说,我认为百度文库在用户上传文档时.文档存存为2份,一份原来的格式,隐在后台用来提供下载,另一份是转化为FLASH动画图片格式用来显示提供给用户浏览,原来这样做是为了防止用户使用复制功能抄走有用的内容,不过目前百度文库自己也开放复制功能了,

  祝顺利,如有帮助,还望及时采纳.
参考技术A .
百度文库其实在在用户上传文档时,将doc pdf ppt xls文档的格式通通转换为FLASH动画图片格式用来显示,

而只要能上网的电脑或手机里,默认都会安装浏览器的FLASH插件的,所以就都能打开查看,只有使用文库下载时,才会得到该文档原来的格式,

换句话说,我认为百度文库在用户上传文档时.文档存存为2份,一份原来的格式,隐在后台用来提供下载,另一份是转化为FLASH动画图片格式用来显示提供给用户浏览,原来这样做是为了防止用户使用复制功能抄走有用的内容,不过目前百度文库自己也开放复制功能了。

《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

以上是关于百度文库是如何实现在线阅读doc pdf ppt xls文档的的主要内容,如果未能解决你的问题,请参考以下文章

仿百度文库,在线文库网站制作,文库网站定制

百度文库的实现——java利用openoffice,word转pdf

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

三百多个资源网站,熬夜爆肝整理,各行各业都有全网最全

前端实现文件在线预览txt,pdf,doc,xls,ppt几种格式

急!!C# WPF 中实现百度文库的功能,可以显示多种文件格式例如Word、Excel、Pdf,有没有大侠可以帮助一下