Любая встраиваемая программа просмотра документов

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

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

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


person Ivanka T    schedule 14.06.2011    source источник


Ответы (2)


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

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

  • Вам все равно, что у пользователя есть файл. Это самый разумный вариант. Все остальные методы являются своего рода «DRM», которые пользователи ненавидят.
  • Transfer the data the user shall see to the browser only:
    • generate an image of the part of the document the user is looking at and send that to the browser. The user has no text data and needs to do many requests to get all of the document downloaded.
    • написать плагин для браузера (java, flash, javascript), который читает зашифрованные документы с сервера, расшифровывает их (опять же, на машине пользователя — значит, он может в нее заглянуть) и отображает. Таким образом, пользователь не просто получает документ, а должен его расшифровать.

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

person cweiske    schedule 14.06.2011
comment
Спасибо, я ценю ваше понимание. - person Ivanka T; 15.06.2011

Я придерживаюсь следующих рекомендаций, используя программу просмотра документов Google.

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

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

person Omer    schedule 03.11.2011