Любой встраиваемый просмотрщик документов - PullRequest
3 голосов
/ 14 июня 2011

Я хочу включить просмотрщик документов в свое приложение CakePHP для загруженных документов.Я хочу, чтобы программа просмотра поддерживала Microsoft Word (.DOC и .DOCX), Microsoft PowerPoint (.PPT и .PPTX) и переносимый формат документов Adobe (.PDF).

Я хочу, чтобы мои пользователи могли просматриватьдокументы, но не скачать его.Средство просмотра документов Google прекрасно, но пользователи могут просто вставить URL-адрес в адресную строку и загрузить документ.

Могу ли я в любом случае поделиться своими документами с пользователями так же, как читаемые документы?

Ответы [ 2 ]

5 голосов
/ 14 июня 2011

Сначала вы должны понимать, что когда браузер пользователя отображает какой-то файл / контент, он уже находится на компьютере пользователя .Он уже был загружен.Нет волшебства: «контент остается на сервере, но пользователь может его видеть».Данные всегда передаются с сервера пользователю, и пользователь может заставить данные оставаться на своем компьютере - так или иначе.

Если вы поняли это, у вас есть несколько вариантов:

  • Вам нет дела до того, что у пользователя есть файл.Это самый вменяемый вариант.Все остальные методы - это своего рода «DRM», который ненавидят пользователи.
  • Передача данных, которые пользователь должен видеть только в браузере:
    • генерирует изображение той части документа, которой является пользовательглядя на и отправить это в браузер.У пользователя нет текстовых данных, и ему нужно выполнить много запросов для загрузки всего документа.
    • написать плагин для браузера (java, flash, javascript), который считывает зашифрованные документы с сервера, дешифрует их (опять же,на компьютере пользователя - что означает, что он может заглянуть в него) и отображает его.Таким образом, пользователь не просто получает документ, но должен расшифровать его.

Существуют решения, например, встраивание слайд-презентаций с отключенной опцией загрузки.Не пытайтесь придумывать свои собственные, особенно если вы не хотите идти долго с поддержкой и постоянными улучшениями.

1 голос
/ 03 ноября 2011

Я придерживаюсь следующих рекомендаций с помощью Google Document Viewer.

  • Создайте случайный URL-адрес каждый раз для документа (используя сценарии на стороне сервера и htaccess. Я использую PHP & htaccess).Это не даст никому прямой доступ к файлу.
  • Кодируйте время и дату (с помощью любого серверного сценария кодирования строки) с помощью URL-адреса, чтобы файл мог быть доступен только в течение определенного времени (скажем, 5 минут)
  • Выводить файл только в соответствии с пользовательским агентом Google Document Viewer.Это даст Google Viewer доступ только к этому файлу, но ни к кому другому, даже если они введут этот адрес в браузере.

Это все еще не очень безопасный способ, но он помогает мне.

...