FlexPaper在线显示PDF转SWF文件

FlexPaper是一个被设计用来与PDF2SWF一起使用,开源轻量级的在浏览器上显示各种文档的组件, 使在Flex中显示PDF成为可能,而这个过程并无需PDF软件环境的支持。它可以被当做Flex的库来使用。也可以通过将一些例如Word、PPT等文档转成PDF,然后实现在线浏览。

一. 使用PDF2SWF转化你的pdf文件

     
    首先要将PDF转成SWF,这步可以使用开源的SwfTools自动完成

    1.到http://www.swftools.org/download.html下载安装 SwfTools,当前最新版本是0.9.1
    2.转换PDF到SWF,可以通过命令行的方式,例如将Paper3.pdf转换成Paper3.swf
        C:/SWFTools/pdf2swf Paper3.pdf -o Paper3.swf

    我写了一个方法,可以利用JAVA转化pdf为swf。

 

  1. /**  
  2.      * 将pdf文件转化成swf文件   
  3.      * @param fileName 文件的绝对路径  
  4.      * @param destPath 目标路径  
  5.      * @return -1:源文件不存在,-2:格式不正确,-3:发生异常,0:转化成功   
  6.      * @author fanglm created on Jul 9, 2010 1:13:04 PM  
  7.      */  
  8.     public static int ConvertPdfToSwf(String fileName,String destPath){   
  9.         String destName = "",fileExt = "";   
  10.         StringBuffer command = new StringBuffer();   
  11.         fileExt = fileName.split("//.")[fileName.split("//.").length-1].toLowerCase();   
  12.         try{   
  13.             File file = new File(fileName);   
  14.             if(!file.exists()){//判断源文件是否存在   
  15.                 return -1;   
  16.             }else if(!fileExt.equals("pdf")){//判断文件是否是pdf格式的文件   
  17.                 return -2;   
  18.             }   
  19.             else{   
  20.                 String swftoolsPath = "D://SWFTools";//获取pdf转swf工具的路径   
  21.                 if(!swftoolsPath.substring(swftoolsPath.length()-1, swftoolsPath.length()).equals("//")){   
  22.                     swftoolsPath = swftoolsPath+"//";    //在目录后加 "/"   
  23.                 }   
  24.                 if(!destPath.substring(destPath.length()-1, destPath.length()).equals("//")){   
  25.                     destPath = destPath+"//";    //在目录后加 "/"   
  26.                 }   
  27.                 File destFile = new File(destPath);   
  28.                 if(!destFile.exists()){//目标文件路径如果不存在,则创建目录   
  29.                     destFile.mkdirs();   
  30.                 }   
  31.                 destName = file.getName().substring(0, file.getName().length()-4)+".swf";//目标文件名称   
  32.                 command.append(swftoolsPath).append("pdf2swf.exe ").append(fileName).append(" -o ").append(destPath).append(destName);   
  33.                 Process pro = Runtime.getRuntime().exec(command.toString());   
  34.                 BufferedReader buffer = new BufferedReader(new InputStreamReader(pro.getInputStream()));   
  35.                 while(buffer.readLine()!=null);   
  36.                 return pro.exitValue();   
  37.             }   
  38.         }catch (Exception e){   
  39.             e.printStackTrace();   
  40.             return -3;   
  41.         }   
  42.     }  


二. 使用已经编译好的FlexPaper的flash版本浏览你的文档

 

     下载并解压FlexPaper-flash版本的zip文件,将解压出的文件放到你的项目下面,如tomcat的webapps目录下,并用转化后生成的swf文件替换原有的paper.swf文件,或者修改FlexPaperViewer.html中的paper.swf文件为你生成的swf文件,重新发布项目即可。

如此,便可在线浏览pdf文件,再也不用安装pdf阅读器了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值