`
hbhgjiangkun
  • 浏览: 95573 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

FlexPaper+SWFTools 实现仿百度文库及一些小问题

 
阅读更多

最近要实现类似百度文库在线查看文档的功能,查阅了很多资料,最终觉得FlexPaper+SWFTools 实现比较好,

FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组件,被设计用来与PDF2SWF一起使用, 使在Flex中显示PDF成为可能,

而这个过程并无需PDF软件环境的支持。它可以被当做Flex的库来使用。

另外你也可以通过将一些例如Word、PPT等文档转成PDF(一般我选择用OpenOffice.http://download.openoffice.org/index.html),然后实现在线浏览。

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

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

1.下载安装 SwfTools,当前最新版本是0.9(Pdf2swf工具下载:下载 (我下的是swftools-2011-01-23-1815.exe下载后,安装))
2. 转换PDF到SWF,可以通过命令行的方式,例如将Paper3.pdf转换成Paper3.swf
C:\SWFTools\pdf2swf Paper3.pdf -o Paper3.swf

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

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

    (Flexpaper下载地址:下载(我下的是1.4.5 Flash Version(release notes))),运行官方例子的时起,连所带的Paper.swf都不能加载成功,只见到右上角的圈圈一直在动,处于等待的状态。这种情况,是由于Flexpaper还没获得Adobe Flash的信任,这时你可以前住http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065为FlexPaper添加信任.进入网页之后 ,点击左边的 Global Security Settings papel 这个选项.为你的例子所在的文件夹添加信任,就ok了!

  2. 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之间的数,表示显示的放大参数

  3. 复制你创建出来的swf和PDF2SWF到解压缩出的相同目录
  4. 确定你添加了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>

并且看到了很多牛人的文章,这里就有一篇很好的,就不转载了,放个地址,方便自己和别人去查阅:

http://www.cnblogs.com/qinpeifeng107/archive/2011/08/29/2158879.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics