Foros del Web » Programando para Internet » PHP »

:: FPDF - ruta imagenes en BD - 1 imagen por pagina ::

Estas en el tema de :: FPDF - ruta imagenes en BD - 1 imagen por pagina :: en el foro de PHP en Foros del Web. hola a todos. he creado un PDF (a traves de fpdf), que entrega una hoja por cada grupo de registros encontrados, por ejemplo, si consulto ...
  #1 (permalink)  
Antiguo 08/06/2009, 08:14
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Exclamación :: FPDF - ruta imagenes en BD - 1 imagen por pagina ::

hola a todos.

he creado un PDF (a traves de fpdf), que entrega una hoja por cada grupo de registros encontrados, por ejemplo, si consulto por elementos que tengan igual mes de ingreso, ej: diciembre 2001, y existen 10 registros con esas caracteristicas, me entrega un pdf con 10 paginas, y en cada pagina aparecen las distintas varialbes que haya querido imprimir, ....EL PROBLEMA es que tengo en mi BD, una columna que me almacena la ruta de una imagen asociada al registro, imagen que se guarda en un directorio de mi servidor (por ej: h t t p : / / localhost/php/imagen/imgs/1244428323desk_20.jpg). Y lo que quiero es que asi como me muestra los textos de cada registro, me imprima tambien la imagen.

como veran en el codigo que les adjunto, si en la declaracion uso $row[6], me arroja error ($row[6] es la que contiene la ruta de la imagen).


codigo:

require('fpdf.php');

$link = mysql_connect("localhost","xxx","xxx") or die ("Lo siento, no se pudo conectar con el servidor") ;
mysql_select_db("prueba", $link) or die ("problemas en la conexion a la base de datos");
$mes = $_POST['mes'];
$ano = $_POST['ano'];
$result = mysql_query("select * from test1 where month( fecha_obs )='$mes' and year( fecha_obs ) = '$ano'",$link);


$pdf=new FPDF();
while($row=mysql_fetch_array($result))
{
$pdf->AddPage();
$pdf->SetFont('Arial','B',12);
$pdf->Cell(80,10,$row[0],0,1,'C');
$pdf->Cell(80,10,$row[1],0,1,'L');
$pdf->Cell(80,10,$row[2],0,1,'C');
$pdf->Cell(80,10,$row[3],0,1,'C');
$pdf->Cell(80,10,$row[4],0,1,'C');
$pdf->Cell(80,10,$row[5],0,1,'C');
$pdf->Cell(80,10,$row[6],0,1,'C'); //me muestra la ruta en texto
$pdf->Image('h t t p : / / localhost/php/imagen/imgs/1244428323desk_20.jpg',0,0,35,45,JPG);//con imagen estatica funciona ok

$pdf->Image('$row[6]',0,0,35,45,JPG);////con esto me da este error Warning: getimagesize($row[6]) [function.getimagesize]: failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/php/fpdf.php on line 1202
FPDF error: Missing or incorrect image file: $row[6] lo mismo sin las ' ' en $row[6] ///

$pdf->Cell(80,10,$fecha,0,1,'C');
}
$pdf->Output();
---------------

alguien me podria ayudar a como mostrar las imagenes que tengo ?????
  #2 (permalink)  
Antiguo 08/06/2009, 17:25
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: :: FPDF - ruta imagenes en BD - 1 imagen por pagina ::

bueno.. me respondi solo.. pero así como he recibido ayuda... ahora puedo ayudar por si alguien ahi necesita hacer algo como lo que buscaba...

al final, el tema, era como la gran mayoria de las cosas... un par de DETALLES... el primero, es que en vez de tratar con la variable que contiene la imagen ($row[6]), la cosa es simplemente renombrarla !!

$ee = $row[6];

y luego, se reemplaza en donde se define la imagen en la funcion Image, PERO ERA SIN ' o " ni nada...

$pdf->Image($ee,65,100,50,37.5);

este es un ejemplo simple FUNCIONANDO... probado !!.... espero le sea util a alguien.
EXITOS !

---php
require('fpdf.php');
class PDF extends FPDF
{
function Footer()
{
//Posición: a 1,5 cm del final
$this->SetY(-20);
//
$this->SetFont('Arial','B',8);
$this->Cell(0,5,'testo pie de pagina',0,2,'C');
$this->SetFont('Arial','I',8);
$this->Cell(0,5,'Página '.$this->PageNo(). '/{nb}',0,0,'C');
}
}

$link = mysql_connect("servidor","icaro","xxx") or die ("Lo siento, no se pudo conectar con el servidor") ;
mysql_select_db("prueba", $link) or die ("problemas en la conexion a la base de datos");
$mes = $_POST['mes'];
$ano = $_POST['ano'];
$result = mysql_query("select * from test1 where month( fecha_obs )='$mes' and year( fecha_obs ) = '$ano'",$link);


$pdf=new PDF();
$pdf->AliasNbPages();
while($row=mysql_fetch_array($result))
{

$pdf->SetLeftMargin(30);
$pdf->AddPage();
$ee = $row[6];
$pdf->Image($ee,65,100,50,37.5);

}
$pdf->Output();
---php

Última edición por icarocu; 08/06/2009 a las 18:53 Razón: error de escritura
  #3 (permalink)  
Antiguo 31/07/2009, 07:01
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: :: FPDF - ruta imagenes en BD - 1 imagen por pagina ::

Saludos a todos, tengo el mismo problema con la imagen, lo que pongo es:

$img = $rowc["image"];
$this->Image($img,1,1,200,0,'jpg');

he probado un montón de combinaciones, poniendo 'jpg' sin ponerlo, con $img y nada, da el error:
FPDF error: Image file has no extension and no type was specified

$rowc["image"]; = imagen.jpg, por lo que si pongo $this->Image('imagen.jpg',1,1,200,0,'jpg'); si funciona. No se que es lo que falto o hay que cambiar para que detecte bien la imagen.

Lo raro que a ti de la misma forma dices que te va bien....
Tal vez la diferencia es que tu haces
$pdf->AddPage();
$ee = $row[6];
$pdf->Image($ee,65,100,50,37.5);

y yo la imagen la pongo en

class PDF extends FPDF
{
//Cabecera de página
function Header()
{
//Logo
$this->Image($img,1,1,200,0);
...
}


No se si tendrá algo que ver.

Gracias por tu ayuda.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:10.