Foros del Web » Programando para Internet » PHP »

¿Mostrar pdf?

Estas en el tema de ¿Mostrar pdf? en el foro de PHP en Foros del Web. ¿Se puede mostrar por el navegador (o mandar) un archivo pdf ya creado sin tener que instalar librerías como PDFLib o similar? Es que me ...
  #1 (permalink)  
Antiguo 28/03/2005, 11:40
 
Fecha de Ingreso: febrero-2005
Mensajes: 20
Antigüedad: 19 años, 1 mes
Puntos: 0
¿Mostrar pdf?

¿Se puede mostrar por el navegador (o mandar) un archivo pdf ya creado sin tener que instalar librerías como PDFLib o similar? Es que me estoy volviendo loco intentandolo y lo único que consigo son archivos corruptos.
  #2 (permalink)  
Antiguo 28/03/2005, 12:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Para generar un PDF desde PHP dinámicamente puedes usar alguna de las librerías (classes):

FPDF (www.fpdf.org)
R&OS (no recuerdo el link .. en google sale a la primera).

Estas classes son simples scripts PHP .. no requieren de nada extra instalado en el servidor.

Otra cosa es que ya tengas tu .pdf generado y lo quieras enviar al navegador ... En ese caso sería conveniente que pongas el código que usas, en principio no es más que generar las cabeceras HTTP adecuadas (sobre content-type vía header()) y leer tu archivo .pdf (con readfile() para entregarlo al buffer de salida de PHP). El detalle está que no puedes usar nada más de salida antes al navegador (nada de HTML ni demás).

Un saludo,
  #3 (permalink)  
Antiguo 28/03/2005, 14:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 20
Antigüedad: 19 años, 1 mes
Puntos: 0
Vaya, muchas gracias, el fallo era que antes hacía una consulta en la base de datos, he puesto el codigo para ver el pdf en un fichero aparte y funciona.
Solo tengo una pequeño problema, en el explorer funciona perfectamente, pero usando el firefox (mozilla) solo funciona la primera vez, después no muestra nada.
Si alguien sabe la razón de esto por favor q la ponga antes de volverme loco , de cualquier manera gracias por la respuesta anterior, sois los mejores

Se me olvidaba el código:
Código PHP:
<?
$tam 
filesize("./ficheros/proyecto.pdf");
header("Content-type: application/pdf");
header("Content-Length: $tam"); 
header("Content-Disposition: inline; filename=proyecto.pdf");
$file='./ficheros/proyecto.pdf';
readfile($file);
?>
  #4 (permalink)  
Antiguo 28/03/2005, 14:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Vaya, muchas gracias, el fallo era que antes hacía una consulta en la base de datos, he puesto el codigo para ver el pdf en un fichero aparte y funciona.
Eso no es el problema .. (si pones el código completo vériamos que sucede .. junto con el error concreto).

Sobre el problema de como cierto navegador interpreta de tal forma algunas cabeceras HTTP concretas (como la de "inline vs attachment") eso ya no lo define PHP .. lamentablemente los fabricantes de navegadores no se ponen deacuerdo. Desconozco como trata dichas cabeceras y PDF el navegador Firefox.


Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:27.