2010-02-15 6 views
4

Когда я загрузить PDF в Google Docs (с использованием библиотеки GData Питона), я получаю ссылку на документ:Вставить Google Docs для просмотра PDF в IFRAME

>>> e.GetAlternateLink().href 
Out[14]: 'http://docs.google.com/a/my.dom.ain/fileview id=<veery-long-doc-id>&hl=en' 

К сожалению, используя эту ссылку в IFRAME не работает для меня, потому что Средство просмотра PDF перенаправляет на себя, вырываясь из IFRAME.

Ищете решение, я нашел это: http://googlesystem.blogspot.com/2009/09/embeddable-google-document-viewer.html - это выглядит очень красиво, но я не могу найти способ использовать его с документом, загруженным в Документы Google. Кто-нибудь знает, как это сделать/если это вообще возможно?

+0

Причина, по которой она выходит из iframe, заключается в том, что Google не имеет лицензии на это использование – TFD

+0

Почему закрытие голоса? Ответ, который Google не имеет лицензии на встраивание, является вполне достоверным ответом, если поддерживается соответствующей выдержкой из EULA. Но если google обеспечивает встраиваемый PDF-просмотрщик, то это, вероятно, предназначено для встраивания, не так ли? –

+0

В любом случае вы можете использовать средство просмотра google, чтобы пользователи не могли сохранить его в своей учетной записи google, передав определенные переменные? – ApPeL

ответ

7

Только для записи - я не нашел способа заставить «внутренний» google google pdf viewer не выйти из iframe. И как я уже говорил в этом вопросе, я нашел это хороший автономный зритель: http://googlesystem.blogspot.com/2009/09/embeddable-google-document-viewer.html, который может быть использован, как это:

<iframe src="http://docs.google.com/gview?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe> 

- но для того, чтобы использовать его, вы должны опубликовать PDF к внешнему миру. Это не было бы плохим решением, потому что опубликованный документ имеет уникальный идентификатор, который, вероятно, сложнее угадать, чем пароль для учетной записи google docs. К сожалению, даже с самым популярным API API Docs API версии 3, похоже, нет никакого способа публикации PDF программно.

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

3

Чтобы встроить PDF-файлы, присутствующие в вашей документации Google на свой сайт используйте следующий код:

<iframe src="http://docs.google.com/gview?a=v&pid=explorer&chrome=false&api=true&embedded=true&srcid=<id of your pdf>&hl=en&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe> 
+0

Это не работает. В нем говорится, что документ недоступен. P.S. Документ должен быть доступен всем, чтобы быть вложенным. – Royi

+0

да, вы правы, я забыл упомянуть об этом. Документ должен быть общим для всех, чтобы это работало. –

+0

+1, очень полезный Дипак. благодаря –

1

Документы Google вложение в Iframes через зритель проблематичны в IE8, если уже не кэшируется, и просто не равный значительно лучшему средству Scribd, позволяющему просто создать простую html-страницу с документом, встроенным через предоставленный им объектный код для документа. Затем я использую его как исходный файл для моего iframe. Он показывает печать (а также полноэкранную кнопку) прямо на странице встроенного фрейма. Гораздо более дружелюбный и надежный для посетителей страницы.

0

Попробуйте это!

же, как и другие ответы выше ...

<iframe src="https://docs.google.com/gview?url={magical url that works}"></iframe> 

кроме magical url that works является https://drive.google.com/uc?id=<docId>&embedded=true.


Google Drive/Docs предоставляет кучу разных URLs:

  • https://drive.google.com/open?id=<docId> Поделиться ссылкой.
  • https://docs.google.com/document/<docId>/edit Открыть в Google Диске.
  • https://docs.google.com/document/d/<docId>/view То же, что и «редактировать». Я думаю.
  • https://docs.google.com/document/d/<docId>/pub?embedded=true Для встраивания в IFRAME, если вы File -> Publish to the web...
  • https://drive.google.com/uc?export=download&id=<docId> Прямая ссылка на файл.

Я столкнулся с этим решением после кучи проб и ошибок с различными ссылками. Надеюсь это поможет!

 Смежные вопросы

  • Нет связанных вопросов^_^