博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用FlashPaper实现类似百度文库功能
阅读量:7237 次
发布时间:2019-06-29

本文共 1596 字,大约阅读时间需要 5 分钟。

最近需要实现一个类似百度文库的功能,在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:下载 的DefaultViewer2.swf文件(PS:这里有点推荐自己资源的意思,请不要鄙视我,O(∩_∩)O哈哈~),在此swf文件的基础上实现自己的修改。

2:利用swf反编译工具,保存反编译过的.fla文件。

3:利用falsh制作工具(如Adobe Flash Professional CS5),打开此fla文件,找到第3个帧,添加下列代码即可实现定制(具体说明可以参加我的上一篇文章,隐藏即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~ ~

转载地址:http://mxofm.baihongyu.com/

你可能感兴趣的文章
卫健委:保障病人就医需求 加强流感药品物资保障
查看>>
因无力偿还网贷 内蒙古一对夫妻贩卖亲生龙凤胎
查看>>
2018年深圳出口规模续称雄 新业态进出口倍增
查看>>
第二届EmTech China 峰会在京举行 畅谈科技创新未来
查看>>
证监会对6宗内幕交易案件作出行政处罚 涉及现代制药等
查看>>
张近东智慧零售大开发加码:2019年开店15000家
查看>>
西班牙一亚洲女子疑似被人从三楼推落 伤势严重
查看>>
学习Python编程语言-这28本有关Python书籍值得去了解
查看>>
刚刚,蚂蚁区块链喜提“世界互联网领先科技成果”
查看>>
后端工程师入门前端页面重构(一):口诀
查看>>
广州三本找Java实习经历
查看>>
初识 weex 系列(前端视角) - 基础完结
查看>>
《Web 推送通知》系列翻译 | 第七篇:推送事件 && 第八篇:显示一个通知
查看>>
你不知道的 Electron (一):神奇的 remote 模块
查看>>
华为资深架构师:Cloud Native架构一致性问题及解决方案
查看>>
AI还有什么不会的?机器人写稿技术应用
查看>>
iOS 中的 block 是如何持有对象的
查看>>
从业务变迁到研发犯难,微服务在Spring Cloud的实践之路
查看>>
Python 连接 MySQL 的几种姿势
查看>>
跨页面通信的各种姿势
查看>>