利用FlashPaper实现类似百度文库功能
最近需要实现一个类似百度文库的功能,在Google上淘了一段时间,发现FlashPaper还算能够不错的实现此需求。
首先讲下思路:
1>安装FlashPaper;
2>利用java代码将doc等文件转换为swf文件;
3>页面展示swf即可。
关于FlashPaper的使用及安装这里就不再赘述,网上的资料很多,可以自行Google。
下面是java下如何利用FlashPaper将doc等文件转化为swf文件-->
@param swfName 指定生成的swf文件名
@param documentName 需要转换为swf的文档名
String converter = "C:\\Program Files\\Macromedia\\FlashPaper 2\\FlashPrinter.exe -o C:\\struts\\swf\\"
+ swfName + ".swf C:\\struts\\document\\" + documentName;
上述代码实际上就是调用FlashPrinter.exe实现转换功能。
用过FlashPaper的朋友可能会发现FlashPaper生成的swf文件左上角有Adobe的商标,非常不雅观,而且swf还可以下载,当然这就和百度文库的在线阅读相悖了。如何隐藏商标和取消打印按钮哪?更有甚,如何定制自己的FlashPaper swf文件哪?这才是本文着重要讲的地方。
首先展示下我自己定制的swf文件:

下面将讲述如何定制swf文件:
1:下载 http://download.csdn.net/source/3439538的DefaultViewer2.swf文件(PS:这里有点推荐自己资源的意思,请不要鄙视我,O(∩_∩)O哈哈~),在此swf文件的基础上实现自己的修改。
2:利用swf反编译工具,保存反编译过的.fla文件。
3:利用falsh制作工具(如Adobe Flash Professional CS5),打开此fla文件,找到第3个帧,添加下列代码即可实现定制(具体说明可以参加我的上一篇文章FlashPaper组件__API,隐藏即false,显示即true,请根据需要自行修改):
gMainView.showUIElement("PrevNext", true);
gMainView.showUIElement("Print", false);
gMainView.showUIElement("Find", true);
gMainView.showUIElement("Tool", false);
gMainView.showUIElement("Pop", false);
gMainView.showUIElement("Zoom", true);
gMainView.showUIElement("Page", true);
gMainView.showUIElement("Overflow", true);
4:将修改过的fla导出为swf文件,命名为DefaultViewer2.swf,找到FlashPaper的安装路径X:\Program Files\Macromedia\FlashPaper 2\Interface,覆盖下面的swf文件即可。
即完成swf的自定制。
页面展示部分:
如果直接在页面上展示swf文件,那么有点IT常识的人依旧可以在客户端通过迅雷等软件捕获swf文件,然后下载下来,这样依旧不能保护swf文件。在这里我的解决方法是利用一个空swf文件来加载你需要展示的swf文件,这样即使swf被捕获也只能捕获到这个空swf文件。而且,切记空swf需要加密的,否则被反编译后依旧很容易找到你的展示文件。PS:如果朋友们有更好的展示swf的解决办法欢迎留言探讨。
综上:大致过程就是这样,希望对朋友们有帮助,毕竟网上类似的资料少之又少。
如果有问题可以和我联系。O(∩_∩)O~ ~
利用FlashPaper实现类似百度文库功能的更多相关文章
- SpringMVC+springSecurity+flexPaper 配置--类似百度文库在线预览
背景:现在项目需要做一个类似百度文库的在线预览功能,在网上找了下很多人推荐使用FlexPaper,所以今天尝试学习了FlexPaper顺便集成到现有的框架中 由于网上目前的说的都不是很详细,所以现在记 ...
- js/jQuery实现类似百度搜索功能
一.页面代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...
- vue 使用watch监听实现类似百度搜索功能
watch监听方法,watch可以监听多个变量,具体使用方法看代码: HTML: <!doctype html> <html lang="en"> < ...
- 在线预览Office文件【效果类似百度文库】
引言 结合上个项目和目前做的这个项目,其中都用到了Office文件在线预览,目前项目中是用到公司购买的Ntko控件,该控件每次浏览文件时则会提示安装信任插件,很繁琐,而且浏览效果不好. 提到Offic ...
- 在线预览Office文件【效果类似百度文库】(转载)
转载地址:http://www.cnblogs.com/sword-successful/p/4031823.html 引言 结合上个项目和目前做的这个项目,其中都用到了Office文件在线预览,目前 ...
- python 利用selenium爬取百度文库的word文章
今天学习如何使用selenium库来爬取百度文库里面的收费的word文档 from selenium import webdriver from selenium.webdriver.common.k ...
- 类似百度文库pdf2swf+flexpaper解决pdf在线阅读的效果
1:工具准备swftools.exe 下载http://www.swftools.org/download.html 安装至D盘SWFTools提供了一系列将各种文件转成swf的工具:font2swf ...
- 【ASP.NET 进阶】PDF文件在线预览(类似百度文库)
工作需要完成文档的在线预览,现在完成了第一步PDF文件的预览,步骤是通过PDF转换工具pdf2swf.exe把PDF文件转换为SWF文件,然后通过FlexPaper就可以预览了.效果如下(GIF图片太 ...
- FlexPaper做的类似百度文库的效果
这里有个误区,虽然我的截图这里有个FlexPaperViewer.swf, 但是这个文件还是要放在网站根目录一个. <%@ Page Language="C#" Auto ...
随机推荐
- 【转】Eclipse快捷键 10个最有用的快捷键----不错
原文网址:http://www.open-open.com/bbs/view/1320934157953 1.选中你要加注释的区域,用ctrl+shift+C 会加上//注释2.先把你要注释的东西选中 ...
- 如何调试Android Framework?
Linus有一句名言广为人知:Read the fucking source code. 但其实,要深入理解某个软件.框架或者系统的工作原理,仅仅「看」代码是远远不够的.就拿Android Frame ...
- 1005acm罚时
ACM国际大学生程序设计竞赛是由国际计算机学会主办的,一项旨在展示大学生创新能力.团队精神和在压力下编写程序.分析和解决问题能力的年度竞赛.参赛队伍最多由三名参赛队员组成,竞赛中一般命题10-13题, ...
- linux(centos7)下安装tomcat7
1.下载tomcat1.7.tar.gz 2.将文件放到/usr/local中 #cp tomcat1.7.tar.gz /usr/local 3.进入到/usr/local中,解压缩tomcat1. ...
- 在Jenkins中使用Git Plugin访问Https代码库失败的问题
最近需要在Jenkins上配置一个Job,SCM源是http://git.opendaylight.org/gerrit/p/integration.git 于是使用Jenkins的Git Plugi ...
- oracle 数据库远程导出
exp 用户名/密码@IP:端口/数据库名 file=文件路径 full=y; exp scebm1/ebm@10.3.10.16:1521/scebm file=D:scebm20140527.dm ...
- Ubuntu14.04LTS安装记录(办公室联想台式机)
一.用UltraISO制作U盘启动器,被安装的电脑要设置成从U盘启动. 二.傻瓜式安装简体中文版 三.安装更新 sudo apt-get update sudo apt-get upgrade 四.安 ...
- Ubuntu 下一个可用的音乐播放器
参考:http://www.pairsdoll.com/install-audacious-music-palyer-in-ubuntu.html/ 方法:打开terminal,sudo apt-ge ...
- mongodb使用中遇到的问题汇总
1. 每次重新打开mongo,都会显示:forked process:xxxx ,然后用 find -name mongod.lock 进行搜索,发现在 ./var/lib/mongodb/ 目录下又 ...
- 安装phonegap
1.安装nodejs http://nodejs.org/ 2.安装git www.git-scm.com/download 3.安装jdk http://www.oracle.com/technet ...