本文主要讨论、描述了使用Adobe公司的Flex与FlashPaper产品完成对发布到网上的文档资料进行只读控制,也就是说只允许浏览操作、对下载、打印进行控制。


FlashPaper

FlashPaper是Macromedia的一款用于将操作系统所识别的文档的内容通过虚拟打印机制将内容转换为swf文件的工具,

Flex

Flex是Adobe公司的一款推动RIA应用的技术,它可以使我们通过编码MXML方式产生swf,它的基础是ActionScript,ActionScript可以理解为别一门编程语言。

Flash

Flash cs3之前的版本与Flex的通信比较麻烦,但Flash CS3 之后使用的AS3与Flex就很好用了。

总体思路

1、用Flash开发一个加载器,它接收动态传递的相应swf文件地址实现swf文件的动态加载,Flash使用FlashPaper提供的API,对FlashPaper转换成的swf文件进行控制,如展示工具栏、隐藏打印按钮等
2、使用Flex动态传递相应参数给Flash做的加载器,完成swf文档的加载。
3、Flex与JavaScript通信,做为入口接收来自JavaScript的调用

一、使用Flash开发加载器

至于如何使用Flash可以搜索一些资料下载来看看。看懂并能使用AS写的一些基础的东西并没有太大障碍(主要是不用深入,会用就可以),你完全可以像读Java代码的方式读它。

开发过程

二、Flex与Flash加载器的连接

  • 使用SWFLoader加载由第一阶段完成的Flash加载器,并传递一些参数给加载器。如使用FlashPaper工具导出的swf文件地址。
  • 注意参数传递方式,这里我使用LocalConnection的方式,因为我们需求上只是使用Flash防止文件不被下载,并且不存在接收用户方与之交互动态加载相应swf,所以实现起来比较容易。
  • 下载Demo

回页首

三、JavaScript与Flex

    • 如果没有特殊要求非得使用Flex,可以尝试直接使用Flash开发的加载器加载相应swf文件

这块描述了下,javaScript调用Flex swf提供的外部接口,需要注意的是与这块对应的js中有一段setInterval(fname,50),主要是因为在加载完swf文件至swf绑定一个外部接口这段时间。js可以检索到swf对象实例,但该实例对外提供的接口也就是ExternalInterface.addCall(#,#)也许还未完成绑定。以上并未有任何明确的示例,这是我在集成到我们产品上时出现的问题,我们就想到了轮循检测解决的办法。

四、在Java中使用FlashPaper

多种调用办法

1、批处理方式执行。编写批处理脚本,使用Java调用批处理脚本。
2、使用Java创建一FlashPaper进程,

注意细节

1、守护线程问题
2、环境变量问题
请仔细看一下FileConvert4SwfImpl.java

基于FlashPaper的文档播放器的更多相关文章

  1. 数据库表结构文档查看器 基于netcore

    前言 日常开发业务代码,新接手一块不熟悉的业务时需要频繁的查看对应业务的数据库表设计文档.相比于直接翻看业务代码,有必要提供一个数据库表结构文档查看器来解决这些繁琐的问题. CML.SqlDoc CM ...

  2. lucene全文搜索之四:创建索引搜索器、6种文档搜索器实现以及搜索结果分析(结合IKAnalyzer分词器的搜索器)基于lucene5.5.3

    前言: 前面几章已经很详细的讲解了如何创建索引器对索引进行增删查(没有更新操作).如何管理索引目录以及如何使用分词器,上一章讲解了如何生成索引字段和创建索引文档,并把创建的索引文档保存到索引目录,到这 ...

  3. 基于Live555,ffmpeg的RTSP播放器直播与点播

    基于Live555,ffmpeg的RTSP播放器直播与点播 多路RTSP高清视频播放器下载地址:http://download.csdn.net/detail/u011352914/6604437多路 ...

  4. CentOS6.4下使用默认的文档查看器打开PDF文档乱码的解决方案

     最近在CentOS6.4下使用其默认的文档查看器打开PDF文档时出现乱码的方块,有两种方法可以解决.    方法一:修改/etc/fonts/conf.d/49-sansserif.conf文件,如 ...

  5. 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  6. 基于jQuery仿QQ音乐播放器网页版代码

    基于jQuery仿QQ音乐播放器网页版代码是一款黑色样式风格的网页QQ音乐播放器样式代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="m ...

  7. excel保存时出现“请注意,您的文档的部分内容可能包含了文档检查器无法删除的个人信息”

    这个问题的原因是由于工作簿包含宏.ActiveX控件等内容, 而Excel被设置为在保存文件时自动删除文件属性中的个人信息,因而出现该对话框.如果要避免出现这个提示,可进行如下设置: Excel 20 ...

  8. 最简单的基于FFMPEG+SDL的音频播放器 ver2 (採用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  9. iOS之基于FreeStreamer的简单音乐播放器(模仿QQ音乐)

    代码地址如下:http://www.demodashi.com/demo/11944.html 天道酬勤 前言 作为一名iOS开发者,每当使用APP的时候,总难免会情不自禁的去想想,这个怎么做的?该怎 ...

随机推荐

  1. 【转】eclipse安装shell编辑插件shellEd

    原文网址:http://blog.csdn.net/just_lion/article/details/7764777 1. 安装man page viewer Help->Install Ne ...

  2. js+css实现带缓冲效果右键弹出菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. suse10的网络配置(静态IP)

    感觉跟fedora的差别还是蛮大的, 主要是配置文件的不同, 尤其是默认路由, 多了一个单独的文件ifroute-xxx    suse10的网卡配置文件在/etc/sysconfig/network ...

  4. 清除Xcode缓存和存档文件

    XCode4.2    finder中找到   /Users/Library/Developer/Xcode    (注:Library资源库是隐藏的文件夹) 里面有DerivedData和Snaps ...

  5. check windows return character

    #ifndef _FILE_CHECK_H#define _FILE_CHECK_H#include <string.h>#include <vector> const int ...

  6. head 命令

    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...

  7. codejam环境熟悉—Minimum Scalar Product

    今天准备熟悉一下codejam的在线编程,为google的笔试做准备,因此按照codejam上对新手的建议,先用了一个简单的题目来弄清楚流程.记录一下需要注意的地方.   1.输入输出 输入输出重定位 ...

  8. 僵尸进程&孤儿进程

    http://www.cnblogs.com/Anker/p/3271773.html

  9. x-debug配置简述 - chunyu

    一 x-debug 是什么?在配置之前,先解决一个问题,x-debug 是什么?我也不查标准答案了,就说说个人理解.x-debug是一个PHP调试工具,帮助开发者在IDE里面进行代码的断点调试,效果如 ...

  10. 怎么监视跟踪一个进程(Process)中的MS Unit Test DLL的详细性能(performance)【asp.net C#】

    Sample This tutorial will show how to instrument a unit test DLL for performance profiling. Visual S ...