zoukankan      html  css  js  c++  java
  • 利用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 FilesMacromediaFlashPaper 2Interface,覆盖下面的swf文件即可。

    即完成swf的自定制。

     页面展示部分:

    如果直接在页面上展示swf文件,那么有点IT常识的人依旧可以在客户端通过迅雷等软件捕获swf文件,然后下载下来,这样依旧不能保护swf文件。在这里我的解决方法是利用一个空swf文件来加载你需要展示的swf文件,这样即使swf被捕获也只能捕获到这个空swf文件。而且,切记空swf需要加密的,否则被反编译后依旧很容易找到你的展示文件。PS:如果朋友们有更好的展示swf的解决办法欢迎留言探讨。

    综上:大致过程就是这样,希望对朋友们有帮助,毕竟网上类似的资料少之又少。 

    如果有问题可以和我联系。O(∩_∩)O~ ~

  • 相关阅读:
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1068:与指定数字相同的数的个数
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1068:与指定数字相同的数的个数
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1067:整数的个数
    SSLZYC 2405 巧克力
    SSLZYC 2404 上学
    SSLZYC 2403 蜡烛
    SSLZYC 2402 世界语
    SSLZYC 2124 涂色
    SSLZYC 2391 数列
    SSLZYC 洛谷 P1498 南蛮图腾
  • 原文地址:https://www.cnblogs.com/zhwl/p/3756340.html
Copyright © 2011-2022 走看看