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

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

一. 使用PDF2SWF准备好你的文档

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

1.下载安装 SwfTools,当前最新版本是0.9

2. 转换PDF到SWF,可以通过命令行的方式,例如将Paper3.pdf转换成Paper3.swf

C:\SWFTools\pdf2swf Paper3.pdf -o Paper3.swf

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

下载并解压出已经编译好的FlexPaper

zip文件包含一个例子文件叫做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中使用FlexPaper

1. 下载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 plaincopy

/**

* 将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

}

}

如果遇到PDF2SWF转换只有一页的PDF文档,在FlexPaper不显示,在执行的命令后面加上“-T 9”转换成flash 9 格式即可解决。

实现功能当盒子的总宽大于了父盒子的宽,在浮动布局情况下会掉下来。代码(code)是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11736276.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存