使用Wopi和Office Online Server在Word中编辑

时间:2016-05-17 12:46:23

标签: asp.net ms-word outlook-web-app ms-wopi

我正在开发一个项目,我们用word实现了内容管理。 我们有一些word文件,正在使用OpenXML进行处理。 用户可以通过两种方式打开这些文件 - 下载副本或在线编辑。使用基于this example构建的Office Online Server和自定义Wopi服务器实现在线编辑。

在线编辑工作正常,但与桌面Word相比,Word Online的功能有限。

我正在尝试构建类似于Sharepoint的功能,其中用户有2个选项 - 在Word中编辑,在浏览器中编辑: Sharepoint Word edit options

在Office Online Server中我没有这样的选项,我只能在浏览器中编辑: OOS Word edit options

即使在编辑模式下,Sharepoint也提供了在Word中编辑的链接: Sharepoint in edit mode

而Office Online Server没有它: OOS in edit mode

我的问题是它是如何在Sharepoint中实现的? 换句话说,我是否在Wopi服务器中遗漏了某些东西以启用它,或者Microsoft已将此功能构建到Sharepoint中,而不需要Wopi和/或OWA?

任何想法都将不胜感激!

2 个答案:

答案 0 :(得分:2)

启用"在Word中编辑"在使用WOPI处理程序时,在Office Online Server中,需要在CheckFileInfo中设置ClientUrl属性(如果实现,则需要设置CheckFolderInfo)。 ClientUrl应设置为文档文件的直接可编辑链接,WebDAV或FSHTTP,但您甚至可以使用file://链接进行测试。

设置ClientUrl属性时,Office Online行为与OneDrive / SharePoint Online非常相似。当前的WOPI文档有点过时,它在未使用和未来属性下列出了此属性,但没有任何秘密。我问过dochelp@microsoft.com,这是微软的开放规范支持"在许多关于WOPI和Office Online的演示文稿和出版物中都提到过邮箱。

Word Online Reading View:

Edit Document menu in Reading View

单击OPEN IN WORD后单词在线编辑视图: 'Open in Word' menu behavior

答案 1 :(得分:1)

我非常确定功能(在Word中编辑)不是Office Online Server的一部分,并且它没有使用WOPI协议。在以前版本的SharePoint中,它是使用WebDAV实现的,我想这并没有改变。如果要支持打开/编辑/保存,则应实现自己的WebDAV服务器。如果您使用ITHit之类的预建服务器,则可以节省大量时间。他们还有一个JS框架来支持opening files from browser

如果您想要一个便宜的跨浏览器替代方案,只需调用编辑应用,我建议您查看Office URIs