`
sealbird
  • 浏览: 583947 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

主题:FlexPaper使用小记

    博客分类:
  • Flex
阅读更多
记录一下自己在改造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> 
分享到:
评论

相关推荐

    在线展示文档实例c#:FLEXPAPER+SWFTOOLS+office2016+vs15

    本文将详细讲解一个基于C#的在线文档展示实例,该实例利用了FLEXPAPER插件、SWFTOOLS以及Office 2016来实现从Office文件到PDF再到SWF的转换,最终实现在线展示的效果。 首先,我们来了解FLEXPAPER。FLEXPAPER是一款...

    FlexPaper使用

    在你提供的“FlexPaper使用”压缩包中,我们可以找到一个名为“FlexPaperDemo”的示例,这通常包含了所有必要的文件和配置,帮助开发者快速理解和实施FlexPaper。以下是一些关于如何使用FlexPaper的关键知识点: 1....

    flexPaper包+使用指南

    FlexPaper是一款强大的开源轻量级文档显示组件,与FlashPaper有着相似的功能,但提供了更为灵活的使用方式。这款工具主要用于在Adobe Flex环境中显示PDF文档,为开发者提供了在Web应用中集成PDF阅读体验的能力。...

    FlexPaper网页在线预览插件

    FlexPaper是一款强大的网页在线预览插件,专为在网页上展示文档而设计。它支持多种格式,如PDF、SWF、图像等,为用户提供了一种...对于开发者而言,理解并掌握FlexPaper的使用,无疑能提升其项目的专业性和用户体验。

    flexpaper 带翻页间隔

    5. **自定义样式**:为了满足品牌一致性或者个性化的需求,FlexPaper 允许自定义皮肤和主题,包括页面颜色、字体、边距等,其中也包括翻页间隔的定制。 6. **搜索与导航**:内置的搜索功能使得用户可以快速定位到...

    FlexPaper_1.4.2_flash

    - `LICENSE.txt`, `LICENSE-UNLIMITED.txt`, `LICENSE-COMMERCIAL.txt`: 这些是许可文件,详细列出了使用FlexPaper的法律条款和限制,包括免费版、无限制版和商业版的权益。 - `highlight.xml`: 可能是高亮配置...

    [FLEX] FlexPaper 阅读器

    2. **自定义主题**:FlexPaper 允许开发者根据项目需求定制阅读器的主题和外观,可以调整字体、颜色、布局等,以适应不同的品牌风格。 3. **多种文档格式**:除了基本的PDF支持,FlexPaper 还支持DJVU和TIF图像格式...

    flexpaper使用

    本篇文章将深入探讨如何在`book.jsp`页面中集成并使用FlexPaper SWF文件来浏览PDF文章。 首先,我们需要理解FlexPaper的工作原理。FlexPaper基于Flash技术,通过SWF文件(flexPaper.swf)提供交互式的文档查看体验...

    文件在线浏览使用的flexpaper

    在项目开发中,使用 FlexPaper 可以极大地提升用户体验,特别是对于那些需要在线分享和预览文档的应用场景。 1. **FlexPaper 基本概念** - **Viewer**:FlexPaper 的核心组件,用于展示文档。它可以嵌入到网页中,...

    Flexpaper 禁止复制修改,可设置是否打印

    6. **使用方法**:集成Flexpaper时,开发者需要配置相应的参数,比如设置复制、修改和打印的权限。这通常涉及在初始化Flexpaper时传递特定的选项或者通过API进行动态调整。 7. **安全性与隐私**:除了防止复制、...

    FlexPaper 2.2.4

    3. **自定义配置**:FlexPaper 可以根据开发者的需求进行高度定制,比如调整页面布局、颜色主题、字体大小等,以适应不同的网站设计。 4. **API 集成**:通过其提供的 JavaScript API,开发者可以轻松地将 ...

    Flex实现在线显示Word文档,FlexPaper

    通过使用FlexPaper,用户无需安装任何额外的软件或插件,就可以在浏览器中流畅地浏览和交互Word文档。 FlexPaper的核心功能包括: 1. **文档格式支持**:FlexPaper 支持多种文档格式,最常见的是.doc和.docx,这些...

    flex项目 FlexPaper 2.1.2

    开发者可以使用MXML和ActionScript来设计和构建用户界面,这使得FlexPaper的定制变得更加灵活。 1. **Logo定制**:FlexPaper允许你替换默认的Logo,以适应品牌需求。这通常涉及到修改Flex项目的皮肤文件,将自定义...

    flexpaper在线阅读器的插件与使用的demo

    - 支持多种格式:FlexPaper不仅支持常见的PDF文件,还能处理DJVU格式,这两种格式在学术和专业文献中广泛使用。 - 高质量渲染:它能够提供清晰、流畅的文档浏览体验,无论是文字还是图像都能呈现得非常细腻。 - ...

    FlexPaper源码

    FlexPaper的核心是基于Flash技术的,它使用SWF(ShockWave Flash)文件来呈现文档。`flexpaper.fxp`可能是FlexPaper生成的预览文件,这种文件包含了待展示文档的元数据和页面内容。而`flexswcnew.fxpl`可能是一个...

    FlexPaper_2.1.0_SDK_3.5_swc

    通过使用FlexPaper SDK,开发者可以创建出专业且用户体验良好的在线文档阅读环境,适用于教育、出版、企业内部文档分享等多种场景。同时,持续的版本更新和社区支持确保了FlexPaper能够适应不断变化的Web技术和用户...

    flexpaper全套源码加示例

    3. **加载PDF**:使用FlexPaper API加载PDF文件,这通常涉及到服务器上的PDF文件路径或者Base64编码的PDF数据。 4. **交互接口**:利用提供的事件监听器,你可以实现自定义的交互逻辑,例如,当用户搜索时触发特定...

    FlexPaper 下载包

    3. **交互性**:FlexPaper 提供了丰富的交互功能,如页面翻动效果、搜索、缩放、书签和链接等,让在线阅读如同使用实体书籍一样便捷。 4. **自定义设置**:开发者可以根据需求调整界面样式、颜色方案和布局,以适应...

    flexpaper工具包

    6. **自定义设置**:根据需求,开发者可以通过配置选项来定制 FlexPaper 的外观和功能,比如更改页面布局、字体大小、颜色主题等。 7. **响应式设计**:FlexPaper 具备响应式设计,能自动适应不同设备的屏幕尺寸,...

    FlexPaper_1.5.1.zip

    这个压缩包“FlexPaper_1.5.1.zip”包含了FlexPaper的两个不同版本:FlexPaper_1.5.1_flash.zip和FlexPaper_2.2.4.zip。这两个版本的差异主要体现在技术实现和功能特性上。 首先,FlexPaper 1.5.1 是一个较早的版本...

Global site tag (gtag.js) - Google Analytics