ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:197.72KB ,
资源ID:2493065      下载积分:7 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2493065.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(java-flexpaper-swftools仿百度文库文档在线预览系统设计与实现.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

java-flexpaper-swftools仿百度文库文档在线预览系统设计与实现.doc

1、Java FlexPaper swfTools_仿百度文库文档在线预览系统设计与实现最近在给客户开发文档管理系统时,客户要求上传到管理系统的文档(包括ppt,word,excel,txt)只能预览不允许下载。想到了百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash来播放文档的,在网上查阅了大量资料,终于实现了该项功能,现将自己的设计和实现整理如下,自己可以试试。一、如何将文档转成flash支持的swf文件实现在线播放?1.先用openOffice把ppt、word、excel、txt类型的文档转换成pdf2.用swftools将pdf转换成swf,然后利用FlexPaper插件实现

2、在线播放预览。二、具体实现1.安装必备工具组件(1)安装openoffice,openoffice是开源免费的文字处理软件,它可以将office文档转成pdf文件(笔者安装到D:ProgramFiles),openOffice下载地址http:/www.openoffice.org/download/index.html(2)安装完openoffice后必须启动其server,以命令行方式启动openoffice server。进入cmd命令行提示符D:Program FilesOpenOffice.org 3program键入如下命令:soffice -headless -accept=so

3、cket,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,下载地址:笔者下载的是FlexPaper_1.5.1,下载后将其解压备用。(5)下载OpenDocument文档转换器 JODConverte

4、r,JODConverter是一个java的OpenDucument文件转换器,可以进行许多文件格式的转换,它利用OpenOffice来进行转换工作,它能进行以下的转换工作:a.Microsoft Office格式转换为OpenDucument,以及OpenDucument转换为Microsoft Officeb.OpenDucument转换为PDF,Word、Excel、PowerPoint转换为PDF,RTF转换为PDF等。下载地址:我们后面开发主要用它的jodconverter-2.2.2.jar包2.软件开发过程(1)启动Eclipse,新建web项目名称为ctcesims(2)将上面

5、第4步解压的flexpaper文件中的js文件夹(包含了flexpaper_flash_debug.js,flexpaper_flash.js,jquery.js,这三个js文件主要是预览swf文件的插件)拷贝至网站根目录;将FlexPaperViewer.swf拷贝至网站根目录下(该文件主要是用在网页中播放swf文件的播放器),目录结构如下图(3)创建documentUpload.jsp文件htmlview plaincopy1. 3. 4. 5. 6. 7. 文档在线预览系统8. 9. bodymargin-top:100px;background:#fff;font-family:Ver

6、dana,Tahoma;10. acolor:#CE4614;11. #msg-boxcolor:#CE4614;font-size:0.9em;text-align:center;12. #msg-box.logoborder-bottom:5pxsolid#ECE5D9;margin-bottom:20px;padding-bottom:10px;13. #msg-box.titlefont-size:1.4em;font-weight:bold;margin:0030px0;14. #msg-box.navmargin-top:20px;15. 16. 17. 18. 19. 20. 2

7、1. 22. 请上传要处理的文件,过程可能需要几分钟,请稍候片刻。23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. (4)创建文档转换类DocConverter.javajavaview plaincopy1. packagecom.cectsims.util;2. importjava.io.BufferedInputStream;3. importjava.io.File;4. importjava.io.IOException;5. importjava.io.InputStream;6. 7. importcom.artofsolving.jodc

8、onverter.DocumentConverter;8. importcom.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;9. importcom.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;10. importcom.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;11. 12. /*13.

9、*docdocx格式转换14. */15. publicclassDocConverter16. privatestaticfinalintenvironment=1;/环境1:windows2:linux17. privateStringfileString;/(只涉及pdf2swf路径问题)18. privateStringoutputPath=;/输入路径,如果不设置就输出在默认的位置19. privateStringfileName;20. privateFilepdfFile;21. privateFileswfFile;22. privateFiledocFile;23. 24.

10、publicDocConverter(StringfileString)25. ini(fileString);26. 27. 28. /*29. *重新设置file30. *31. *paramfileString32. */33. publicvoidsetFile(StringfileString)34. ini(fileString);35. 36. 37. /*38. *初始化39. *40. *paramfileString41. */42. privatevoidini(StringfileString)43. this.fileString=fileString;44. fil

11、eName=fileString.substring(0,fileString.lastIndexOf(.);45. docFile=newFile(fileString);46. pdfFile=newFile(fileName+.pdf);47. swfFile=newFile(fileName+.swf);48. 49. 50. /*51. *转为PDF52. *53. *paramfile54. */55. privatevoiddoc2pdf()throwsException56. if(docFile.exists()57. if(!pdfFile.exists()58. Open

12、OfficeConnectionconnection=newSocketOpenOfficeConnection(8100);59. try60. connection.connect();61. DocumentConverterconverter=newOpenOfficeDocumentConverter(connection);62. converter.convert(docFile,pdfFile);63. /closetheconnection64. connection.disconnect();65. System.out.println(*pdf转换成功,PDF输出:+pd

13、fFile.getPath()+*);66. catch(.ConnectExceptione)67. e.printStackTrace();68. System.out.println(*swf转换器异常,openoffice服务未启动!*);69. throwe;70. catch(com.artofsolving.jodconverter.openoffice.connection.OpenOfficeExceptione)71. e.printStackTrace();72. System.out.println(*swf转换器异常,读取转换文件失败*);73. throwe;74.

14、 catch(Exceptione)75. e.printStackTrace();76. throwe;77. 78. else79. System.out.println(*已经转换为pdf,不需要再进行转化*);80. 81. else82. System.out.println(*swf转换器异常,需要转换的文档不存在,无法转换*);83. 84. 85. 86. /*87. *转换成swf88. */89. SuppressWarnings(unused)90. privatevoidpdf2swf()throwsException91. Runtimer=Runtime.getRu

15、ntime();92. if(!swfFile.exists()93. if(pdfFile.exists()94. if(environment=1)/windows环境处理95. try96. Processp=r.exec(D:/ProgramFiles/SWFTools/pdf2swf.exe+pdfFile.getPath()+-o+swfFile.getPath()+-T9);97. System.out.print(loadStream(p.getInputStream();98. System.err.print(loadStream(p.getErrorStream();99

16、. System.out.print(loadStream(p.getInputStream();100. System.err.println(*swf转换成功,文件输出:101. +swfFile.getPath()+*);102. if(pdfFile.exists()103. pdfFile.delete();104. 105. 106. catch(IOExceptione)107. e.printStackTrace();108. throwe;109. 110. elseif(environment=2)/linux环境处理111. try112. Processp=r.exec

17、(pdf2swf+pdfFile.getPath()113. +-o+swfFile.getPath()+-T9);114. System.out.print(loadStream(p.getInputStream();115. System.err.print(loadStream(p.getErrorStream();116. System.err.println(*swf转换成功,文件输出:117. +swfFile.getPath()+*);118. if(pdfFile.exists()119. pdfFile.delete();120. 121. catch(Exceptione)

18、122. e.printStackTrace();123. throwe;124. 125. 126. else127. System.out.println(*pdf不存在,无法转换*);128. 129. else130. System.out.println(*swf已经存在不需要转换*);131. 132. 133. 134. staticStringloadStream(InputStreamin)throwsIOException135. 136. intptr=0;137. in=newBufferedInputStream(in);138. StringBufferbuffer

19、=newStringBuffer();139. 140. while(ptr=in.read()!=-1)141. buffer.append(char)ptr);142. 143. 144. returnbuffer.toString();145. 146. /*147. *转换主方法148. */149. SuppressWarnings(unused)150. publicbooleanconver()151. 152. if(swfFile.exists()153. System.out.println(*swf转换器开始工作,该文件已经转换为swf*);154. returntrue

20、;155. 156. 157. if(environment=1)158. System.out.println(*swf转换器开始工作,当前设置运行环境windows*);159. else160. System.out.println(*swf转换器开始工作,当前设置运行环境linux*);161. 162. try163. doc2pdf();164. pdf2swf();165. catch(Exceptione)166. e.printStackTrace();167. returnfalse;168. 169. 170. if(swfFile.exists()171. return

21、true;172. else173. returnfalse;174. 175. 176. 177. /*178. *返回文件路径179. *180. *params181. */182. publicStringgetswfPath()183. if(swfFile.exists()184. StringtempString=swfFile.getPath();185. tempString=tempString.replaceAll(,/);186. returntempString;187. else188. return;189. 190. 191. 192. /*193. *设置输出

22、路径194. */195. publicvoidsetOutputPath(StringoutputPath)196. this.outputPath=outputPath;197. if(!outputPath.equals()198. StringrealName=fileName.substring(fileName.lastIndexOf(/),199. fileName.lastIndexOf(.);200. if(outputPath.charAt(outputPath.length()=/)201. swfFile=newFile(outputPath+realName+.swf

23、);202. else203. swfFile=newFile(outputPath+realName+.swf);204. 205. 206. 207. 208. (5)创建文档上传转换处理文件docUploadConvertAction.jsp文件htmlview plaincopy1. 3. 4. 5. 6. 7. 8. 9. %10. /文件上传采用cos组件上传,可更换为commons-fileupload上传,文件上传后,保存在upload文件夹11. /获取文件上传路径12. StringsaveDirectory=application.getRealPath(/)+uploa

24、d;13. /打印上传路径信息14. System.out.println(saveDirectory);15. /每个文件最大50m16. intmaxPostSize=50*1024*1024;17. /采用cos缺省的命名策略,重名后加1,2,3.如果不加dfp重名将覆盖18. DefaultFileRenamePolicydfp=newDefaultFileRenamePolicy();19. /response的编码为UTF-8,同时采用缺省的文件名冲突解决策略,实现上传,如果不加dfp重名将覆盖20. MultipartRequestmulti=newMultipartReques

25、t(request,saveDirectory,maxPostSize,UTF-8,dfp);21. /MultipartRequestmulti=newMultipartRequest(request,saveDirectory,maxPostSize,UTF-8);22. /输出反馈信息23. Enumerationfiles=multi.getFileNames();24. while(files.hasMoreElements()25. System.err.println(ccc);26. Stringname=(String)files.nextElement();27. File

26、f=multi.getFile(name);28. if(f!=null)29. StringfileName=multi.getFilesystemName(name);30. /获取上传文件的扩展名31. StringextName=fileName.substring(fileName.lastIndexOf(.)+1);32. /文件全路径33. StringlastFileName=saveDirectory+fileName;34. /获取需要转换的文件名,将路径名中的替换为/35. Stringconverfilename=saveDirectory.replaceAll(,/)

27、+/+fileName;36. System.out.println(converfilename);37. /调用转换类DocConverter,并将需要转换的文件传递给该类的构造方法38. DocConverterd=newDocConverter(converfilename);39. /调用conver方法开始转换,先执行doc2pdf()将office文件转换为pdf;再执行pdf2swf()将pdf转换为swf;40. d.conver();41. /调用getswfPath()方法,打印转换后的swf文件路径42. System.out.println(d.getswfPath(

28、);43. /生成swf相对路径,以便传递给flexpaper播放器44. Stringswfpath=upload+d.getswfPath().substring(d.getswfPath().lastIndexOf(/);45. System.out.println(swfpath);46. /将相对路径放入sessio中保存47. session.setAttribute(swfpath,swfpath);48. out.println(上传的文件:+lastFileName);49. out.println(文件类型+extName);50. out.println();51. 52

29、. 53. 54. %55. 56. 57. 58. 59. Inserttitlehere60. 61. bodymargin-top:100px;background:#fff;font-family:Verdana,Tahoma;62. acolor:#CE4614;63. #msg-boxcolor:#CE4614;font-size:0.9em;text-align:center;64. #msg-box.logoborder-bottom:5pxsolid#ECE5D9;margin-bottom:20px;padding-bottom:10px;65. #msg-box.titlefont-size:1.4em;font-weight:bold;margin:0030px0;66. #msg-box.navmargin-top:20px;67. 68. 69. 70. 71. 72. 73. 74. 75. 76. (6)创建文档预览文件documentView.jsphtmlview plaincopy1. 3.

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服