Рендеринг/редактирование документов MS Office в браузере с помощью SharePoint или WOPI

У меня есть приложение Rails. Я хочу выполнять CRUD-операции с документами пользователя в Интернете, но я хочу отображать документы MS Office (на основе OpenXML) в браузере. Я слышал о WOPI/SharePoint. Как я могу интегрировать его с моим веб-приложением?


person ashwintastic    schedule 16.09.2020    source источник
comment
SharePoint — это серверный продукт DMS/CMS, а не библиотека. Очень большой, очень тяжелый.   -  person Panagiotis Kanavos    schedule 21.09.2020


Ответы (2)


То, что вы ищете, действительно называется WOPI. Чтобы быть точным, вы хотите интегрировать Office Online Server ( клиент WOPI) с вашим приложением (хост WOPI). Таким же образом работает и интеграция с SharePoint (SharePoint играет здесь роль хоста WOPI).

Вам необходимо реализовать следующий поток:

поток WOPI

Переведено в ваше приложение — ваше приложение Rails будет генерировать URL-адреса, указывающие на клиент WOPI. и предоставление ему информации о файлах MS Office, информации об аутентификации и т. д. Затем клиент WOPI обращается к этим файлам в ваше приложение Rails, которое также должно будет реализовать конечные точки REST, определенные протоколом MS-WOPI (в основном CheckFileInfo, GetFile и PutFile действия).

person rocky    schedule 21.09.2020

Если вы просто хотите обеспечить просмотр документов, которые находятся в открытом доступе, вы можете использовать средство просмотра Office Live Viewer или средство просмотра документов Google. В основном вам нужно предоставить URL-адрес вашего документа этим службам.

Я нашел этот сайт, на котором в настоящее время доступны демонстрации для онлайн-просмотрщиков, вы можете проверить это: https://xtai-umd.github.io/docs-viewer-demo/

В SharePoint также есть так называемая WopiFrame.aspx страница (или WopiFrame2.aspx), которая позволяет отображать документы, подобные приведенному выше сайту, но с аутентификацией. Обратите внимание, что это будет работать только для документов, которые хранятся в SharePoint (то есть в конкретном SharePoint, где вы используете этот WopiFrame.aspx).

Если вы разрабатываете веб-часть SPFx, я думаю, это то, что вам нужно. Поскольку в этом случае оба выполняются в контексте сайта SharePoint, вам не нужно много думать о безопасности, обо всем позаботятся.

Я имею в виду, что внедрить собственный сервер WOPI совсем непросто, и в дополнение к этому вам понадобится сервер Office Web Apps, либо установленный локально в вашей организации, либо онлайн-сервер Microsoft. Насколько я знаю, чтобы иметь возможность использовать Microsoft, вам нужно быть участником программы Cloud Storage.

Я бы не рекомендовал внедрять собственный сервер WOPI, если он действительно не нужен по какой-либо причине (в моем случае это были довольно специфические требования безопасности).

person Nikolay    schedule 26.09.2020