内容导航:


一、怎么实现word或者excel的在线预览


微软方:利用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的资源。


二、php在线预览word


思路
这种类似百度文库的flash预览文档的东东,其主要思路如下:
将word/excel/ppt格式的文档,即office支持的主要文档格式通过OpenOffice转成pdf的插件,将文档先转成pdf格式。
通过swftools(http://www.swftools.org/)这个软件将pdf转成flash格式。
最后flash的显示,可以使用flexpaper,亦可以自己写一个显示flash格式的东东,然后成功显示多种格式的文档,即类似百度文库的实现。

pdf的预览是将pdf的每一页转为图片,对应的放大、缩小均是对图片直接进行操作,此时放大、缩小会有失真的情况出现。
其他例如work/excel/ppt等文档,均是转为了html页面,是的在线预览时可以选中文字,图片等。

具体 很麻烦 需要 详细 请 私信!