Foros del Web » Programando para Internet » PHP »

Problema con FPDF

Estas en el tema de Problema con FPDF en el foro de PHP en Foros del Web. Hola, tengo un problemilla con FPDF. Me explico, genero una consulta en la base de datos y necesito que el resultado de esta (que son ...
  #1 (permalink)  
Antiguo 04/04/2005, 15:47
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
Pregunta Problema con FPDF

Hola, tengo un problemilla con FPDF. Me explico, genero una consulta en la base de datos y necesito que el resultado de esta (que son archivos pdf), los despliegue en pantalla. Me recomendaros usar FPDF, lo baje genero los temas relativos pero al momento de despleguar en pantalla, genera bien el visor PDF dentro del browser (explorer), pero, en lugar del documento o imagen me despliga puros simbolos extraños y basurillas...que podra ser????
Gracias
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #2 (permalink)  
Antiguo 04/04/2005, 15:51
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Te fijaste en http://www.fpdf.org/ si hay algun problema relacionado con esto que te pasa?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 04/04/2005, 16:05
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
si busque

Pero no encontre nada relacionado.
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #4 (permalink)  
Antiguo 04/04/2005, 16:38
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Sinó tienes configurado el Adobe Reader, dentro del Explorer, Mozilla o lo que uses, posiblemente es lo que te causa problemas. Sería cosa de probar en otra computadora, no crees?
  #5 (permalink)  
Antiguo 04/04/2005, 16:56
 
Fecha de Ingreso: julio-2004
Mensajes: 194
Antigüedad: 13 años, 5 meses
Puntos: 1
Porque no poes el codigo a ver si es que estas haciendo algo mal y nos dices dodne probraloa ver si es tu pc?
__________________
"Hay Algo Activo en el piso de Abajo..."

K-Seraph Blog
  #6 (permalink)  
Antiguo 05/04/2005, 08:20
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
ahi va el codigo

Código PHP:
$NombreBD "";
$Servidor "";
$Usuario "";
$IdConexion mysql_connect($Servidor$Usuario);
mysql_select_db ($NombreBD$IdConexion) OR die ("No es posible establecer una conexion con la Base de datos");

$iddoc=$_POST['iddoc'];$idcliente=$_POST['idcliente'];$iddepto=$_POST['iddepto'];$numero=$_POST['numero'];$idtipo=$_POST['tipo'];
$SQLconsulta="SELECT * FROM imagen where idref='$iddoc'";
$consulta mysql_query($SQLconsulta,$IdConexion) or die(mysql_error());
$NFilas mysql_num_rows($consulta);

$pdf=new PDF();
$title='Digital Documents';
$pdf->SetTitle($title);
$pdf->SetAuthor('Cliente');
$cont=1;
if (
$rowmysql_fetch_array($consulta))
{
    DO
    {
        
$pdf->Cell('documentos/$idcliente/$iddepto/$idtipo/$row[nombre]');
       
$pdf->Output();
        
$cont++;
    }
    WHILE (
$row=mysql_fetch_array($consulta));

Estuve revisando y al parecer lo que no hace bien es el comando para mostrar la imagen en pantalla...$row[nombre], es el nombre de la imagen que se encuantra guardada en la base de datos. Me da la sensacion que lo que esta mal es el Cell, pero no se cual poner.
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #7 (permalink)  
Antiguo 05/04/2005, 08:35
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Sacala, pone cualquier texto estatico en su logar a ver si es eso!.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #8 (permalink)  
Antiguo 05/04/2005, 08:47
Avatar de satake  
Fecha de Ingreso: julio-2004
Mensajes: 140
Antigüedad: 13 años, 4 meses
Puntos: 0
Cita:
Iniciado por polaya
Código PHP:
$NombreBD "";
$Servidor "";
$Usuario "";
$IdConexion mysql_connect($Servidor$Usuario);
mysql_select_db ($NombreBD$IdConexion) OR die ("No es posible establecer una conexion con la Base de datos");
 
$iddoc=$_POST['iddoc'];$idcliente=$_POST['idcliente'];$iddepto=$_POST['iddepto'];$numero=$_POST['numero'];$idtipo=$_POST['tipo'];
$SQLconsulta="SELECT * FROM imagen where idref='$iddoc'";
$consulta mysql_query($SQLconsulta,$IdConexion) or die(mysql_error());
$NFilas mysql_num_rows($consulta);
 
$pdf=new PDF();
$title='Digital Documents';
$pdf->SetTitle($title);
$pdf->SetAuthor('Cliente');
$cont=1;
if (
$rowmysql_fetch_array($consulta))
{
    DO
{
$pdf->Cell('documentos/$idcliente/$iddepto/$idtipo/$row[nombre]');
$pdf->Output();
$cont++;
}
WHILE (
$row=mysql_fetch_array($consulta));

Estuve revisando y al parecer lo que no hace bien es el comando para mostrar la imagen en pantalla...$row[nombre], es el nombre de la imagen que se encuantra guardada en la base de datos. Me da la sensacion que lo que esta mal es el Cell, pero no se cual poner.
fijate que pusiste $idtipo=$_POST['tipo'];
quizas tendrías que haber puesto $idtipo=$_POST['idtipo'];
fijate bien si lo que recibe del formulario tiene como nombre tipo o idtipo y si es ese el error corregilo y contanos como te fue
__________________
:aplauso: www.aponlinevillaguay.com.ar :aplauso:

Cita:
Iniciado por alguien
El arca de Noé fue hecha por principiantes, el Titanic por "profesionales".

Última edición por satake; 05/04/2005 a las 08:50
  #9 (permalink)  
Antiguo 05/04/2005, 09:12
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
probe

satake, probe lo que me comentaste y esta bien, el parametro que viene de la pagina anterior se llama tipo y cuando lo recibo lo cambio a idtipo, lo desplegue por pantalla y lo esta recibiendo bien.

Nicolaspar, probe sacando la instruccion y poniendo cualquier texto y no me lo muestra. Abre el pdf en el browser pero ahora en blanco no con basurillas.
Saque el Cell del if, es decir lo puse directamente despues de crearlo y tampoco muestra nada.

¿?
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #10 (permalink)  
Antiguo 05/04/2005, 09:33
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
intenté con esto

Código PHP:
$pdf->Image('<img src="documentos/$idcliente/$iddepto/$idtipo/$row[nombre]">'); 
Y me arroja el siguiente error:
Código PHP:
WarningMissing argument 2 for image() in c:archivos de programaapache groupapachehtdocsdigitalclientefpdf.php on line 895

Warning
Missing argument 3 for image() in c:archivos de programaapache groupapachehtdocsdigitalclientefpdf.php on line 895
FPDF error
Image file has no extension and no type was specified
Las imagenes son formato PDF...
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #11 (permalink)  
Antiguo 05/04/2005, 11:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
polaya ...

Debes leer la documentación de FPDF .. realmente estás usando la mayoría de métodos (como el Cell, image .. etc) sin más .. y estos requieren de parámetros (obligatorios) ..

Por ejemplo .. el método Cell() .. un ejemplo:
$pdf->Cell(90,12,'BLa blabla',0,1,'L');

En fin .. en la documentación oficial de FPDF tienes ejemplos (hasta con el código en castellano!!!) ...

El método "image()" no sé por qué usas HTML ahí .. Recuerda que estás generando un PDF . .nada que ver con "HTML" .. así que esos tag de <img .. sobra .. Dicho método requiere de una ruta absoluta de la imagen.

Un saludo,
  #12 (permalink)  
Antiguo 05/04/2005, 14:00
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
lo hice

$pdf->cell(0,10,'ejem.pdf',0,1,'L',1);
Cluster, hice lo que me dijiste con el cell, pero asi y todo me abre una pagina pdf en blanco. y si pruebo con la imagen es decir el comando "image", me dice:
FPDF error: Unsupported image type: l
LO UNICO QUE QUIERO HACER ES HABRIR UN PDF EN EL VISOR DE PDF...¿QUE TAN DIFICIL PUEDE SER ESO?...POR QUE NO ME RESULTA?????????
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #13 (permalink)  
Antiguo 06/04/2005, 11:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
polaya ..

Lee las FAQ's de FPDF .. tienes un montón de comentarios sobre el tema para que revises!!!

http://www.fpdf.org/es/FAQ.php

Revisa la n°3; con respecto a esos comentarios que ahí veras te puedo decir que uso FPDF con IE 6 y 5.5 sin problemas .. no uso nada más extra (de lo que ahí dice o menciona) .. pero no está de más que hagas tus pruebas con eso que ahí indica.

Un saludo,
  #14 (permalink)  
Antiguo 06/04/2005, 11:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
polaya ...

Me puedes explicar que es lo que pretendes hacer cuando haces:
$pdf->cell(0,10,'ejem.pdf',0,1,'L',1);

No sé si pretenderas "llamar a ese .pdf" para que se te abra en tu navegador. Si es así . .vas mal encaminado, no deberias usar ninguna classe tipo FPDF o similar para "abrir" tu documento.pdf ..

Para abrir un documento PDF desde el archivo en si (NO generarlo dinámicamente con PHP .. eso es otro tema que por ejemplo resuelve la classe FPDF ..)

Código PHP:
<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>
www.php.net/header

Un saludo,
  #15 (permalink)  
Antiguo 07/04/2005, 15:37
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
gracias cluster

me explico, escaneo imagenes en formato pdf, tengo un area en el sitio en la cual el cliente ingresa con nombre de usuario y clave. En esta seccion el puede buscar los documentos por fecha, tipo, numero, etc. Los resultados de esa busqueda se despliegan en pantalla como un listado pero cada resultado tiene asociada la imagen correspondiente al documento. Es en este punto cuando el cliente desea ver la imagen asociada es que necesito que se genere el visor de pdf, asi el cliente podria imrpimirla si desea.
Eso es...no se si con el codigo que me enviaste resultara.
Ya llevo muchos dias en esto y mi colon me esta pasando la cuenta
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #16 (permalink)  
Antiguo 07/04/2005, 15:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues es lo que te he comentado en mi último mensaje .. TU ya tienes el .pdf generado .. sea una "imagen" .. o sea un PDF en sí eso es lo de menos .. el archivo.pdf lo tienes ya en tu servidor.

Supogo que te guardaras el nombre/ruta de ese .pdf que en algún momento subes a tu servidor .. ? Si es eso .. usa lo último que comenté sobre "header() y readfile()" .. TU no vas a generar PFD's dinámicamente .. sino que quieres "entregar" el archivo PDF al cliente (navegador) .. eso se hace con dicho uso de esas funciones.

Un saludo,
  #17 (permalink)  
Antiguo 07/04/2005, 16:13
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
Tienes razon

yo ya tengo las imagenes en formato pdf y necesito mostrarlas por la web, tenias razon al decir que con el otro iva por el camino equivocado, pense que con el fpdr podia mostrar las imagenes pdf.
Ahora intente con la funcion que me enviaste y me funciona con un pdf estatico, pero no con el variable.
Me explico, cuando el cliente hace la consulta, las imagenes se buscan en una ruta como esta:
documentos/$cliente/$depto/$tipo/$nombre
donde nombre es el nombre del doc en formato pdf.
esto esta dentro de un while, ya que un resultado de la busqueda puede tener mas de una imagen asociada.
Entonces cuando pongo:
readfile('documentos/$cliente/$depto/$tipo/$nombre');
me dice que no puede abrir el documento porque no es un tipo de archivo soportado.
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #18 (permalink)  
Antiguo 07/04/2005, 16:22
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
No, vos tenes que tener el listado separado de la descarga (eso que te paso cluster fuerza un download).
Entonces, en el listado pasale como parametro, al archivo de download, que file descargar.
En el de download haces la descarga como dijo cluster.
Sino, pone un link directo al pdf, si el usuario tiene el visor intalado, lo abrira en el browser, sino lo descargara. Aclaro esto, por que creo que es lo que queres lograr.
Salute
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #19 (permalink)  
Antiguo 07/04/2005, 17:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
podia mostrar las imagenes pdf.
confundes mucho lo que hace tu aplicación de escaneo .. El documento es .pdf .. ahora, que tenga -por página- una imagen a tamaño de página con ese "escaneo" es lo de menos cara a lectores y demás .. Otra cosa es que administrases "jpg" o cualquier otro tipo de archivo de imagen directo .. El resultado sería el mismo . .de hecho no necesitarías usar el Adobe Acrobat Reader o cualquier otro visor de archivos PDF instalado como plug-in de ese navegador ... pues un "JPG" por ejemplo es un formato que ya interperta -por defecto- un navegador común ..

------

Por lo demás .. tienes que ejecutar el código que te presenté de forma aislada y llamarlo tipo

bucle(){
<a href="ver_pdf.php?cliente=<? echo $row['cliente'] ?>&dtop=<? echo $row['depto'] ?>">ver este documento</a>
}

Un saludo,
  #20 (permalink)  
Antiguo 07/04/2005, 17:46
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
Gracias

Gracias Cluster y Nicolaspar.
Ustedes tienen razon estaba confundiendo los conceptos y ademas parece que queria hacer algo que es un tanto imposible.
Hice la llamada directamente con el href a la imagen y la abre sin problemas en el acrobat.
El punto es que me abre una imagen a la vez y lo que yo queria era que abriera juntas todas las que estan asociadas a un mismo resultado. No se si algun dia lo lograre o si es algo asi como mision imposible, pero por ahora me resulta solo con una y eso esta bien...cumple. Ahora tengo que tratar de encontrar la manera de que cumpla de forma mas eficiente.
Gracias por la paciencia, realmente han sido una gran ayuda.
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #21 (permalink)  
Antiguo 07/04/2005, 22:01
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Tienes un ejemplo del resultado que quieres obtener o de lo que obtienes para ilustrar mejor el problema??

saludos
  #22 (permalink)  
Antiguo 08/04/2005, 12:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
El punto es que me abre una imagen a la vez y lo que yo queria era que abriera juntas todas las que estan asociadas a un mismo resultado
A no ser que vía otros métodos "unas" esos N ".pdf" que vas a obtener para componer UNO con N páginas y esos resultados .. tendrás que mostrar tan sólo unos "links" de resultados que apunten a esos N .pdf que resulten y será tu usuario quien los tenga que ir abriendo UNO, por UNO. No puedes montar un "bucle" para enviar N .pfd's .. A lo sumo .. usar frames/iframes .. pero en el fondo es lo mismo .. una llamada por "PDF" a ver a tu script que lo obtenga y presente.

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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 18:06.