原文链接:http://www.officeweb365.com/officetoview.html

一、服务器先转换为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中设置 ,一个是在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/

Office在线预览及PDF在线预览的实现方式的更多相关文章

  1. Office在线预览及PDF在线预览的实现方式史上最全大集合

    Office在线预览及PDF在线预览的实现方式大集合 一.服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览 微软方:利用Office2007以上版本的一个PDF插件SaveAsPD ...

  2. Office在线预览及PDF在线预览的实现方式大集合

    一.服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览 微软方:利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,然后再利用免 ...

  3. Aspose office (Excel,Word,PPT),PDF 在线预览

    前文: 做个备份,拿的是试用版的 Aspose,功能见标题 代码: /// <summary> /// Aspose office (Excel,Word,PPT),PDF 在线预览 // ...

  4. [Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你!

    引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案一 直接在浏览器中打开Office文档在页面上的链接.会弹出如下窗口: 优点:主流浏览器都支持. 缺点: ...

  5. [Asp.net]常见word,excel,ppt,pdf在线预览方案(转)

    引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案一 直接在浏览器中打开Office文档在页面上的链接.会弹出如下窗口: 优点:主流浏览器都支持. 缺点: ...

  6. 实战动态PDF在线预览及带签名的PDF文件转换

    开篇语: 最近工作需要做一个借款合同,公司以前的合同都是通过app端下载,然后通过本地打开pdf文件,而喜欢创新的我,心想着为什么不能在线H5预览,正是这个想法,说干就干,实践过程总是艰难的,折腾了3 ...

  7. 动态PDF在线预览

    实战动态PDF在线预览及带签名的PDF文件转换 开篇语: 最近工作需要做一个借款合同,公司以前的合同都是通过app端下载,然后通过本地打开pdf文件,而喜欢创新的我,心想着为什么不能在线H5预览,正是 ...

  8. 微软office web apps 服务器搭建之在线文档预览(二)

    上一篇文章已经介绍了整个安装过程了.只要在浏览器中输入文档转换server的ip,会自动跳转,出现如下页面. 那么就可以实现本地文档预览了,你可以试试.(注意:是本地哦,路径不要写错,类似“\\fil ...

  9. pdf 在线预览之 pdfobject插件

    支持到ie9 可以不用安装  如果安装 npm i pdfobject 第一步:引入pdfObject包 申明一个变量 const { PDFObject } = require("../. ...

随机推荐

  1. 深度 | 机器学习敲门砖:任何人都能看懂的TensorFlow介绍【转】

    转自:http://oicwx.com/detail/1161517 选自 kdnuggets 作者:Soon Hin Khor 机器之心编译 参与:Rick.吴攀.李亚洲 本文是日本东京 Tenso ...

  2. 前端复制粘贴clipBoard.js的使用

    <!DOCTYPE html> <html> <head> <title>ClipBoard.js使用:修改HTML</title> < ...

  3. python 发送邮件 带附件

    # coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/26' # __Desc__ = 实现发送带有各种附件类型的邮件 ...

  4. 基于jQuery图片自适应排列显示代码

    基于jQuery图片自适应排列显示代码.这是一款基于jquery.flex-images插件实现的类似谷歌图片流效果.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...

  5. phpMyadmin各版本漏洞

    一: 影响版本:3.5.x < 3.5.8.1 and 4.0.0 < 4.0.0-rc3 ANYUN.ORG 概述:PhpMyAdmin存在PREGREPLACEEVAL漏洞 利用模块: ...

  6. Android基础——Fragment控制切换多个页面

    今天接着上一篇文章,讲解一下Fragment的控制,主要是切换View和页面替换等操作.还有就是如何获取Fragment的管理对象,以及与Activity的通信方式. (PS:新建的QQ群,有兴趣可以 ...

  7. 【C#】使用NHibernate连接MySQL数据库及增删改查

    学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...

  8. mac下java环境变量配置

    发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一直不成功,后来发现他是使用了“Oh-My-Zsh”,配置文件的路径不是/etc/profile或~/.bash_profile,它有自己的配置 ...

  9. opencv中图像伪彩色处理(C++ / Python)

    使用OpenCV的预定义的颜色映射来将灰度图像伪彩色化. 1. colormap(色度图)是什么? 假设我们想在地图上显示美国不同地区的温度.我们可以把美国地图上的温度数据叠加为灰度图像——较暗的区域 ...

  10. Java获取mysql数据库元数据

    修改后的版本: package com.genratesql.util; import java.sql.Connection; import java.sql.DatabaseMetaData; i ...