zoukankan      html  css  js  c++  java
  • office在线预览方案

    一、服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览

    微软方:利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,然后再利用免费的swftools.exe工具生成swf格式的Flash文件,网页中加载flexpaper免费开源工具(有广告)实现Flash文件的预览。
    优点:
    1、有效的保护的源文件及文件的复制,不可复制也是缺点。
    2、源码是自己的,版权有保证。
    缺点:
    1、服务器上必须安装Office软件。
    2、导出PDF文件本身是个打印过程,Excel页面格式未设置,会出现一张表格打印出多页来,阅读体验大大下降。
    3、转换过程非常耗费资源,低配的CPU几乎能跑满,服务器卡死。转换时间也非常漫长,这个时间主要是卡在了转换PDF上面。
    4、转换完成服务器会遗留大量Excel、Word进程无法正常退出,有一些折中的解决办法,可以在网上搜索。
    5、设置非常麻烦,本身微软官方的说法Office软件是客户端程序,在与IIS交互的时候本身就未设计。所以很多程序员把精力浪费在了调试程序上面。有两点在调试的时候需要注意。一个是在web.config中设置 <identity impersonate="true" userName="administrator" password="你的服务器管理员密码" />,一个是在Office软件的设置中设置跟桌面交互。
    6、严重浪费磁盘空间,一个文件还需要一个PDF文件、一个SWF文件,是否每次都转换,纠结是要硬盘空间呢还是要CPU的资源。
    参考链接:
    http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html 
    http://www.cnblogs.com/liuning8023/archive/2013/03/04/2943482.html 
    http://www.cxyclub.cn/n/29549/ 

    非微软方:没有微软的Office软件可安装,只能用第三方的openoffice(开源、免费)来转换PDF文件,其它方面都一样,优缺点一样
    参考链接:
    http://blog.csdn.net/z69183787/article/details/17468039 


    二、Office文档直接转换为SWF,通过网页加载Flash预览

    利用flashpaper直接转换为SWF文件(虚拟打印机),然后利用flexpaper预览Flash文件。
    flashpaper是Macromedia的一款产品,随着被Adobe公司收购,Macromedia对于这款软件早就放弃了,国内尚无人在程序中调试成功过。
    参考链接:
    http://www.dzwebs.net/1149.html 


    三、office转Html、pdf转图片在线预览文件Html文件

    利用DCOM配置直接操作Office文件,读取文件内容,导出Html文件
    优点:
    实践证明此方法不科学。
    缺点:
    1、服务器上必须安装Office软件。
    2、配置麻烦,正如微软所说,读取Office不是这么干的。
    3、转换的文件格式均丢失。
    4、仅限于IIS服务器,利用ASP.net(C#)。
    参考链接:
    http://www.cnblogs.com/tangbinblog/archive/2012/11/29/2794110.html 


    四、第三方ActiveX浏览器控件

    如科瀚的SOAOffice中间件、卓正软件的pageoffice控件、WebOffice控件、国外的Office Viewer ActiveX Control
    优点:
    可在线编辑等。
    缺点:
    1、客户端需安装控件。
    2、付费。
    3、在Html5、CSS3以及桌面向浏览器转换的大潮流下,控件已是昨日黄花。
    参考链接:
    http://www.kehansoft.com/soaoffice/index.htm 
    http://www.zhuozhengsoft.com/ 
    http://www.officectrl.com/ 
    http://www.anydraw.com/ 


    五、微软的Office Web Apps

    微软新出的在线文档,与Google文档抗衡,估计没谷歌文档,微软也懒得出这个
    优点:
    微软自家的东西原生态呈现。
    缺点:
    需架设一台单独的服务器(可以是虚拟机),配置过低能安装,无法运行,另外还需一台域服务器。而这两台机器上均不能安装其它程序,比如SQLServer,在Office Web Apps服务器上每次重启IIS会重置,也就是说你不能有任何其它网站。
    参考链接:
    http://technet.microsoft.com/zh-cn/library/jj219456(v=office.15).aspx 


    六、第三方成熟的服务

    如OfficeWeb365、idocv
    优点:
    1、OfficeWeb365采用的微软的Office Web Apps,idocv不详。
    2、接口简单,只是PHP、JSP、ASP.net等所有的对接,省心省力。
    3、费用低廉,节省投入。
    4、不用关心客户端是否安装了Office软件,不用在客户端部署。
    缺点:
    1、OfficeWeb365只能查看不能编辑,文档大小限制为10M,这也是Office Web Apps的文档限制大小,不过对于一般Office文件大小已绰绰有余。
    2、idocv的文档还原能力不强,格式无法完全还原,特别是在Excel与Powerpoint上面,但无文档大小限制。
    参考链接:
    http://www.officeweb365.com 
    http://www.idocv.com 


    七、在浏览器中直接打开

    通过设置MiME类型,告诉浏览器这是Office文件,浏览器直接调用本地Office或PDF软件打开
    优点:
    1、不用编程,不用第三方服务,直截了当。
    2、很多用户安装了Adobe的PDF预览软件,同时在浏览器上也直接安装了插件,浏览器可直接查看PDF文件。
    缺点
    你永远不知道客户机器上是否安装了Office软件,虽然几乎都安装了,但直接调用Office软件,客户体验大大下降,更何况还有个讨厌的迅雷一直在监视你的浏览器,不给你打开的机会,当然这些都是你无法预知的。


    八、其它

    如金山快写、一些网盘的预览
    参考链接:
    http://w.wps.cn/ 

  • 相关阅读:
    Css_加载样式
    Mvc4_@RenderBody()和@RenderSection()
    C#_观察者模式
    Mvc4_MvcPager 概述
    Mvc4_Area的应用
    Nginx 服务器性能参数设置
    Nginx变量的实现机制
    天下无雾
    Nginx Http框架的理解
    【转】websocket协议规范
  • 原文地址:https://www.cnblogs.com/sharpmap/p/4450608.html
Copyright © 2011-2022 走看看