记录一下自己在改造FlexPaper的过程,
这是应用网站:http://www.uqbook.cn/,有兴趣可以看看。
1.下载FlexPaper源码;
2.新建Flex Libary工程(提供下载的工程就是Flex库工程),编译的是FlexPaper.swc;
3.新建Flex工程,引用FlexPaper.swc,最后编译成在HTML中使用的flash版本。但作者没有提供FlexPaperViewer.mxml源文件下载,所以,自己在摸索中写出了一个,用于编译flash版本。
Java代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:fp="com.devaldi.controls.flexpaper.*"
layout="absolute" width="100%" height="100%"
applicationComplete="initApp();">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
public var _aid = 0;//文档ID
[Bindable]
public var _Scale:Number = 1;//缩放比例
[Bindable]
public var _SwfFile:String = "";//SWF文件路径
[Bindable]
public var _ZoomTransition:String = "easeOut";
[Bindable]
public var _ZoomTime:Number = 0.6;
[Bindable]
public var _ZoomInterval:Number = 0.1;
[Bindable]
public var _FitPageOnLoad:Boolean = false;//加载后适合高度
[Bindable]
public var _FitWidthOnLoad:Boolean = false;//加载后适合宽度
[Bindable]
public var _PrintEnabled:Boolean = true;//是否支持打印
[Bindable]
public var _FullScreenAsMaxWindow:Boolean = false;//是否支付全屏
[Bindable]
public var _ProgressiveLoading:Boolean = false;//是否延迟加载
[Bindable]
public var _localeChain:String = "zh_CN";//语言
private var isFocus:Boolean = false;
//初始化参数
private function initApp():void{
var params:Object = Application.application.parameters;
_Scale = getNumber(params, "Scale", 1);
_SwfFile = getString(params, "SwfFile", "Paper.swf");
_ZoomTransition = getString(params, "ZoomTransition", "easeOut");
_ZoomTime = getNumber(params, "ZoomTime", 0.6);
_ZoomInterval = getNumber(params, "ZoomInterval", 0.1);
_FitPageOnLoad = getBoolean(params, "FitPageOnLoad", false);
_FitWidthOnLoad = getBoolean(params, "FitWidthOnLoad", false);
_PrintEnabled = getBoolean(params, "PrintEnabled", true);
_FullScreenAsMaxWindow = getBoolean(params, "FullScreenAsMaxWindow", false);
_ProgressiveLoading = getBoolean(params, "ProgressiveLoading", true);
_localeChain = params["localeChain"];
//注册事件监听
this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
//开放给外部(javascript)调用
ExternalInterface.addCallback("hasFocus", hasFocus);
//ExternalInterface.addCallback("focus", focus);
ExternalInterface.addCallback("setViewerFocus", setViewerFocus);
}
private function onMouseOver(event:MouseEvent):void{
this.isFocus = true;
}
private function onMouseOut(event:MouseEvent):void{
this.isFocus = false;
}
public function hasFocus():Boolean{
//Alert.show("hasFocus");
return isFocus;
}
public function setViewerFocus(isFocus:Boolean):void{
//Alert.show("setViewerFocus");
this.paperViewer.setViewerFocus();
}
/**
*
* 获取String类型参数
* 如果没有,则返回默认值
**/
private function getString(params:Object, name:String, def:String):String{
if(params[name] != null){
return params[name];
}
return def;
}
private function getNumber(params:Object, name:String, def:Number):Number{
if(params[name] != null){
return params[name];
}
return def;
}
private function getBoolean(params:Object, name:String, def:Boolean):Boolean{
//Alert.show("比较:"+name);
if(params[name] != null){
return params[name] == "true";
}
return def;
}
]]>
</mx:Script>
<!--mx:Panel x="165" y="76" width="250" height="200" layout="absolute" title="一个人">
<mx:Label x="59" y="37" text="{Scale}" width="88"/>
</mx:Panel-->
<fp:FlexPaperViewer id="paperViewer"
width="100%"
height="100%"
Scale="{_Scale}"
SwfFile="{_SwfFile}"
ZoomTransition="{_ZoomTransition}"
ZoomTime="{_ZoomTime}"
ZoomInterval="{_ZoomInterval}"
FitPageOnLoad="{_FitPageOnLoad}"
FitWidthOnLoad="{_FitWidthOnLoad}"
PrintEnabled="{_PrintEnabled}"
FullScreenAsMaxWindow="{_FullScreenAsMaxWindow}"
ProgressiveLoading="{_ProgressiveLoading}" />
</mx:Application>
分享到:
相关推荐
FlexPaper是一款强大的在线文档查看和转换工具,特别适用于在网页上展示PDF、DJVU、图像等格式的文档。它基于JavaScript开发,提供了一个轻量级的解决方案,使得用户无需安装任何插件即可在浏览器中流畅地查看文档。...
FlexPaper 是一款强大的在线文档查看和转换工具,主要用于在网页上展示PDF、图像和其他文档格式。2.0.6 版本的 SWC 文件是 FlexPaper 的一个组件,它是Adobe Flex开发中的一个库,用于集成到Flash应用程序或Flex项目...
FlexPaper 是一款强大的在线文档查看和转换工具,尤其适用于PDF文档的在线预览。这款软件的核心功能是将PDF文档转换为SWF(ShockWave Flash)格式,使得用户可以在网页上流畅地浏览PDF内容,无需依赖Adobe Reader等...
FlexPaper 是一款强大的在线文档查看和转换工具,尤其适合用于展示PDF、图像和SWF文件。在本压缩包中提供的“flexpaper2.2.7去水印版”是经过个人开发者修改后的版本,主要特点是移除了默认的水印,提高了页面加载...
FlexPaper是一款强大的开源轻量级文档显示组件,与FlashPaper有着相似的功能,但提供了更为灵活的使用方式。这款工具主要用于在Adobe Flex环境中显示PDF文档,为开发者提供了在Web应用中集成PDF阅读体验的能力。...
FlexPaper 2.1.2 是一款基于Adobe Flex技术的数字出版解决方案,它允许开发者将PDF或SWF文档转换为互动式的在线阅读体验。这款工具提供了丰富的功能,如自定义Logo、书签、打印、搜索、缩略图以及通过JavaScript进行...
这个源码改造版是为了适应特定需求,对原版 FlexPaper 进行了定制和优化。 改造过程主要包括以下几个步骤: 1. **下载 FlexPaper 源码**:首先,你需要从官方或者其他可靠来源获取 FlexPaper 的源代码。这将包含...
FlexPaper 是一款强大的在线文档查看和转换工具,主要用于在Web环境中展示PDF、DOC等文档。在本次提及的版本"flexpaper_1.2.4_swc"中,主要亮点是用户可以禁用打印按钮的功能,这为那些不希望提供打印选项的Web应用...
这里我们关注的是如何在Java Server Pages (JSP) 中利用FlexPaper实现这一功能。FlexPaper是一个开源的JavaScript库,它可以将PDF、SWF、图像等多种格式的文档转换为在线可阅读的翻页效果,类似于真实的纸质书籍。这...
FlexPaper 是一款强大的在线文档查看和转换工具,它支持多种文件格式,并且具有优雅的翻页效果,为用户提供类似于真实纸质书的阅读体验。在"带翻页间隔"的场景下,我们指的是在电子文档翻页之间添加一定的间隔,以...
FlexPaper是一款流行的在线文档查看和转换工具,常用于在网页上展示PDF、图像和其他文档格式。源码的提供意味着我们可以深入了解其内部工作机制,并且可以根据需求进行定制化开发,例如去除Logo功能,这在某些版权或...
FlexPaper 是一款强大的在线文档查看和翻页工具,主要用于将PDF、图像和其他文档格式转换为交互式的Web体验。它提供了一种优雅的方式,使用户可以在网页上浏览文档,类似于真实的纸质阅读体验。在这个压缩包中,包含...
FlexPaper是一款功能强大的在线文档查看和转换工具,主要用于在网页上展示PDF、图像和其他文档格式。这个组件,FlexPaper_1.0_swc.zip,包含了实现这一功能的关键资源,特别是SWC文件,它是Adobe Flash Professional...
FlexPaper 是一款强大的在线文档查看和转换解决方案,它允许用户在网页上以类似原生的体验查看PDF、DJVU、图像和其他格式的文档。它采用先进的技术,提供流畅的用户体验,同时支持多种平台和浏览器。 标题...
FlexPaper是一款功能强大的在线文档查看和转换工具,它支持多种文件格式,并且提供了一种优雅的方式展示PDF和图像文档。标题“flexpaper打印以及去除打印”指出,我们要探讨的是FlexPaper在处理打印功能上的特点,...
FlexPaper 是一个强大的开源项目,专注于为Web应用提供轻量级的SWF文档查看解决方案。在浏览器环境中,它能够高效地展示PDF、DJVU、TIF和其他多种格式的文档,带给用户类似纸质阅读的体验。这个2.1.0版本是FlexPaper...
FlexPaper是一款强大的在线文档查看和转换工具,专为数字化出版物设计。版本1.5.1是该软件的一个特定更新,旨在提供优化的功能和增强的性能。以下是对FlexPaper 1.5.1版本及其相关知识点的详细说明: 1. **...
Flexpaper_2.0.3.zip 是一个包含 FlexPaper 最新版本2.0.3的压缩包文件。FlexPaper 是一款强大的在线文档查看和翻页软件,它支持PDF和其他多种文档格式,为用户提供类似纸质书的阅读体验。在这个版本中,开发者可能...