Office文档在线编辑的一个实现方法

所属分类: 网络编程 / 网页编辑器 阅读数: 581
收藏 0 赞 0 分享
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 .
更多精彩内容其他人还在看

自动刷新从BrowserSync开始

Browsersync能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less等)并自动刷新页面。下面小编来带大家了解下如何使用
收藏 0 赞 0 分享

使用Js获取、插入和更改FCKeditor编辑器里的内容

这篇文章主要介绍了使用Js获取、插入和更改FCKeditor编辑器里的内容,包括JS操作Fckeditor的一些常用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

js获取富文本中的第一张图片(正则表达式)

这篇文章主要介绍了js获取富文本中的第一张图片url正则表达式及去除字符串里面的html标签的正则公式,需要的朋友可以参考下
收藏 0 赞 0 分享

js获取UEditor富文本编辑器中的图片地址

这篇文章主要介绍了js获取UEditor富文本编辑器中的图片地址,最简单的思路应该是先获取UEditor中的内容再将获取到的字符串转换成jquery对象,选择器找到img元素,获取src值
收藏 0 赞 0 分享

SyntaxHighlighter 去掉右侧滚动条的方法

SyntaxHighlighter这个是一个高亮插件。现在被用于很多网站的代码显示。但是SyntaxHighlighter3.0.83,由于自适应宽和高,导致一直有滚动条的问题
收藏 0 赞 0 分享

xhEditor 免费的国产HTML在线编辑器

在线编辑器,CKeditor+CKfinder的组合是首选的,可惜CKfinder要收费,黄金搭档只有1个是免费的,又不想用回老版本,所以站长只好另寻他路。
收藏 0 赞 0 分享

asp.net+FCKeditor上传图片显示叉叉图片无法显示的问题的解决方法

今天用FCKeditor上传图片的时候,图片可以上传成功,可是预览的时候却显示个叉叉,前台也是显示不出来,原来服务器需要配置下。
收藏 0 赞 0 分享

ckeditor syntaxhighlighter代码高亮插件,完美修复

昨天匆忙发了个更新版,今天去找ckeditor的api文档看了很久,终于找到解决办法了
收藏 0 赞 0 分享

FCKeditor .NET的配置、扩展与安全性经验交流

FCKeditor是使用非常广泛的HTML编辑器,本文从 ASP.NET 的使用场景对 FCKeditor 与 FCKeditor.NET 的配置、功能扩展(如自定义文件上传子目录、自定义文件名、上传图片的后期处理等)、以及安全性进行初步的阐述。
收藏 0 赞 0 分享

FCKeditor 图片上传进度条不动的解决方法

开发的“历史五千年”网站,使用FCKeditor,在本地上传图片一切正常,但昨天晚上实际向网络服务器(Windows Server 2003)发送图片时,发送图像进度条一直在滚动,无法关闭,通过FTP服务器查看服务器,图片已经传送上去,但这个滚动条却无法结束。
收藏 0 赞 0 分享
查看更多