flex实现文件下载|如何使用FLEX在线显示WORD文档 或PDF文件

1. 如何使用FLEX在线显示WORD文档 或PDF文件

一. 使用PDF2SWF准备好你的文档首先要将PDF转成SWF,这步可以使用开源的SwfTools自动完成1.下载安装 SwfTools,当前最新版本是0.92. 转换PDF到SWF,可以通过命令行的方式,例如将Paper3.pdf转换成Paper3.swfC:\SWFTools\pdf2swf Paper3.pdf -o Paper3.swf二. 使肆备用已裂闭毁经编译好的FlexPaper的flash版本浏览你的文档下载并解压出已经编译好的FlexPaperzip文件包含一个例子文件叫做FlexPaperViewer.html,它向你展示了需要传给FlexPaper的 基本参数var params = {SwfFile : "Paper.swf",Scale : 0.6}swfobject.embedSWF("FlexPaperViewer.swf","cb","500","500","9.0.0","js/swfobject/expressInstall.swf", params);//SwfFile参数是你想显示的文件,Scale是0-1之间的数,表示显示的放大参数复制你创建出来的swf和PDF2SWF到解压缩出的相同目录确定你添加了FlexPaperViewer.swf三. 在Flex中使用FlexPaper1. 下载FlexPaper SWC,添加到你的Flex项目libs中2. 复制你用PDF2SWF创建的SWF到你的bin-debug目录,如Paper3.swf,添加FlexPaper组 件到你的flex代码中Xml代码<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="800" height="500" xmlns:flexpaper="com.devaldi.controls.flexpaper.*"> <flexpaper:FlexPaperViewer width="800" height="500" Scale="1" SwfFile="Paper3.swf" /> </mx:Application>网友写的一个方法可以利用java转化pdf为swf:[java] view plain/*** 将pdf文件转化成swf文件* @param fileName 文件的绝对路径* @param destPath 目标路径* @return -1:源文件不存在,-2:格式不正确,-3:发生异常,0:转化成功* @author fanglm created on Jul 9, 2010 1:13:04 PM*/public static int ConvertPdfToSwf(String fileName,String destPath){String destName = "",fileExt = "";StringBuffer command = new StringBuffer();fileExt = fileName.split("//.")[fileName.split("//.").length-1].toLowerCase();try{File file = new File(fileName);if(!file.exists()){//判断源文件是否存在return -1;}else if(!fileExt.equals("pdf")){//判断文件是否是pdf格式的文件return -2;}else{String swftoolsPath = "D://SWFTools";//获取pdf转swf工具的路径if(!swftoolsPath.substring(swftoolsPath.length()-1, swftoolsPath.length()).equals("//")){swftoolsPath = swftoolsPath+"//"; //在目录后加 "态裤/"}if(!destPath.substring(destPath.length()-1, destPath.length()).equals("//")){destPath = destPath+"//"; //在目录后加 "/"}File destFile = new File(destPath);if(!destFile.exists()){//目标文件路径如果不存在,则创建目录destFile.mkdirs();}destName = file.getName().substring(0, file.getName().length()-4)+".swf";//目标文件名称command.append(swftoolsPath).append("pdf2swf.exe ").append(fileName).append(" -o ").append(destPath).append(destName);Process pro = Runtime.getRuntime().exec(command.toString());BufferedReader buffer = new BufferedReader(new InputStreamReader(pro.getInputStream()));while(buffer.readLine()!=null);return pro.exitValue();}}catch (Exception e){e.printStackTrace();return -3;}}


赞 (0)