Как просто встроить показ doc-файлов на сайт
Doc-файлы, и вообще офисные форматы - ужасно кривые и неудобные. При добавлении их на сайт можно конечно воспользоваться буфером обмена и просто скопировать и вставить контент в визуальный редактор сайта, но при этом возникнут следующие проблемы:
- верстка документа будет гарантированно крива, весьма вероятно разъедется и будет по-разному выглядеть под разными браузерами;
- картинки не вставятся, их надо будет отдельно загружать, предварительно "выдернув" и ворда;
- вставленные из excel формулы и графики... даже не знаю, что с ними случится;
- ppt, pptx, pps, odp, pdf - эти и другие офисные форматы таким способом на сайт не вставишь.
Поэтому задачу трансляции офисных файлов на сайт можно просто решить необычным путем: показывая документ внутри <iframe>
через специальный online-сервис, заточенный под декодирование расшифровку всех этих форматов.
Существует известное решение от Google, но у него есть две проблемы:
- через
<iframe>
оно "из коробки" не работает в IE9; - через
<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, увы сдох. А Гугл работает. Поэтому все теперь пользуются Гуглом.