Подтвердить что ты не робот

HTML встроенный PDF iframe

Я использовал тег для вставки файла pdf.

<iframe id="iframepdf" src="files/example.pdf"></iframe>

Это отлично работает в Chrome, IE8 +, Firefox и т.д., но по некоторым причинам, когда некоторые люди просматривают его в IE8, файлы загружаются, а не встраиваются. Я знаю, что этот браузер устарел, но это стандартный браузер в моем офисе и, как таковой, сайт должен быть разработан для этого.

Есть ли у кого-нибудь идеи о том, почему это происходит, как я могу это исправить, или вместо сообщения об ошибке отправить сообщение об ошибке?

4b9b3361

Ответ 1

Он загрузился, вероятно, потому, что не установлен плагин Adobe Reader. В этом случае IE (неважно, какая версия) не знает, как его отобразить, и он просто загрузит файл (например, у Chrome есть свой встроенный рендеринг PDF).

Это сказало. <iframe> не лучший способ отображения PDF (не забывайте о совместимости с мобильными браузерами, например Safari). Некоторые браузеры всегда будут открывать этот файл во внешнем приложении (или в другом окне браузера). Лучший и самый совместимый способ, который я нашел, немного сложнее, но работает на всех браузерах, которые я пробовал (даже довольно устаревший):

Сохраните < iframe>, но не отобразите PDF внутри него, он будет заполнен HTML-страницей, состоящей из тега <object>. Создайте страницу HTML-упаковки для своего PDF файла, она должна выглядеть так:

<html>
<body>
    <object data="your_url_to_pdf" type="application/pdf">
        <embed src="your_url_to_pdf" type="application/pdf" />
    </object>
</body>
</html>

Конечно, вам все равно нужен соответствующий плагин, установленный в браузере. Также обратите внимание на этот пост, если вам нужно поддерживать Safari на мобильных устройствах.

первый. Почему вложенность <embed> внутри <object>? Здесь вы найдете ответ здесь на SO. Вместо вложенного тега <embed> вы можете (должны!) Предоставлять пользовательское сообщение для ваших пользователей (или встроенный просмотрщик, см. Следующий параграф). В настоящее время <object> можно использовать без забот, а <embed> бесполезно.

второй. Почему HTML-страница? Таким образом, вы можете предоставить резервную копию, если программа просмотра PDF не поддерживается. Внутренний просмотрщик, простые сообщения об ошибках HTML/параметры и т.д.

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

Ответ 2

Если в браузере установлен плагин pdf, он выполняет объект, если он не использует Google PDF Viewer, чтобы отобразить его как обычный HTML:

<object data="your_url_to_pdf" type="application/pdf">
    <iframe src="https://docs.google.com/viewer?url=your_url_to_pdf&embedded=true"></iframe>
</object>

Ответ 3

Iframe

<iframe id="fred" style="border:1px solid #666CCC" title="PDF in an i-Frame" src="PDFData.pdf" frameborder="1" scrolling="auto" height="1100" width="850" ></iframe>

Объект

<object data="your_url_to_pdf" type="application/pdf">
  <embed src="your_url_to_pdf" type="application/pdf" />
</object>

Ответ 4

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

<iframe src="https://docs.google.com/viewerng/viewer?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true" frameborder="0" height="100%" width="100%">
</iframe>