Office文档在线编辑的一个实现方法_网页编辑器

Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件。
IIS(6.0)支持webdav,这在IIS管理器的web服务扩展中可以看到.利用IIS作为webdav的服务器端,可以很容易的实现office(word,excel等)的在线编辑.
可以简单的实验一下:
确保IIS的webdav扩展安装并被启用了,建立一个虚拟目录test,在其中放一个word文档a.doc,然后打开word, 文件->打开->输入word文档的访问url(http://localhost/test/a.doc),
修改一下文档内容,保存一下,发生了什么? 文档被保存到服务器上了.
在IE中,可以通过js创建Word.Application,来打开,修改服务器上的文档.

复制代码 代码如下:

wApp = new ActiveXObject("Word.Application.11");
wApp.Visible = true ;
wApp.Documents.Open( url );
if( trackRevisions ){ //可以实现痕迹保留呢
wApp.ActiveDocument.TrackRevisions = true ;
wApp.ActiveDocument.ShowRevisions = false ;
}else
{
wApp.ActiveDocument.TrackRevisions = false ;
wApp.ActiveDocument.ShowRevisions = false ;
}
wApp.ActiveDocument.Application.UserName= Global_CurrentUserName;

另外,安装office时,会同时按装一个ActiveX组件:Sharepoint.OpenDocuments,可么用此组件来激活word,编辑服务器上的文档: var __OpenDocuments = null ;

复制代码 代码如下:

function Document_Edit2( url )
{
if( __OpenDocuments == null )
{
try{
__OpenDocuments = new ActiveXObject("SharePoint.OpenDocuments.3"); //for office 2007
}catch(e){}
if( __OpenDocuments == null || typeof(__OpenDocuments) == "#ff0000" )
{
try{
__OpenDocuments = new ActiveXObject("SharePoint.OpenDocuments.2"); //for office 2003
}catch(e){}
}
if( __OpenDocuments == null || typeof(__OpenDocuments) == "undefined" )
{
alert( "请安装Word(2003或更高版本)" );
return ;
}
}
// openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc");, "Word.Document"
//openDocObj.CreateNewDocument("http://www.abc.com/documents/sampleTemplate.dot", "http://www.abc.com/documents/");
var result = __OpenDocuments.EditDocument( url , "Word.Document" );
if( result == false )
{
alert( "无法打开文档." );
}
}

可以看到,基于IIS的webdav支持,可以非常简单的实现office文档的在线编辑, 但有一个问题:这样,文档是存放在文件系统上,我们很多系统中,
文档是存放在数据库中的,这样一来,如何实现呢???
I tried a lot and found the solution. It will be in the next article .

时间: 2024-08-02 16:58:15

Office文档在线编辑的一个实现方法_网页编辑器的相关文章

[转]Office文档在线编辑的实现之二

From:http://www.cnblogs.com/jianyi0115/archive/2007/07/15/818566.html 本篇将讲解如何实现客户端的office直接编辑数据库中的二进制形式保存的office文件. 实现的关键:模拟IIS,自己实现一个webdav的服务器端. 首先,我们简单了解一下webdav: webdav,中文可以翻译为网络分布式协作协议,它解决了http协议中一个问题:http无法实现版本和单访问控制. 什么是单访问控制呢?假设我们有一个页面编辑某条数据,

asp.net实现word文档在线预览功能的方法_实用技巧

本文实例讲述了asp.net实现word文档在线预览功能的方法.分享给大家供大家参考.具体实现方法如下: 实现方式:office文档转html,再在浏览器里面在线浏览 1.首先引入com组件中office库,然后在程序集扩展中引入word的dll 2.将Microsoft.Office.Interop.Word的嵌入互操作类型设置为 false,如图 3.主要代码: 复制代码 代码如下: using System; using System.Collections.Generic; using

[转]Office文档在线编辑的实现之一

from : http://www.cnblogs.com/jianyi0115/archive/2007/03/16/677712.html 因为项目的关系,研究了一下Office的在线编辑功能,写出来共享一下. Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件. IIS(6.0)支持webdav,这在IIS管理器的web服务扩展中可以看到.利用IIS作为webdav的服务器端,可以很容易的实现office(word,excel等)的在线编辑. 可以

毕业设计 OFFICE文档在线考试系统 求大神帮助

问题描述 有没大神能代做一份毕业设计课题:OFFICE文档在线考试系统语言C#大致框架就是学生线下用WORD文档考试然后上传至网页通过老师上传的标准答案进行比对找对错价钱好商量详情联系QQ447446755 解决方案 解决方案二:紧急希望能帮助的大神速速与我联系解决方案三:你要的就是如何读取word,都不需要操作解决方案四:对呀,了解下如何读取word就行了解决方案五:如果你要代码的话我觉得你还不如去淘宝找,读word不知道怎么做的话看3楼的比较靠谱

Office文档在线预览

工具说明:通过传入文档的Web地址,即可进行Office文档的在线预览. 使用方式: 在http://office.qingshanboke.com地址后,通过url参数传入您想预览的文件路径. 如:/Default.aspx?url=http://office.qingshanboke.com/test.doc 完整地址: http://office.qingshanboke.com/Default.aspx?url=http://office.qingshanboke.com/test.do

利用XSL和ASP实现XML文档在线编辑

xml|在线 本文通过一个详细的例子,来阐述了在线编辑XML文档数据的方法.由于Netscape对XML的支持比较弱,因此,要实现跨平台的数据交换,数据的处理必须在服务器端进行.要编辑XML文档,首先要做的事情就是怎样把这些数据提取并显示给访问者,XSL为我们显示XML文件提供了一个很好的解决方案.下面的例子就是利用XSL样式单把XML文档显示出来,供用户进行编辑,然后再把编辑后的数据提交到服务器,在服务器端进行数据的更新.这里采用ASP(Active Server Pages)来完成我们的任务

cad文档在线编辑

问题描述 有什么办法可以实现到这样的文件管理系统:可以设置某个用户对某个文件的访问权限,用户通过客户端软件登陆服务器之后,可以在客户端打开某个文件并且在客户端的编辑窗口上根据用户权限对文件做相应的操作.这里有一点特别之处是:能浏览文件不一定就可以下载文件.而且文件是AUTOCAD文件. 解决方案 解决方案二:新出了款软件叫Qffice的文档系统,可以实现autocad在线编辑,还可以控制打开后的各种操作,比如,编辑.另存等操作解决方案三:在客户端安装各种插件,即可.

FCKeditor 网页在线编辑器的使用方法_网页编辑器

它不需要安装任何形式的客户端,兼容绝大多数主流浏览器,支持ASP.Net.ASP.ColdFusion .PHP.Jsp.Active-FoxPro.Lasso.Perl.ython 等编程环境. 官方网站 http://www.fckeditor.net/ 官方文档 http://wiki.fckeditor.net/ 下载地址 http://www.fckeditor.net/download/default.html FCKeditor安装和配置 下载FCKeditor2.63.zip和F

在线FLV播放器实现方法_网页播放器

程序代码 复制代码 代码如下: <object type="application/x-shockwave-flash" width="400" height="220"  wmode="transparent" data="flvplayer.swf"> <param name="movie" value="flvplayer.swf" />