利用flexpaper开发类似百度文库功能,在线浏览WORD文档
2013-07-10 14:08
477 查看
领导想要个在线文档浏览的系统,自己搜集了下网络上的资料,最后实现了一个类似的功能。
先上图,最终实现的效果。
开发之前的准备
1.openoffice
用来将word文档等转化成pdf 下载地址
http://sourceforge.net/projects/openofficeorg.mirror/files/localized/zh-cn/3.4.1/Apache_OpenOffice_incubating_3.4.1_Win_x86_install_zh-cn.exe/download
这里用的是openoffice3.4
2.swftools
用来把PDF转化成swf。我们最终就是在flexpaper中播放这个转化后的swf文件
下载地址
http://www.swftools.org/swftools-2013-04-09-1007.exe
3.jodconverter jar包
4.flexpaper_flash.js
5.flexpaper
flexpaper : https://code.google.com/p/flexpaper/
第一步,先把上传的office文件转化成pdf文件
第二步,把pdf文件转化成swf,比较简单,因为在win环境,所以
最后在页面中引入
先上图,最终实现的效果。
开发之前的准备
1.openoffice
用来将word文档等转化成pdf 下载地址
http://sourceforge.net/projects/openofficeorg.mirror/files/localized/zh-cn/3.4.1/Apache_OpenOffice_incubating_3.4.1_Win_x86_install_zh-cn.exe/download
这里用的是openoffice3.4
2.swftools
用来把PDF转化成swf。我们最终就是在flexpaper中播放这个转化后的swf文件
下载地址
http://www.swftools.org/swftools-2013-04-09-1007.exe
3.jodconverter jar包
4.flexpaper_flash.js
5.flexpaper
flexpaper : https://code.google.com/p/flexpaper/
第一步,先把上传的office文件转化成pdf文件
DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration(); configuration.setOfficeHome(OpenOffice_HOME);//openoffice安装路径 configuration.setPortNumbers(Integer.parseInt(port_Str));//openoffice服务端口 默认是 8100 configuration.setTaskExecutionTimeout(1000*60*5l); configuration.setTaskQueueTimeout(1000*60*60*24); OfficeManager officeManager = configuration.buildOfficeManager(); officeManager.start(); //启动openoffice服务 OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager); converter.convert(inputFile, outputFile);//文档存放的绝对路径,outFile为生成pdf文件存放的位置 officeManager.stop();
第二步,把pdf文件转化成swf,比较简单,因为在win环境,所以
String command = toolFile + " \"" + sourceFile + "\" -o \"" + outFile + "\" -f -T 9 -t -s storeallcharacters ";//toolFile pdf2swf.exe的绝对路径,如C:/Program Files/SWFTools/pdf2swf.exe, //souceFile pdf文件的绝对路径,outFile 生成的swf文件路径 try { Process process = Runtime.getRuntime().exec(command); System.out.println(loadStream(process.getInputStream())); System.err.println(loadStream(process.getErrorStream())); System.out.println(loadStream(process.getInputStream())); System.out.println("###--Msg: swf 转换成功"); } catch (Exception e) { e.printStackTrace(); }
最后在页面中引入
<div style="width:820px; float:left;"><a id="viewerPlaceHolder" style="width: 820px; height: 600px; display: block;float:left;"></a> <script type="text/javascript"> var fp = new FlexPaperViewer( 'flexpaper/flexpaper', 'viewerPlaceHolder', { config : { SwfFile : escape('swf的路径'), Scale : 0.6, ZoomTransition : 'easeOut', ZoomTime : 0.5, ZoomInterval : 0.2, FitPageOnLoad : true, FitWidthOnLoad : true, FullScreenAsMaxWindow : false, ProgressiveLoading : false, MinZoomSize : 0.2, MaxZoomSize : 5, SearchMatchAll : false, InitViewMode : 'Portrait', PrintPaperAsBitmap : false, ViewModeToolsVisible : true, ZoomToolsVisible : true, NavToolsVisible : true, CursorToolsVisible : true, SearchToolsVisible : true, localeChain: 'zh_CN' }}); </script> </div>
相关文章推荐
- 利用FlexPaper模仿百度文库实现文档的在线浏览
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- 利用FlexPaper实现Word、PPT、PDF在线浏览
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- php实现word文档在线浏览功能,配置安装手记
- php实现word文档在线浏览功能,配置安装手记 (转载)
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- word文档在页面上浏览,类似百度文库形式
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](六) 之 flexpaper在线浏览swf文档
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)
- 利用FlexPaper实现Word、PPT、PDF在线浏览
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](六) 之 flexpaper在线浏览swf文档
- 类似百度文库的在线浏览功能