0,0
рейтинг
11 января 2011 в 15:39

Google Docs Viewer из песочницы

Google Docs ViewerGoogle Docs Viewer — это онлайн-сервис работающий на платформе Google Docs и позволяющий непосредственно в веб-браузере и без авторизации просматривать документы поддерживаемые сервисом Google Docs, например Adobe PDF, Microsoft Word или Microsoft PowerPoint.

Преимуществом такого варианта является возможность просмотра документов множества форматов без загрузки на локальный диск. Другим преимуществом является безопасность — не все PDF и DOC документы безопасны для просмотра через Adobe Reader и MS Word.


Где и как используется


Существует множество способов использования данного сервиса «корпорации зла». Для просмотра документов через Google Docs Viewer можно сгенерировать ссылку на странице сервиса docs.google.com/viewer. Также сервис генерирует html-код для встраивания в сторонние страницы упрощенного приложения просмотра через iframe (подробнее о таких ссылках ниже).

Google Docs Viewer Embedded

Так же Google Docs Viewer используется в Google Search, предлагая пользователю ссылку на быстрый просмотр найденных файлов, формат которых поддерживается Google Docs. Многие браузеры уже обзавелись расширениями быстрого просмотра документов реализованные через сервис Google Docs Viewer: Google Chrome, Mozilla FireFox, Safari.

GET-параметры ссылок


Для получения различного рода материалов от Google Docs Viewer используются GET-параметры. Вот основной, но не весь, список параметров:
  • url — URL источник документа (поддерживаемые форматы файлов);
    Пример:
    http://docs.google.com/viewer?url={URL документа}

  • a — тип возвращаемого документа:
    • “v” — будет отрыто приложение просмотра документа (это значение по умолчанию);
    • “gt” — будет возвращен xml документ с распознанным текстом (пример);
    • “bi” — будет возвращено изображение страницы документа в формате PNG8 (параметр pagenumber обязателен);
  • pagenumber — номер страницы (только при a=bi), может быть равен только существующей странице в документе;
    Пример:
    http://docs.google.com/viewer?url={URL документа}&a=bi&pagenumber=3

  • w — ширина страницы в px (только при a=bi и указанном параметре pagenumber), минимум 1, максимум 2400 (≈A4x300px/inch), по умолчанию 800 (≈A4x100px/inch);
    Пример:
    http://docs.google.com/viewer?url={URL документа}&a=bi&pagenumber=3&w=250

  • q — источник документа в кэш Google Search (замена параметру url) (пример);

  • embedded — включение/выключение (значения соответственно true/false) интерфейса встраиваемого в сторонние html-страницы (по умолчанию false);
    Пример:
    http://docs.google.com/viewer?url={URL документа}&embedded=true

Поддерживаемые форматы и ограничения


Google Docs Viewer поддерживает большее количество форматов файлов, чем задокументировано. Некоторые форматы, неподдерживаемые при GET-параметре &a=v, поддерживаются при других значениях параметра (gt/bi). Так же имеется ограничение на размер файла: до 22Мб (обнаружено экспериментальным методом). Ограничений на количество страниц не было обнаружено.

Таблица поддерживаемых форматов:

Форматы документов С парметром
&a=v
С парметрами
&a=gt или &a=bi
 image  Текстовые документы
doc, docx, odt, pdf, pages, xps + +
rtf, sxw, sdw 5.0, txt, html (generate OpenOffice 3) +
dotx, ott, psw, prn, stw, vor, uot, xml
 image  Табличные документы
xls 97/2000/XP, xlsx + +
sdc 5.0 +
csv, chm, dbf, dif, djvu, hlp, ods, ots, pxl, sdc 3.0/4.0, stc, sxc, slk, uos, xlt, xls 5.0/95, xlsm
 image  Презентации
ppt, pptx + +
sdd 5.0, sxi (только текст) +
odg, odp, otp, pot, pptm, ppsx, sdd 3.0/4.0, sda, sti, uop
 image  Изображения
dfx, eps, psd, ps, svg, tif, ttf + +
ai 9.0+ +
ai 3.0/8.0, bpm, dwg, emf, eot, fxg, gif, jpg, met, otf, pbm, pct, pgm, png, ppm, pwp, ras,
svm, swf, sxd, svgz, jpf, psb, raw, sct, woff

Возможна работа других, не указанных в таблице, форматов. Указаны только те форматы, которые участвовали в личных экспериментах.

Что же в итоге


Есть, очевидно, и другие сервисы, предлагающие аналогичные функциональные возможности. Например расширение для браузеров OpenITOnline, сервис ViewDocsOnline.com и другие. Но основным отличием и преимуществом Google Docs Viewer является то, что он не ограничивается просто расширением для браузера или веб-приложением для просмотра текстовых или графических документов. Данный сервис предоставляет очень гибкий и удобный интерфейс как для пользователей так и для разработчиков приложений.

С помощью сервиса легко получить тексты из различных источников, которые могут в дальнейшем быть использованы при поиске по документам или для других целей. Так же легко получить превью изображения этих документов. Предоставленный интерфейс по протоколу HTTP даст возможность работать с документами даже в скриптовых языках (JS и др.).

