¿Cómo incrustar un visor de PDF en una página?

89

Si no me equivoco, Google Docs ofrece los medios para mostrar un PDF almacenado en el mismo servidor que la página web a través de un <iframe>, pero necesito saber cómo puedo hacer esto de una manera compatible con varios navegadores.

Andrei Oniga
fuente

Respuestas:

197

Podría considerar usar PDFObject de Philip Hutchison.

Alternativamente, si está buscando una solución que no sea Javascript, puede usar un marcado como este:

<object data="myfile.pdf" type="application/pdf" width="100%" height="100%">
  <p>Alternative text - include a link <a href="myfile.pdf">to the PDF!</a></p>
</object>
Ian Gregory
fuente
Tal vez las cosas hayan cambiado desde 2012, pero si utilizo este enfoque, Chrome descarga automáticamente el PDF y se abre en un navegador externo.
Egon Willighagen
33

PDF.js es un experimento de tecnología HTML5 que explora la creación de un procesador de formato de documento portátil (PDF) fiel y eficiente sin la ayuda de código nativo. Está impulsado por la comunidad y respaldado por Mozilla Labs.

Puedes ver la demostración aquí .

mutil
fuente
16

Esto podría funcionar un poco mejor de esta manera

<embed src= "MyHome.pdf" width= "500" height= "375">
¿ComeAvena
fuente
Esto funcionó para mí. Pero también tuve que agregar un atributo type="application/pdf".
Iliar Turdushev
9

Si no me equivoco, el OP estaba preguntando (aunque luego aceptó una solución .js) si el servidor de visualización de PDF integrado de Google mostrará un PDF en su propio sitio web.

Entonces, un año y medio después: sí, lo hará.

Consulte http://googlesystem.blogspot.ca/2009/09/embeddable-google-document-viewer.html . Además, consulte https://docs.google.com/viewer e ingrese la URL del archivo que desea mostrar.

Editar: Releyendo, OP pedía soluciones que no usaran iFrames. No creo que eso sea posible con el visor de Google.

Jon
fuente
3

Asegúrese de probar cualquier solución en las diferentes preferencias de Reader. Un visitante del sitio puede tener su navegador configurado para abrir el PDF en Reader / Acrobat en lugar del navegador, por ejemplo, desactivando el complemento de Acrobat en Firefox.

No puedo estar seguro de mis resultados, porque tengo dos complementos de Acrobat diferentes que Firefox reconoce debido a que tengo diferentes versiones de Adobe Acrobat y Adobe Reader, pero parece que al menos necesitas probar qué sucede si un visitante del sitio web tiene su navegador configurado para no abrir el PDF en el navegador. Puede ser bastante molesto cuando miran lo que parece ser una página web utilizable y su navegador les pide que abran un archivo PDF que creen que no solicitaron. En algunos casos, el archivo PDF se abrió espontáneamente en Adobe Reader, no en el navegador, y en otros casos, el navegador abrió un cuadro de diálogo que decía que el archivo no existía.

Me encontré con tales discrepancias con iframe y object, diferentes problemas para diferentes códigos.

Esto es para código HTML simple. No he probado los marcos sugeridos.

Charles Belov
fuente
1

Realmente optaría por FlowPaper, especialmente su nuevo modo Elementos que se puede encontrar aquí: https://flowpaper.com/demo/

Aplana los archivos PDF de manera significativa al mismo tiempo que mantiene el texto nítido, lo que significa que se cargará mucho más rápido en los dispositivos móviles

Robby
fuente
1

con Bootstrap, puede tener un primer archivo integrado móvil y receptivo.

<div class="embed-responsive embed-responsive-16by9">
  <iframe class="embed-responsive-item" src="address of your file" allowfullscreen></iframe>
</div>

Aspect ratios can be customized with modifier classes.
<!-- 21:9 aspect ratio -->
<div class="embed-responsive embed-responsive-21by9">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>

<!-- 16:9 aspect ratio -->
<div class="embed-responsive embed-responsive-16by9">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>

<!-- 4:3 aspect ratio -->
<div class="embed-responsive embed-responsive-4by3">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>

<!-- 1:1 aspect ratio -->
<div class="embed-responsive embed-responsive-1by1">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>
Sina Riyazi
fuente
0

pdf2htmlEX de coolwanglu es probablemente la mejor solución que existe para convertir un archivo pdf en html. Puede hacer una conversión simple y luego incrustar la página html como un iframe o algo similar.

Dreizeiler
fuente