Веб-программа просмотра Microsoft Office для документов, размещенных в службе хранилища Azure

Мое приложение размещено на виртуальной машине в Microsoft Azure и обрабатывает документы 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 и Sharepoint для этого. Office Web Apps - хорошая альтернатива? Могу ли я использовать вместо этого Office 365? Могу ли я интегрироваться с моим приложением, ограничить действия пользователей с документами и просматривать файлы из базы данных OneDrive или Sharepoint?

Пожалуйста, дайте мне знать, если у вас есть другие решения. Спасибо.


person Diogo Arenhart    schedule 29.10.2014    source источник
comment
сработало ли приведенное ниже решение для вас?   -  person Rami Sarieddine    schedule 26.01.2017


Ответы (2)


Вы можете установить сервер Office Web Apps на виртуальную машину в Azure, вам не понадобится SharePoint или что-либо еще, Office Web Apps Server является автономным продуктом и бесплатен только для просмотра. Сервер веб-приложений имеет хорошо документированный протокол WOPI (протокол интерфейса открытой платформы веб-приложений), который вы можете использовать для подключения к своей пользовательской системе документов. Существуют различные блоги и примеры того, как создать собственный хост для WOPI. Вот некоторые ресурсы.

Введение в WOPI

Документация по протоколу WOPI в MSDN

Пример пользовательской сборки хоста WOPI с MVC

WOPI - хорошее простое объяснение

Взгляните на CheckFileInfo Json, это есть возможность передать true в «DisablePrint» и множество других параметров, есть некоторые недокументированные, такие как FileSharingUrl, которые я обнаружил, когда возился с SharePoint 2013 и Office Web App.

Обратите внимание, что Office Web App Server не будет устанавливаться на виртуальной машине с SQL Server или любым другим серверным продуктом, например SharePoint. Я не уверен, можно ли использовать Office Web Server на Office.com для подключения к вашей собственной системе документов по протоколу WOPI.

person pateketu    schedule 30.10.2014
comment
Спасибо патекету! Это мне очень помогло. Я установил OWA, и он интегрирован в мое приложение через iframe. Я не знал о создании собственного сервера WOPI. Знаете ли вы, работают ли параметры конфигурации DisablePrint и FileSharingUrl с Office Web Apps 2013 SP1? Могу ли я отключить печать или загрузку, когда пользователи просматривают документы? - person Diogo Arenhart; 04.11.2014
comment
Рад помочь! Я думаю, DisablePrint и т. Д. Также должны работать с OWA 2013 SP1. В CheckFileJson также есть свойство DownloadUrl, поэтому я думаю, если вы не передадите для него значение, кнопка загрузки также будет отключена. Однако при использовании этих свойств вы должны предоставить свой собственный хост WOPI, который может быть просто обработчиком ASP.NET или простым контроллером WebAPI с двумя действиями CheckFileInfo и GetFile. - person pateketu; 05.11.2014
comment
@pateketu Я предполагаю, что есть некоторые изменения в способе, которым Microsoft предоставила MWA Server, я должен создать решение для клиента, чей бизнес - облачное хранилище, какой путь я бы предложил, если мне нужно создать POC перед приобретением облачного хранилища Партнерская программа, я имею в виду пробную версию? Также я хотел бы, чтобы вы знали, что моего клиента больше интересуют приложения Microsoft Hosted MS Office, без Sharepoint. - person Muhammad Mamoor Khan; 10.06.2016
comment
@MuhammadMamoorKhan не уверен, что понял ваш вопрос: какой тип PoC вы создаете? - person pateketu; 12.06.2016
comment
Мне нужно создать редактор / программу просмотра офисных документов, хранящихся в облачном хранилище. - person Muhammad Mamoor Khan; 14.06.2016
comment
Их доступно множество, почему вы хотите создать свой собственный? проще создать программу просмотра, а не редактор - person pateketu; 14.06.2016

В соответствии с лицензионным соглашением Office Web Apps / Office Online Server нельзя развертывать в Azure (или любом другом общедоступном облаке в этом случае). В соответствии с лицензионным соглашением при установке OOS: Права пользователя… Вы можете запускать любое количество экземпляров серверного программного обеспечения в любом количестве физических и виртуальных операционных сред на любом Сервере, выделенном для использования Заказчиком. Сервер определяется как физическая аппаратная система, способная запускать серверное программное обеспечение.

В основном, поскольку физические серверы в Azure используются совместно несколькими клиентами, по определению они не предназначены для использования одним клиентом. Поэтому на веб-сайте Microsoft вы не найдете никаких ссылок, описывающих какие-либо сценарии развертывания OWA или OOS в Azure.

person Brian Edwards    schedule 03.08.2016