Надеюсь, полезный сервис станет еще полезнее благодаря этой статье.

upd-1 (12.01.2011):
Дополнил таблицу поддерживаемых форматов форматами MS Office 2007 (см. коммент). Спасибо за подсказку MaximKat.
upd-2 (21.02.2011):
Дополнил таблицу поддерживаемых форматов форматами Apple Pages (.pages), Autodesk AutoCad (.DXF), PostScript (.ps), TrueType (.TTF), XML Paper Specification (.XPS) (навеяно хабратопиком-переводом). А также расширил эксперимент следующими форматами: djvu, eot, otf, woff, chm, hlp.
Юрий Ефремочкин MerkUriy @merkuriy
карма
15,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (24)

  • +3
    Посмотрел пример для получения XML-документа с распознанным текстом и сразу вспомнил цикл статей PDF — текст любой ценой. С подобным сервисом всё становится проще.
    • +1
      С интересом читал />этот цикл статей. Участвовал в разработке проектов, где была необходимость парсить текст из различных документов, поэтому интересовался этой темой.

      Но если там добивались только текста, то здесь XML даёт нам и немного информации о форматировании текста: расположении блоков текста и размерах шрифта:

      
      <block l="276" t="204" w="59" h="14">
      	<text l="276" t="204" w="59" h="14" p="276,38,317,18">
      		Google, Inc.
      	</text>
      </block>
      


      Вот что мы видим: «l» — отступ блока слева от края страницы, «t» — отступ сверху, «w» — ширина, «h» — высота (которая одновременно даёт информацию и о размере шрифта в блоке), «p» — позиции «подблоков» (используемых при выделении во вьювере), по паре значений на каждый (первое значение отступ слева от края страницы и ширина).
  • 0
    Действительно, очень полезный и удобный сервис. Жалко, что он не поддерживает многие расширения файлов изображений.
  • +12
    А я один так испорчен, что не сразу разглядел белку на картинке?
    • +3
      Ну и зачем вы это сказали?
      Я ведь смотал обратно, посмотрел на белку и со второй попытки увидел то, что вы увидели с первой. Теперь спать спокойно не смогу…
  • 0
    > без авторизации просматривать документы

    Нажимал на примеры, направляет на авторизацию сначала. Конкретно ссылка из pagenumber.
    • 0
      К сожалению, у меня не получается сэмулировать такую же ситуацию как у Вас. Отлючил сессию пользователя на гугле во всех браузерах, после чего удалил куки по фильтру «goo*», но ссылка в примере у GET-параметра сразу возвращала PNG-изображение.

      Очень хотелось бы разобраться в ситуации, которая произошла у Вас.
      • 0
        Мне, к сожалению и стыду, тоже не удается воспроизвести это.
        Было: Опера, нажал на ссылку, случился переход на вход Гугля, где мой логин был введен, а пароль спрашивался. Ввел пароль, кинуло куда надо.

        Удалил куки гугля, пробовал входить — выходить, всё работает.

        Если ещё придумаю что — напишу, а так, если больше никто подобного не сообщит, можно и на невысыпание отнести :)

        PS Спасибо за статью.
        • 0
          Такая-же ситуация. Тоже отправился на авторизацию. Причем, в приватной вкладке (в опере) картинка открылась.
        • 0
          >случился переход на вход Гугля, где мой логин был введен, а пароль спрашивался

          Вы были залогинены, но в результате какихто проверок безопасности вы были перенаправлены на страницу повторного ввода пароле. такое бывает не только в доксах.
          • 0
            Спасибо за пояснение.
            Имхо, злая фича…
  • 0
    Классно, жаль проверить не могу из-за быстрого Мегафон-модема
  • 0
    Не подскажете как решить обратную задачу? Скачать гуглодок по ссылке. Требование только одно — отсутствие необходимости в каком бы то ни было графическом интерфейсе, чтобы можно было скриптом на сервере запускать.
    • 0
      Если я правильно понял, то это возможно разными способами.

      Например через публикацию документа в гуглодоксе: у вас появиться ссылка вида docs.google.com/document/pub?id={id-документа} на док с облегченным интерфейсом, из которой можно получить ссылку на документ совсем без интерфейса добавив параметр &embedded=true, вот так:
      docs.google.com/document/pub?id={id-документа}&embedded=true
  • 0
    качественный первый пост. поздравляю!
    • 0
      Спасибо! Рад поделится хорошей статьёй.
  • +1
    pptx тоже открывает, можете добавить в таблицу
    • 0
      Спасибо за подсказку, я совсем и забыл про форматы MS Office 2007. Проверил, PPTX тоже поддерживается (пример).

      А так же проверил другие форматы введённые в MS Office 2007:
      dotx (не поддерживается, пример),
      xlsx (поддерживается, пример),
      xlsm (не поддерживается, пример),
      pptm (не поддерживается, пример),
      ppsx (не поддерживается, пример).

      Обновлю таблицу.
  • 0
    Можно ли как то вручную обновить файл который показывается.
    А то google берет не свежую только залитую версию, а из своего кэша.

    например если прайс лист обновляется каждые пол часа.
  • 0
    Кто-нибудь знает, гугл закрыл сервис?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.