【问题标题】:Microsoft Office web viewer for Azure Storage hosted documentsAzure 存储托管文档的 Microsoft Office Web 查看器
【发布时间】:2014-12-25 10:25:37
【问题描述】:

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

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

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

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

在消除上述选项后,我正在考虑使用带有 Office Web 部件和 Sharepoint 的新 VM 来执行此操作。 Office Web Apps 是一个不错的选择吗?我可以改用 Office 365 吗?我可以与我的应用程序集成、限制用户对文档的操作以及查看 OneDrive 或 Sharepoint 数据库中的文件吗?

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

【问题讨论】:

  • 以下解决方案对您有用吗?

标签: c# asp.net azure sharepoint ms-wopi


【解决方案1】:

您可以在 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”和许多其他选项,我在修改 SharePoint 2013 和 Office Web App 时发现了一些未记录的选项,例如 FileSharingUrl。

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

【讨论】:

  • 谢谢帕特克图!这对我帮助很大。我已经安装了 OWA,它正在通过 iframe 集成到我的应用程序中。我不知道如何构建自己的 WOPI 服务器。您知道配置选项“DisablePrint”和“FileSharingUrl”是否适用于 Office Web Apps 2013 SP1?用户查看文档时可以禁用打印或下载吗?
  • 很高兴为您提供帮助!我认为 DisablePrint 等也应该适用于 OWA 2013 SP1。 CheckFileJson 中还有一个 DownloadUrl 属性,所以我猜如果您不为其传递值,那么下载按钮也将被禁用。然而,利用这些属性,您必须提供自己的 WOPI 主机,它可能只是一个 ASP.NET 处理程序或一个简单的 WebAPI 控制器,带有两个操作 CheckFileInfo 和 GetFile。
  • @pateketu 我想微软提供 MWA 服务器的方式有一些变化,我要为客户构建一个解决方案,其业务是云存储,如果我必须遵循什么路径建议我遵循在获得云存储合作伙伴计划之前建立 POC,我的意思是任何试用?另外我想让您知道,我的客户对没有 Sharepoint 的 Microsoft 托管 MS Office 应用程序更感兴趣。
  • @MuhammadMamoorKhan 不确定我明白你的问题,你在构建什么类型的 PoC?
  • 我需要为存储在云存储上的办公文档构建一个编辑器/查看器。
【解决方案2】:

根据 EULA,Office Web 应用程序/Office Online Server 不得部署在 Azure(或任何其他公共云)中。安装 OOS 时根据 EULA: 用户权利…… 您可以在供客户使用的任何服务器上的任意数量的物理和虚拟操作系统环境中运行任意数量的服务器软件实例。服务器被定义为能够运行服务器软件的物理硬件系统。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-12
    • 2021-10-01
    • 2011-07-06
    • 2013-01-21
    • 1970-01-01
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多