2011-04-06 8 views
13

Nos gustaría mostrar el documento (por ejemplo, pptx, xlsx, docx, pdf, html) en una página html después de recuperarlo de la base de datos a través del método doGet de un servlet.
¿Alguien puede compartir algunos fragmentos sobre cómo lograr esto?¿Cómo incrustar un documento en la página HTML?

+0

"Mostrar" ¿cómo? ¿Utiliza un complemento del navegador que está instalado en el sistema del usuario? –

+0

sí, a través de un complemento de navegador – user339108

+1

Solo necesita devolver el tipo de MIME apropiado en el encabezado de respuesta. – symcbean

Respuesta

20

contenido no HTML aparte de imágenes necesita ser recuperado utilizando un objeto, embed o etiqueta iframe

  1. iframe: <iframe src="somepage.pdf"></iframe>
  2. objeto/incrustar: <object src="somepage.pdf"><embed src="somepage.pdf"></embed></object>

somepage.pdf podría ser somepage.jsp? filename = somepage & mimetype = application/pdf

Aquí es un enlace interesante How to Embed Microsoft Office or PDF Documents in Web Pages

y aquí es una stackoverflow search

+1

Necesito usar elementos de estilo en línea del documento principal en el documento secundario. Iframe no permite esto. ¿Funcionaría esto con incrustar u objeto? – user2284570

+0

Poco probable. Si el dominio cruzado tampoco funcionará. Si no, entonces iframe debería funcionar. Haga una pregunta separada – mplungjan

+0

mismo dominio. Pero la pregunta ya está formulada y sus respuestas solo brindan respuesta para usar hojas de estilo externas. – user2284570

0

Si usted está buscando una versión HTML puro del documento (para la representación rápida y soporte de los navegadores de cruz), se puede pasar por Docspad. Docspad ayuda a incorporar todos los diferentes formatos populares de documentos en su aplicación web. http://docspad.com

+4

Docspad está muerto: "Ya no admitiremos los servicios de Docspad a partir del 19 de octubre de 2014" –

6

Google docs viewer puede manejar esto.

tratar

<html> 
    <head> 
     <style> 
      *{margin:0;padding:0} 
      html, body {height:100%;width:100%;overflow:hidden} 
     </style> 
     <meta charset="utf-8"> 
      <?php 
       $url = $_GET['url']; 
      ?> 
     <title><?php echo $url; ?></title> 
    </head> 
    <body> 
     <iframe src="http://docs.google.com/viewer?url=<?=urlencode($url)?>&embedded=true" style="position: absolute;width:100%; height: 100%;border: none;"></iframe> 
    </body> 
</html> 
+0

Gracias, esta es la única forma que encontré y funcioné. –

Cuestiones relacionadas