首页 文章

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

提问于
浏览
2

我的应用程序托管在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数据库中查看文件吗?

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

2 回答

  • 0

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

    Introduction to WOPI

    WOPI Protocol Documentation on MSDN

    Example of Custom WOPI Host Build with MVC

    WOPI -- Good Simple Explanation

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

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

  • 7

    根据EULA Office Web Apps / Office Online Server可能未部署在Azure(或任何其他公共 Cloud )中 . 根据EULA安装OOS时:用户权限...您可以在任何专用于客户使用的服务器上的任意数量的物理和虚拟操作系统环境中运行任意数量的服务器软件实例 . 服务器定义为能够运行服务器软件的物理硬件系统 .

    基本上,因为Azure中的物理服务器由多个客户共享,根据定义,它们不专用于单个客户的使用 . 因此,为什么您在Microsoft网站上找不到任何引用,以描述在Azure中部署OWA或OOS的任何场景 .

相关问题