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. *@paramfileName文件的绝对路径
  4. *@paramdestPath目标路径
  5. *@return-1:源文件不存在,-2:格式不正确,-3:发生异常,0:转化成功
  6. *@authorfanglmcreatedonJul9,20101:13:04PM
  7. */
  8. publicstaticintConvertPdfToSwf(StringfileName,StringdestPath){
  9. StringdestName="",fileExt="";
  10. StringBuffercommand=newStringBuffer();
  11. fileExt=fileName.split("\\.")[fileName.split("\\.").length-1].toLowerCase();
  12. try{
  13. Filefile=newFile(fileName);
  14. if(!file.exists()){//判断源文件是否存在
  15. return-1;
  16. }elseif(!fileExt.equals("pdf")){//判断文件是否是pdf格式的文件
  17. return-2;
  18. }
  19. else{
  20. StringswftoolsPath="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. FiledestFile=newFile(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. Processpro=Runtime.getRuntime().exec(command.toString());
  34. BufferedReaderbuffer=newBufferedReader(newInputStreamReader(pro.getInputStream()));
  35. while(buffer.readLine()!=null);
  36. returnpro.exitValue();
  37. }
  38. }catch(Exceptione){
  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阅读器了。

你可能感兴趣的:(html,tomcat,浏览器,Flex,Flash)