Foros del Web » Programando para Internet » PHP »

visualizar pdf

Estas en el tema de visualizar pdf en el foro de PHP en Foros del Web. que tal, ahi les va mi problemita: estoy almacenando en una base de datos unos archivos pdf (en eso no hay problema), el problema es ...
  #1 (permalink)  
Antiguo 30/09/2004, 13:05
 
Fecha de Ingreso: agosto-2002
Mensajes: 121
Antigüedad: 21 años, 8 meses
Puntos: 0
Pregunta visualizar pdf

que tal, ahi les va mi problemita: estoy almacenando en una base de datos unos archivos pdf (en eso no hay problema), el problema es como le hago para visualizar el contenido de un pdf especifico que yo selecciones de una lista de archivos almacenados, es decir, algo como que al darle click en el nombre del archivo apdf almacenado me lo visualice directo con acrobat reader, espero me hayan entendido. Gracias.
  #2 (permalink)  
Antiguo 30/09/2004, 13:30
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Puedes guardar una ID de pdf a la vez cuando subes el archivo, i así solo tendras que passar por variable URL la ID a una pagina i con un echo te lo mostrarà, eso si no voy equivocado
  #3 (permalink)  
Antiguo 30/09/2004, 13:33
 
Fecha de Ingreso: agosto-2002
Mensajes: 121
Antigüedad: 21 años, 8 meses
Puntos: 0
pues eso ya lo hice pero al imprimirlo (echo) me salen solo caracteres expeciales.
  #4 (permalink)  
Antiguo 30/09/2004, 13:36
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Lo siento, en imprimir un pdf no tengo experiencia, pero puedes provar de crear el archivo i hacer un enlace haver que tal te va...

Saludos i suerte
  #5 (permalink)  
Antiguo 30/09/2004, 13:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usando cabeceras HTTP y leyendo tu archivo hacia el buffer de salida de PHP podrías hacer lo que pretendes. Sería algo tipo:

Código PHP:
<?php

// Haces tu consulta SQL a tu BD . .obtienes el nombre de tu archivo PDF

// Enviaremos un PDF (formato MIME del archivo)
header('Content-type: application/pdf');

// Nombre archivo que se ofrecerá para descarga
header('Content-Disposition: inline; filename="$row['archivo']"');

// La fuente del PDF se encuentra el PDF. Se lee el archivo de la ruta que esté y se entrega al buffer de salida directamente (equivalenta a un file() con algo más y al final un echo ...)

readfile($row['archivo']);
?>
más info:
http://www.php.net/header

Un saludo,

Última edición por Cluster; 30/09/2004 a las 13:50
  #6 (permalink)  
Antiguo 30/09/2004, 15:21
 
Fecha de Ingreso: agosto-2002
Mensajes: 121
Antigüedad: 21 años, 8 meses
Puntos: 0
cluster ya hice lo que me pusiste pero me manda el siguiente error:

<br>
<b>Warning</b>: readfile("PGC-DE-CD_borrador_.pdf") - No such file or directory in <b>d:\www\intranet\form_list_arch.php</b> on line <b>16</b><br>

y este es el codigo que utilizo para "recuperar" el pdf de my base de datos:

<?
$conexion=mysql_connect("localhost","","") or die ("no se ha podido conectar a la BD");

mysql_select_db("sgc04") or die ("no se ha podido seleccionar la BD");

$sql = "SELECT archivo_nombre, archivo_binario,archivo_tipo FROM archivos where id='1' ";

$consulta = mysql_query($sql,$conexion);

$datos = mysql_result($consulta,0,"archivo_binario");
$tipo = mysql_result($consulta,0,"archivo_tipo");
$nombre=mysql_result($consulta,0,"archivo_nombre") ;

header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="$nombre"');
readfile($nombre);
?>

Gracias.
  #7 (permalink)  
Antiguo 30/09/2004, 15:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero donde tienes ese archivo .. en que ruta? .. seguro que está en el mismo sitio que tienes y ejecutas ese script PHP o está en otra ruta?

Si corresponde .. en:
readfile($nombre);

Tendrías que añadir la ruta tipo:
readfile("archivos/".$nombre);

Y sobre todo asegurate que ese archivo en concreto: PGC-DE-CD_borrador_.pdf exista con ese nombre y en la ruta indicada.
  #8 (permalink)  
Antiguo 30/09/2004, 15:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ahh .. ahora me dí cuenta ..

En tu BD tienes el archivo completo .. NO referencias al archivo!!! .. así que cambia el asunto.

en lugar de readfile() tienes que hacer un simple:
echo $datos;

El resto .. como está.


De hecho .. el código que pusistes parece basado en:
http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/

Si te fijas .. el script "ver.php" ya hace eso mismo. Además que como usa el "$tipo" como formato MIME del archivo serviría para todo tipo de archivo .. no sólo PDF's sino también para .doc por ejemplo u otros .. Eso sí, algo más completo es si usas las cabeceras de 'Content-Disposition:'

Un saludo,
  #9 (permalink)  
Antiguo 30/09/2004, 15:49
 
Fecha de Ingreso: agosto-2002
Mensajes: 121
Antigüedad: 21 años, 8 meses
Puntos: 0
a caray, pues no lo tengo en ninguna ruta, intento sacarlo de una tabla mysql por medio de la consulta:

$sql = "SELECT archivo_nombre, archivo_binario,archivo_tipo FROM archivos where id='1' ";

despues de sacarlo, lo que necesito es ya visualizar el contenido de ese PDF.

para insertarlo en la base de datos me base en el

Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

que encontre en los faqs de este foro.
  #10 (permalink)  
Antiguo 30/09/2004, 15:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lee mi último comentario .. ahí te explico como debes hacerlo ..

Un saludo,
  #11 (permalink)  
Antiguo 30/09/2004, 15:57
 
Fecha de Ingreso: agosto-2002
Mensajes: 121
Antigüedad: 21 años, 8 meses
Puntos: 0
ya hice los cambios, al tratar de leer el archivo, parece que se "lanza" la aplicacion "acrobat reader" pero manda un mensaje : "El archivo esta dañado y no puede repararse". Cuando aparentemente lo subi correctamente a la base de datos.
  #12 (permalink)  
Antiguo 30/09/2004, 16:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Revisa si tu PDF subió completo a tu BD (verifica su tamaño y lee las notas acerca de los tipos de campos usados y su tamaño .. puede ser que no subiera completo al la tabla)

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 10:14.