@savao
Python-программист

Как сделать просмотр документов разных форматов в браузере?

Добрый день.
Нужно найти какое-то решение для предоставления пользователям возможности просмотра документов загруженных на сервер в браузере. Аналогично Google Docs и подобным сервисам.
Платформа работает на Python.
Пока вижу только два варианта - использовать апи таких сервисов как Google Docs etc, загружать туда файлы и потом показывать пользователю результат работы сервиса или запускать какой-то пакет типа Libre Office на сервере и отдавать документ ему, генерить в нём html и отдавать пользователю.
И тот и другой вариант имеют ряд существенных минусов.
Может кто-то предложит что-то другое.
Или, если других вариантов нет, то какой сервис/пакет лучше использовать для реализации указанных вариантов?
  • Вопрос задан
  • 165 просмотров
Пригласить эксперта
Ответы на вопрос 2
@rPman
На сервере предварительно 'распечатайте' документы в pdf, это на текущий момент самый универсальный метод для просмотра документов, любых, без потери форматирования, причем очень часто не теряется текстовая информация, т.е. это не картинки.

с pdf в браузере на порядок проще, есть javascript просмотрщики и у клиента обычно уже что то есть для этого, зачастую с автоматическим просмотром из браузера.
Ответ написан
Комментировать
orlov0562
@orlov0562
I'm cool!
Еще вариант генерить картинки и показывать пользователям именно их.

В вариантах с конвертированием на стороне своего бэкенда будет куча геммора и не всегда результат будет удовлетворительным. Всего скорее под каждый формат надо будет использовать отдельные утилиты, изучать их особенности и в дальнейшем следить за их работой. Например, в случае использования LibreOffice или Apache Tika. Кроме того, если есть потребность показывать контент на моб устройствах, генерация в html всего скорее не подойдет, тк в большинстве случаев она работает построчно с фиксированием позиционированием, т.е. на мобильных не будет нормального масштабирования.

Если есть возможность использовать сторонние сервисы, вроде Google Docs или Office365, я бы использовал их. Там довольно простая интеграция, все уже давно отлажено: например в таблицах работают формулы, нормально работают на моб устройствах. В зависимости от задач, возможно, надо будет потратиться на API, но на момент когда я просчитывал под свои задачи, это было сопоставимо с содержанием своего сервера под парсинг.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы