flex中doc、pdf等的在线浏览

 这几天看了一下在线浏览的实现,在网上看了些资料后发现实现的方法都大致相同,一般有一下几个步骤:

   1. 将各类文件转换到pdf,这里需要用到的工具是OpenOffice。

         利用OpenOffice将.doc,.xls,.ppt,.txt等文件转换成pdf需要以下几个步骤:

         1) 安装OpenOffice 3:下载路径:http://zh.openoffice.org/index_gb.html      

         2) 用以下命令启动OpenOffice服务

           cd C:/Program Files/OpenOffice.org 3/program

                 soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 

         3)用第三方包: JODConverter v2.2.1实现转换  附demo:http://download.csdn.net/source/2821904

  1. public void doc2pdf() throws ConnectException{  
  2.         File input = new File("C://2swf//test.ppt");  
  3.         File output = new File("C://2swf//testppt2pdf.pdf");  
  4.         //DocumentFormat stw = new DocumentFormat("OpenOffice.org 1.0 Template", DocumentFamily.PRESENTATION, "application/vnd.sun.xml.writer", "stw");   
  5.         DefaultDocumentFormatRegistry formatReg = new DefaultDocumentFormatRegistry();   
  6.         DocumentFormat pdf = formatReg.getFormatByFileExtension("pdf");   
  7.         DocumentFormat ppt = formatReg.getFormatByFileExtension("ppt");  
  8.         OpenOfficeConnection ooc = new SocketOpenOfficeConnection(8100);  
  9.         try{  
  10.             ooc.connect();  
  11.             DocumentConverter convert = new OpenOfficeDocumentConverter(ooc);  
  12.             convert.convert(input, ppt, output, pdf);  
  13.         }catch (Exception e) {  
  14.             e.printStackTrace();  
  15.         }finally{  
  16.             try{  
  17.                 if(ooc != null){  
  18.                     ooc.disconnect();  
  19.                     ooc = null;  
  20.                 }  
  21.             }catch (Exception e) {  
  22.                 e.printStackTrace();  
  23.             }  
  24.         }  
 

 

   2. 将pdf转换成swf文件,需要用到swftools.

              可以在网上下载到的~~~

              在后台只需要一句代码就可以实现转换:

              Process pro = Runtime.getRuntime().exec("C://Program Files//SWFTools//pdf2swf.exe C:/test.pdf C:/test.swf");//起一个线程调用pdf2swf.exe进行转换。

    3. 把swf文件在浏览器上显示出来,需要用到FlexPaper_1.4.0_swc。附:http://download.csdn.net/source/2817848

              要将已经转换好的swf文件显示出来,只需要将下载的FlexPaper.swc添加到flex工程中即可,在flex页面上的代码如下:

 

  1. <flexpaper:FlexPaperViewer width="800" height="500" Scale="1" SwfFile="../upload/test.swf" id="fp_viewSwf">  
  2.       
  3. </flexpaper:FlexPaperViewer>  
 

 

       附上效果图:

       

       这就是这几天的一些总结了,希望对各位有所帮助,水平有限,忘各位大虾不吝赐教~~~

本文转自:http://blog.csdn.net/qing_feixiang/archive/2010/11/10/6001549.aspx

posted on 2011-01-22 21:22  分布式编程  阅读(117)  评论(0编辑  收藏  举报

导航