用于Azure存储托管文档的Microsoft Office Web查看器

Dio*_*art 2 c# asp.net sharepoint azure ms-wopi

我的应用程序托管在Microsoft Azure上的VM中,并处理MS-Office文档(.doc,.docx,.xls,.xlsx,.ppt,.pptx).用户需要查看存储在Azure Storage Service上的这些文档.

我正在寻找一个与我的应用程序集成的查看器.在显示这些文件之前,我的应用程序会进行一些验证,以检查用户是否可以查看文件,打印或下载.在某些情况下,当用户请求查看OpenXML文档(.docx)时,我的应用程序首先修改该文件,然后再将其显示给用户.

我的第一选择是使用Microsoft的免费查看器(http://products.office.com/en-us/office-online/view-office-documents-online),通过iframe将其集成到我的应用程序中,但我不能限制用户对文件的访问权限 - 没有禁用打印或下载的参数.

我的第二选择是将这些文档转换为PDF并使用PDF查看器,但是将这些文档转换为PDF需要专有的解决方案(如Aspose)和Excel文件在转换为PDF时没有良好的外观.

在删除上述选项后,我正在考虑使用Office Web Parts和Sharepoint来创建新的VM.Office Web Apps是一个不错的选择吗?我可以使用Office 365吗?我是否可以与我的应用程序集成,限制用户对文档的操作以及从OneDrive或Sharepoint数据库中查看文件?

如果您有任何其他解决方案,请告诉我.谢谢.

pat*_*etu 7

您可以在Azure中的VM上安装Office Web Apps Server,不需要SharePoint或其他任何东西,Office Web Apps Server是一个独立的产品,它只能免费查看.Web Apps Server具有详细记录的WOPI(Web应用程序开放平台接口协议),您可以使用它来连接到自定义文档系统.关于如何为WOPI做自定义主机,有各种各样的博客和示例.这是一些资源.

WOPI简介

MSDN上的WOPI协议文档

使用MVC的自定义WOPI主机构建示例

WOPI - 简单的解释

看看CheckFileInfo Json,它有一个选项可以将true传递给"DisablePrint"并加载其他选项,还有一些未记录的文件,比如FileSharingUrl,我在修补SharePoint 2013和Office Web App时找到了它.

请注意,Office Web App Server不会安装在具有SQL Server的VM或SharePoint等任何其他服务器产品上.我不确定您是否可以使用Office.com上的Office Web Server通过WOPI协议连接到您自己的文档系统