Как просто встроить показ doc-файлов на сайт

Doc-файлы, и вообще офисные форматы - ужасно кривые и неудобные. При добавлении их на сайт можно конечно воспользоваться буфером обмена и просто скопировать и вставить контент в визуальный редактор сайта, но при этом возникнут следующие проблемы:

  1. верстка документа будет гарантированно крива, весьма вероятно разъедется и будет по-разному выглядеть под разными браузерами;
  2. картинки не вставятся, их надо будет отдельно загружать, предварительно "выдернув" и ворда;
  3. вставленные из excel формулы и графики... даже не знаю, что с ними случится;
  4. ppt, pptx, pps, odp, pdf - эти и другие офисные форматы таким способом на сайт не вставишь.

Поэтому задачу трансляции офисных файлов на сайт можно просто решить необычным путем: показывая документ внутри <iframe> через специальный online-сервис, заточенный под декодирование расшифровку всех этих форматов.

Существует известное решение от Google, но у него есть две проблемы:

  1. через <iframe> оно "из коробки" не работает в IE9;
  2. через <iframe> оно иногда подглючивает. Долгие исследования проблемы выявили приблизительные причины:
    • если у пользователя заведен аккаунт в Gmail и он достаточно давно авторизовывался в Gmail последний раз
    • и если в данный момент ни он, ни какой-либо другой пользователь данного ПК не авторизован в Google
то содержимое <iframe> не отображается. При попытке зайти напрямую по адресу (по которому должно забираться содержимое iframe) происходит переадресация на форму подтверждения авторизации от Google с введенным логином и просьбой ввести пароль.

Вместо Google.Docs можно воспользоваться альтернативным сервисом http://viewer.zoho.com/ , компонент на основе которого и предлагается вашему вниманию.

Поддерживаемые форматы:

  • Microsoft Office Formats
    • doc / docx - Microsoft Word Document
    • xls / xlsx - Microsoft Excel Spreadsheet
    • ppt / pptx - Microsoft PowerPoint
    • pps - PowerPoint Slideshow
  • OpenDocument Formats
    • odt - OpenDocument Text
    • ods - OpenDocument Spreadsheet
    • odp - OpenDocument Presentation
  • OpenOffice Formats
    • sxw - OpenOffice.org Writer Document
    • sxc - OpenOffice.org Calc Spreadsheet
    • sxi - OpenOffice.org Impress Presentation
  • More Rich Text Formats
    • wpd - Corel Word Perfect Document
    • pdf - Adobe Portable Document Format (PDF viewer is in experimental stage)
    • rtf - Rich Text Format
    • html - Hyper Text Markup Language
    • txt - Plain Text Document
  • More Spreadsheet Formats:
    • csv - Comma Separated Values
    • tsv - Tab Separated Values

Работает в следующих браузерах:

  • Internet Explorer 6+
  • Mozilla Firefox 1.5+
  • Opera 9+
  • Chrome 4+
  • Safari 3+

В визуальных настройках компонента можно включить или выключить кэширование документа и убрать панель инструментов документа.

Также помимо поля типа "файл" для загрузки документа есть поле для количества страниц, на основе которого меняется высота iframe в котором выводится документ. Ширину одной страницы также можно задавать в визуальных настройках.

Компонент "PhPh NetCat DocsViewer by zoho.com":

Attach:PhPh_NetCat_DocsViewer_by_zoho.tpl

Update-2015

Сервис zoho.com, увы сдох. А Гугл работает. Поэтому все теперь пользуются Гуглом.

Блог

NetCat: техническая поддержка и доработка сайтов

Мы работаем с CMS NetCat уже больше 10 лет. У нас большой опыт и ответственный подход к делу.

далее

Права Доступа в Компонентах: работают не так, как ожидается; но можно накостылить патч

Если в настройках Раздела или Инфоблока NetCat попробовать дать доступ на изменение объекта ВСЕМ, ничего не получится. Просмотр и Добавление работают одним образом, а Изменение, Включение и Удаление -- другим.

далее

Как расставить запятые между тегами на CSS?

Иногда проще что-то сделать на чистом CSS, чем на серверной стороне. Например, расставить запятые между тегами. Попробуем разделить подчеркнутые теги-ссылки на чистом CSS.

далее

Как отресайзить картинки батчем?

Все фотографии, которые вы собираетесь отресайзить, должны быть в одной директории, скажем «uploads». Внутри нее можно сохранить любую структуру директорий. Мы научимся создавать копию этой директории, внутри которой все картинки будут отресайзены, причем только в сторону уменьшения разрешения.

далее

Весь блог тут