• 我在设计在线文库中的一些小记(在线文库系列一之思路篇) jerry


    闲话少叙:

    在线文库的流程

    一.上传文档;二.文档的在线阅读;

    我估且把这个大的流程粗犷括为两点。当然其中的难点是2.文档的在线阅读。下面我将会围绕“文档的在线阅读”提出我自己的解决方案。

    1、文档的在线阅读

           需要有通过flash文档播放器在线来加载swf文件,然后进行在线播放。

           这就要求对用户用所上传的文件要进行转换,即把doc、xls、ppt等等文件转换成flash播放器所能加载的swf文件。

           在这里我向大家推荐两款好的工具;

          (1)、flashpaper:借助flashpaper的虚拟打印机,我们可以把doc、xls、ppt一类的文件转换成我们想要的swf文件,同时也可以转换成pdf文件。编程方式,在服务器端安装flashpaper,然后我们在程序中通过编码来起动flashpaper进程,完成我们想要的文件转换工作。在实际编码过程中可能用遇到一些权限问题等等细节问题,相信大家少许琢磨便知一二了。

     

        flashpaper的优点是,他把flash播放功能与所转换成的swf文件容为了一体,这样我们在展示文档的时候,操作十分简便,只需要像以往往html中插入flash一样的操作即可,由于播放功能和内容成为了一体,所以自带播放功能可以很灵活的操作内容。如果是做简单的在线文档,在线阅读的话,这个功能已经足够用了。

     

          flashpaper的缺点是,任何东西有优点就同时也有缺点,flashpaper也不例外,由于他把播放器与内容生成为了一个整体,并且一个相当体积的doc文档只能生成一个swf文档,这样就带来了客户端加载相当慢的问题,想实现像百度文库一样的预装载效果的话,这样的操作与内容不分离的方式,在编码和操作过程中都是相当有难度的。同时flashpaper大概可能是收费吧,如果你选择商用的话,而且又不愿意花钱的话,就大可不必一条路走到黑。

     

          小叙:有关flashpaper的使用方法,编程事例,大家可以baidu,google这两位老师会给你一个详尽的解答。

      

          (2)、flexpaper:看完了flashpaper的优点和弊端后,我们在来看看flexpaper,做为一个开源的文档播放器,他提供给我们很大的想像空间,丰富的配置项,齐全的功能无一不是我们心中所想。下面我们就来看看flexpaper:

     

           flexpaper同样也需要加载swf文件,同样也需要对用户所上传文件进行转换,与之配套的转换工具有pdf2swf,可惜的是,从名字上都可以看出他是用来将pdf文件转换成swf文件,那么doc、xls等等文件怎么办呢?我们还得借助其它的工具来完成doc、xls等文件到pdf的转换过程。这个过程似乎太慢长了,我从网上找了许久更好的解决方案,可是大多都是标题新颖,内容却雷同,这也感谢现在内容爬虫的威力之大啊。

     

           flexpaper的优点:首先他是开源的,我们可以从网上找到他的源代码,可以根据自己所开发功能的实际要求对其进行二次开发,还好公司有flash方面漂亮的高手mm,这项任务我不必在过多操劳,同时flexpaper有许多属性配置项,可以让flexpaper的展示方面更为灵活。pdf2swf的工具也为我们带来了极大的好消息,他可以把文档的每一页分别转换成一个swf文件,这样就为我们实现文档预装提供了一个很好的解决方案,无论是以名字为规律来加载还是以读数据库的方式来加载,都可以实现预装载的效果,当然,我目前正在研究预装载的实现。预装载极大的提升了用户的体验度。这个方法不是唯一的,我想信总还是有更好的方法。正在发掘中。

     

           flexpaper的缺点:这种文件转换的不灵活方式,极度让我有疯的感觉,doc、xls  ->  pdf ->swf ,如果繁复的转换流程,晕也,疯也,郁闷也。当然解决办法也是有的,可以借用flashpaper来把doc、xls一类的文件先转换成pdf,再由pdf2swf来将pdf文件转换成swf,当然,这些转换我们都是可以通过程序来控制的。优化文档的在物理存储,相应的就大事告成了。你怕flashpaper收费吗!这个大可不心,这种幕后的转换成pdf的过程,大可不必考虑flashpaper收费的因素,用之即可。

    总述:在总结了flashpaper,flexpaper后,我的解决方案也出来了,即用flexpaper来展示我的在线文档,转换麻烦了些,但也是可以接受的。考虑到服务器性能问题,如果一个转换进程总是过多的占用服务器资源,将是一件可怕的事情。所以我在业务上加了一个小细节,就是用户所上传的文件需要通过审核,通过审核的文件将在午夜十分进行批量转换。

     

    小弟不才,对flashpaper和flexpaper的了解还处于初级阶段,望各位前辈多多指点,砖是一定要拍的,同时大家如果发现我有不对的地方,请指正,我也期待有更好的方案出现,要不我就死定了。

     

    北京下雪了,兔年很给力。罢了,罢了,就写到这里,我是百灵。

  • 相关阅读:
    LineageOS将会重生 CyanogenMod会继续下去
    著名第三方ROM Cyanogen Mod宣布关闭
    Service Worker API (mozilla) vs Service Workers (google)
    Service Worker 入门
    Web新技术:PWA
    (OK) 编译 cm-13-kiwi for (华为 荣耀 5X)
    4
    3
    2
    1
  • 原文地址:https://www.cnblogs.com/mbailing/p/wenku.html
Copyright © 2020-2023  润新知