`
844604778
  • 浏览: 550826 次
文章分类
社区版块
存档分类
最新评论

仿百度文库解决方案(一) - 总体思路

 
阅读更多

在假期的学习过程中,做到了一个项目中有实现文档的在线预览。文档预览就是以flash的形式在网页上观看,例如百度文库,豆丁网和星期八网等网站一样,实现文档在线的浏览,下载。但是需要考虑的问题是:以什么格式展示flash,怎么把文档转换成flash形式。

通过自己的学习,发现网上有很多的类似的文章,实现文档的方法有两种:一种是直接生成好一个完整的flash展示出来,一种是用一个播放器来播放另外一个文档flash第一种方式可以用SWFTools的工具直接将pdf转化成一个整体的flash展示,但这种方式的flash较大,且不容易控制,故用得较少。第二种方式是重点,首先需要了解的是一个开源的flexpaper播放器,它可以播放一帧一页的flash;在flexpaper的基础上,如果遇到大文档则会出现速度和性能的问题,这个时候需要像百度文库、豆丁一样修改flexpaper,让它支持一次仅读取指定页数的flash;如果文档安全级别较高,不允许下载查看,则需要给flexpaper加上加密解密算法;如果需要登录用户才能查看,则要让flexpaper登录UI

在转换flash的思路上有很多的方式:一般是把文档转换成pdf格式,在pdf转换成swf格式的方式来实现。在把文档转换成pdf格式方法比较多。例如虚拟打印机、使用MicrosoftOfficeAPI、使用OpenOffice转化等,但是在转换的过程中容易出现字符的缺少,文档的乱码等问题。在把pdf格式转换成swf格式就比较简单了。可以使用flexpaper来实现。

总体思路:

下图是文档转化到swf的一个流程,其中type是文档的一个状态标识(0表示未处理过的文档,1表示已生成pdf2表示已生成flash-1表示不受支持的文档格式,-2表示转化为pdf失败,-3表示转化为flash失败)

注释 :

参考资料:转自

http://www.cnblogs.com/flashlm/archive/2010/11/22/document-preview-online.html#2268089博客

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics