entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

¿Cómo inserto un fichero PDF generado con mPDF en una plantilla usando CodeIgniter?

Quiero conseguir algo como ésto:
http://tekdi.net/demoz/index.php?option=com_content&view=article&id=65&Itemid=34

Un fichero PDF dentro de una web, de manera que aparezcan la cabecera, los menús, etc. de la web.

Estoy usando CodeIgniter como framework PHP, y dentro de éste, la librería mPDF.
He logrado generar el pdf, pero a pantalla completa en una nueva página.
¿Alguna sugerencia? Les estaría muy agradecidos.

Feliz día a todos.

1 Respuesta

2votos

Leonardo-Tadei Puntos227320

Hola joseda85,

una forma simple de hacer esto es usar el visor de PDF de Google. Se usa así:

<iframe src="http://docs.google.com/gview?url=http://tusitioweb.com/ruta/archivo.pdf&embedded=true" style="width:500px; height:375px;" frameborder="0"></iframe>

Si no querés depender de terceros, podés usar pdf.js http://mozilla.github.io/pdf.js/
Funciona casi igual y podés poner en un iframe la salida para ajustar ubicación y tamaño.

Saludos!

0voto

carlossevi comentado

Muy buena tu respuesta, simplemente añadir que tenga en cuenta las propiedades que le pasa a mPDF para guardar el resultado:

$mpdf->Output('nombre.pdf','D');

Fuerza la descarga del fichero en el navegador del cliente vía cabecera HTTP.

$mpdf->Output('nombre.pdf','F');

Guarda el fichero PDF en la ruta local especificada. Este es el que debería usar para pasarle luego la ruta al visor de PDF utilizado. Existen más opciones que se pueden consultar en la documentación oficial de mPDF.

0voto

Joseda85 comentado

Muchas gracias a los dos. No sabía sobre el visor PDF de Google. Es bueno saberlo. Ahora lo probaré. Al final opté por descargarme el fichero PDF generado y después acceder a él usando la etiqueta <embed>.

Quería buscar una solución en la que no tubiera que descargárme el fichero generado. Pensé que si con el método "Output()" de mPDF se puede generar un documento PDF sin tener que guardarlo en el servidor, lo mismo se podría generar de alguna manera sobre una etiqueta <embed> o <iframe>, pero las soluciones que he encontrado son demasiado complicadas o no me han funcionado.

Un saludo y muchas gracias de nuevo.

0voto

Leonardo-Tadei comentado

Por nada!

al no existir una etiqueta HTML que muestre contenido en formato PDF, siempre deberás generar el archivo en algún lado para poderlo mostrar... a lo sumo lo generás de forma temporal y después lo borrás, pero en algún momento tiene que existir.

Con las bibliotecas que te menciono, tenés sí que generar el archivo, pero no hay que descargarlo en el disco de la computadora del cliente para que se vea, ya que el visor lo muestra directamente desde el servidor remoto.

Saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta