1.首先下载FlexPaper的源码。下载地址

2. 下载Adobe Flash Builder v4.5

现在最新是4.6了,在adobe网站木找到4.5下载,这里提供下4.5的种子文件 http://220.166.104.109:8899/AdobeFlashBuilder_v4.5.torrent

安装key:1499-4181-9296-6452-2998-3656

解压后, 在解压目录找到并执行Adobe Flash Builder 4.5\SOFTWARE\Set-up.exe安装

安装完后,在开始菜单里,启动运行Adobe Flash Builder 4.5

首先在flash build中新建一个flex项目,第一步填写项目名称-flexpaper,第二步直接默认,最后一步需要注意下。

选择合并到代码中,要不然你的bin-debug目录下面会出现很多其他的swf文件

然后把你1步下载下来的源码解压。

把这三个目录全部复制到你刚才建立的flex项目根目录下。最后结果是这样的:

这时候打开src目录下面默认包下的flexpaper.mxml文件 替换成下面代码

 
<?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); 
    ExternalInterface.addCallback("gotoPage", gotoPage);
   } 
   
   
   
   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; 
   } 
   
   public function gotoPage(p:Number):void{
    paperViewer.gotoPage(p);
   }
   
  ]]> 
 </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>

然后点击项目的属性,将附加的编译参数修改成如下所示,-source-path=locale/{locale}

上图中,勾选上 使用flex3兼容性模式 然后就可以run了。

修改:

1.右上角有一个FP,点击以后出现about

找到如下所示的文件:

打开,搜索bttnInfo,一共就三句,全部注释掉。然后在run,就会发现右上角的FP没了。(print也是在这个文件里面修改的,大家自己看看吧)

2.修改右下角的logo,如下

找到如下文件,打开,找到createDisplayContainer这个函数。在addChild(_skinImgDo);后面加入_skinImgDo.visible = false;(虽然不懂,但是这些看看也都能知道个大概)

好了。修改完毕。至于其他的修改,大家可以自己看看源文件。反正功能老外都帮我们现实了,我们只要修修改改而已。

找到项目C:\Documents and Settings\你的用户名\Adobe Flash Builder 4.5\flexpaper\bin-debug下面的flexpaper.swf  如下图:

拷贝上图中的flexpaper.swf  放在你下载回来的例子中,替换如下:

把刚才的文件改成这个名字就OK了。然后在运行就会发现可以了。

FlexPaper_1.4.5_flash下载

flexpaper源码的编译,去除logo和打印 (转)的更多相关文章

  1. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  2. 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...

  3. 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙看这篇或许真的够了 | 百篇博客分析OpenHarmony源码 | v50.06

    百篇博客系列篇.本篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉 ...

  4. net-snmp源码VS2013编译添加加密支持(OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  5. net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  6. Hadoop2.x源码-编译剖析

    1.概述 最近,有小伙伴涉及到源码编译.然而,在编译期间也是遇到各种坑,在求助于搜索引擎,技术博客,也是难以解决自身所遇到的问题.笔者在被询问多次的情况下,今天打算为大家来写一篇文章来剖析下编译的细节 ...

  7. 使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码

    前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. 准备工作 1.sca ...

  8. 【转】Android用NDK和整套源码下编译JNI的不同

    原文网址:http://www.devdiv.com/android_ndk_jni_-blog-99-2101.html 前些天要写个jni程序,因为才几行代码,想着用ndk开发可能容易些,就先研究 ...

  9. 从源码(编译)安装golang 二

    h1 { margin-top: 0.6cm; margin-bottom: 0.58cm; direction: ltr; color: #000000; line-height: 200%; te ...

随机推荐

  1. pgbouncer配置

    DESCRIPTION pgbouncer is a PostgreSQL connection pooler. Any target application can be connected to  ...

  2. SQLServer中临时表与表变量的区别分析

    临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会一直存在.临时表在创建的时候都会产生SQL Server的系统日志 ...

  3. Vs 2015 中一些新的语法支持

    又是语法糖. 1, if (tdata != null && tdata.Data != null) 等价于   if (tdata?.Data != null)   2, int a ...

  4. risc与cisc

    RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法. 早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成 ...

  5. noip2003复赛普及组第一题——乒乓球

    /*======================================================================= 题一.乒乓球(Table.pas) [问题背景]国际 ...

  6. 找不到所需要的ndbm.h头文件

    具体描述: 通过deb包安装gdbm之后,发现找不到所需要的ndbm.h头文件.但是你会发现一个叫gdbm-ndbm.h的文件,你只需要把文件名改成ndbm.h就可以了,当然需要一定权限. sudo ...

  7. eclipse提交subversion+apache的中文路径问题解决过程

    原文链接:http://cavenfeng.iteye.com/blog/1921400 .download & patch: # wget http://webdav.todo.gr.jp/ ...

  8. openstack(liberty):部署实验平台(二,简单版本软件安装 part2)

    继续前面的part1,将后续的compute以及network部分的安装过程记录完毕! 首先说说compute部分nova的安装. n1.准备工作.创建数据库,配置权限!(密码依旧是openstack ...

  9. SQL 查看数据库表的容量大小

    --==============查看数据库表的容量大小========start================================?============ Create Table # ...

  10. 面向对象设计模式--观察者模式(Observer)

    要点: 1.如何使用观察者模式: 对应使用这个模式的用户(main)来说,subject和observer这两个基类是不被关系的,在调用者(main)中只是有concreteSubject和concr ...