Mostrar imagen en PDF de una base de datos

Tengo en la base de datos un campo en la cual están las rutas donde se encuentran las imágenes.
Lo que necesito es mostrar la imagen en pdf.
Lo que tengo es esto:

¿

<?php require("fpdf/fpdf.php");include ("conexion.php");$buscar = "Accesorios-cortina";$pdf=new FPDF();class PDF extends FPDF {  public function Header() {    $this->Image('images/logoitc.png');    $this->SetFont('Arial','B',10);    $this->Cell(180,12, 'Fecha: ' .date('d/m/Y'), 0, 1, 'R');    $this->Ln(10);    $this->SetFont('Arial','B',15);    $this->Cell(180,10, 'Accesorios', 0, 1, 'C');    $this->Ln(8);    $this->SetFont('Arial','B',10);    $this -> SetTextColor(66, 134, 247);    $this->Cell(40,10   , 'Imagen',1, 0, 'C');    $this->Cell(100,10   , 'Descripcion',1, 0, 'C');    $this->Cell(20,10   , 'Costo',1, 0, 'C');    $this->Cell(20,10   , 'P.V.P',1, 0, 'C');  }}        $pdf = new PDF();    $pdf -> addpage();    $i="0";$pdf-> Ln(10);$pdf->SetFont('Arial','',8);$consulta = mysql_query("SELECT * FROM articulo");while ($datos=mysql_fetch_array($consulta)){   $fotografia         = $datos['fotografia'];   $descripcion        = $datos['descripcion'];   $nota               = $datos['nota'];   $costo              = $datos['costo'];   $pvp                = $datos['pvp'];   if ($descripcion == $buscar) {   if ($i == 0){      $color="255, 255, 255";      $i ="1";     }else{          $color="214, 235, 255";        $i="0";    }               $pdf -> SetFillColor($color);   $pdf -> Cell(40,10, $fotografia, 1, 0, 'C' , true);   $pdf -> Cell(100,10, $nota, 1, 0, 'C' , true);   $pdf -> Cell(20,10, $costo, 1, 0, 'C' , true);   $pdf -> Cell(20,10, $pvp, 1, 0, 'C' , true);   $pdf -> Ln(10);}}$pdf->Output();?>

Claro en $fotografía me muestra la ruta y yo necesito la imagen, no se como hacerlo.

El otro problema que tengo es que me imprime bien la primera página el encabezado osea el titulo y el subtitulo, pero en las sucesivas páginas solo imprime el titulo y no los subtitulos.

Los subtitulos son:

 $this->Cell(40,10, 'Imagen', 1, 0, 'C'); $this->Cell(100,10, 'Descripcion', 1, 0, 'C'); $this->Cell(20,10, 'Costo', 1, 0, 'C'); $this->Cell(20,10, 'P.V.P', 1, 0, 'C');

Que se encuentran en el header

Si alguien me puede ayudar

2 Respuestas

Respuesta

No utilices $pdf->Cell();

Para imprimir imágenes usa $pdf->Image(); (en el caso de que sea el cuerpo del documento, en el caso de que sea cabecera o pie de página usa $this->Image();)

Te dejo un link muy bien explicado. http://www.fpdf.org/

Hola,

Gracias por responder.

Si ya lo se que hay que poner $this->Image();)

Si te fijas en la parte del titulo me funciona perfecto.

El problema es que en $fotografia está la ruta donde se encuentra la imagen la que es leída de la base de datos.

Y lo que necesito es que aparezca la imagen dentro de una celda.

He probado con lo siguiente y me da error

$pdf->Image('$fotografia'); 

FPDF error: Image file has no extension and no type was specified: $fotografia

Al poner un echo a $fotografia aparce la ruta, y esta ruta es la correcta.

Ejem $fotografia = articulos/calotta.jpg

En cambio si pongo lo mismo que he puesto en el titulo osea:

$pdf->Image('images/logoitc.png');

Me funciona bien, lo único que repite siempre la misma imagen ya que no le estoy dando lo que está en $fotografía.

He probado también con:

$pdf->Image('articulos/calotta.jpg');

Que es el primer articulo que tiene que leer, y que está en $fotografía, y también lo hace bien, como siempre repitiendo la imagen.

Como he dicho antes, esto no es lo que necesito, lo que necesito es que me saque la imagen de la base de datos (ruta) y que lo inserte dentro de la celda.

Dejo parte del código donde lee la base de datos:

$consulta = mysql_query("SELECT * FROM articulo");while ($datos=mysql_fetch_array($consulta)){   $fotografia         = $datos['fotografia'];   $descripcion        = $datos['descripcion'];   $nota               = $datos['nota'];   $costo              = $datos['costo'];   $pvp                = $datos['pvp'];   if ($descripcion == $buscar) {   if ($i == 0){      $color="255, 255, 255";      $i ="1";     }else{          $color="214, 235, 255";        $i="0";    }               $pdf -> SetFillColor($color); //  $pdf->Cell( 40, 40, $pdf->Image($fotografia, $pdf->GetX(), $pdf->GetY(), 33.78), 0, 0, 'L', false ); //  $pdf->Image('$fotografia', float  10, 'jpg');    $pdf->Image('articulos/calotta.jpg'); //  $pdf->Image('$fotografia');  //  $pdf -> Cell(40,10, $fotografia, 1, 0, 'C' , true);   $pdf -> Cell(100,10, $nota, 1, 0, 'C' , true);   $pdf -> Cell(20,10, $costo, 1, 0, 'C' , true);   $pdf -> Cell(20,10, $pvp, 1, 0, 'C' , true);   $pdf -> Ln(10);}}$pdf->Output();?>

Ojalá me puedas ayudar.

De antemano gracias y saludos

Entiendo.

Por lo que veo el error que muestra es porque no esta detallada la info de la imagen (la extensión etc...)

Prueba lo siguiente:

$pdf->Image($fotografia,(posicion X),(posicion Y),(Ancho),(Alto),'PNG');

recuerda que "$fotografia" al ser una variable no la metas entre comillas ("") o ('').

Y si tienes imágenes con extensiones diferentes (.jpg, .png, .gif, etc) prueba lo siguiente:

$fotografia = explode('.',$fotografia);$pdf->Image($fotografia[0],(posicion X),(posicion Y),(Ancho),(Alto),$fotografia[1]);

Hola,

Gracias por responder tan rápido.

He estado haciendo varias pruebas con lo que gentilmente me has enviado, y hasta ahora solo tengo errores.

Lo ultimo que he hecho es esto:

$fotografia = explode('.',$fotografia);
 echo $fotografia[0];
 echo $fotografia[1];
    $pdf->Image($fotografia[0].'.'.$fotografia[1](10),(10),(40),(40));

Le he puesto un echo para ver lo que tengo y es lo siguiente:

$fotografia[0]= articulos/calotta

$fotografia[1]=jpg

y este es el error que me muestra:

Fatal error: Call to undefined function jpg() in C:\wamp\www\it\articulospdf1.php on line 59

después he cambiado lo siguiente:

$pdf->Image($fotografia[0],(10),(10),(40),(40),$fotografia[1]);

y me da el siguiente error:

Warning: getimagesize(articulos/calotta) [function.getimagesize]: failed to open stream: No such file or directory in C:\wamp\www\it\fpdf\fpdf.php on line 1213

FPDF error: Missing or incorrect image file: articulos/calotta

después he hecho el siguiente cambio

$pdf->Image($fotografia[0],(10),(10),(40),(40),'.'.$fotografia[1]);

y me da el siguiente error:

FPDF error: Unsupported image type: .jpg

A ver si me puedes ayudar

Gracias de nuevo y saludos

Vale, de antemano pedirte disculpas porque me he saltado algo :P

Con esto debería funcionar:

$ext = explode('.',$fotografia);$pdf->Image($fotografia,10,10,40,40,strtoupper($ext[1]));

resulta que estaba mandando la fotografia sin extension....

Algo asi:

"$pdf->Image('articulos/calotta',10,10,40,40,'jpg');"

Le faltaba el "jpg" al final :P

He probado lo que me enviaste le he puesto un echo para que me muestre los resultados antes de entrar

$ext = explode('.',$fotografia);
 echo $ext[1];
 echo $fotografia;
 return;

y me muestra lo siguiente:

linea 62 $ext[1]=jpg

$fotografia=articulos/calotta.jpg

y luego ejecutando lo que me dijiste

$pdf->Image($fotografia,10,10,40,40,strtoupper($ext[1]));

linea 65 esta de arriba

me da el siguiente error

Notice: Undefined offset: 1 in C:\wamp\www\it\articulospdf1.php on line 62

Notice: Undefined offset: 1 in C:\wamp\www\italcompas\articulospdf1.php on line 65

FPDF error: Image file has no extension and no type was specified:

Disculpa de nuevo, y gracias por tu valiosa ayuda

¿

¿Podrías mandarme o publicar el código de tu archivo php para comprobar donde puede estar el error?

Hola,

Aquí esta;

<?php 
require("fpdf/fpdf.php");
include ("conexion.php");
$buscar = "Accesorios-cortina";
$pdf=new FPDF();
class PDF extends FPDF {
  public function Header() {
    $this->Image('images/logoitc.png');
    $this->SetFont('Arial','B',10);
    $this->Cell(180,12, 'Fecha: ' .date('d/m/Y'), 0, 1, 'R');
    $this->Ln(10);
    $this->SetFont('Arial','B',15);
    $this->Cell(180,10, 'Accesorios Cortinas Cortafrío', 0, 1, 'C');
    $this->Ln(8);
    $this->SetFont('Arial','B',10);
    $this -> SetTextColor(66, 134, 247);
    $this->Cell(40,10   , 'Imagen',1, 0, 'C');
    $this->Cell(100,10   , 'Descripcion',1, 0, 'C');
    $this->Cell(20,10   , 'Costo',1, 0, 'C');
    $this->Cell(20,10   , 'P.V.P',1, 0, 'C');
  }
}    
    $pdf = new PDF();
    $pdf -> addpage();
    $i="0";
$pdf-> Ln(10);
$pdf->SetFont('Arial','',8);
$consulta = mysql_query("SELECT * FROM articulo");
while ($datos=mysql_fetch_array($consulta))
{
   $fotografia         = $datos['fotografia'];
   $descripcion        = $datos['descripcion'];
   $nota               = $datos['nota'];
   $costo              = $datos['costo'];
   $pvp                = $datos['pvp'];
   if ($descripcion == $buscar) {
   if ($i == 0){
      $color="255, 255, 255";
      $i ="1";
     }else{
          $color="214, 235, 255";
        $i="0";
    }            
 $pdf -> SetFillColor($color);
 $ext = explode('.',$fotografia);
 echo $ext[1];
 echo $fotografia;
 $pdf->Image($fotografia,10,10,40,40,strtoupper($ext[1]));
 //  $pdf -> Cell(40,10, $fotografia, 1, 0, 'C' , true);
   $pdf -> Cell(100,10, $nota, 1, 0, 'C' , true);
   $pdf -> Cell(20,10, $costo, 1, 0, 'C' , true);
   $pdf -> Cell(20,10, $pvp, 1, 0, 'C' , true);
   $pdf -> Ln(10);
}}
$pdf->Output();
?>

Aqui esta:

¿
<?php 
require("fpdf/fpdf.php");
include ("conexion.php");
$buscar = "Accesorios-cortina";
class PDF extends FPDF {
    function Header(){
        $this->Image('images/logoitc.png');
        $this->SetFont('Arial','B',10);
        $this->Cell(180,12,'Fecha: ' .date('d/m/Y'),0,1,'R');
        $this->Ln(10);
        $this->SetFont('Arial','B',15);
        $this->Cell(180,10,'Accesorios Cortinas Cortafrío',0,1,'C');
        $this->Ln(8);
        $this->SetFont('Arial','B',10);
        $this->SetTextColor(66, 134, 247);
        $this->Cell(40,10,'Imagen',1,0,'C');
        $this->Cell(100,10,'Descripcion',1,0,'C');
        $this->Cell(20,10,'Costo',1,0,'C');
        $this->Cell(20,10,'P.V.P',1,0,'C');
    }
}    
$pdf = new PDF();
$pdf->addpage();
$i="0";
$pdf->Ln(10);
$pdf->SetFont('Arial','',8);
$consulta = mysql_query("SELECT * FROM articulo");
while($datos=mysql_fetch_array($consulta)){
   $fotografia         = $datos['fotografia'];
   $descripcion        = $datos['descripcion'];
   $nota               = $datos['nota'];
   $costo              = $datos['costo'];
   $pvp                = $datos['pvp'];
   if($descripcion == $buscar){
        if($i == 0){
            $color = "255, 255, 255";
            $i = "1";
        }else{
            $color = "214, 235, 255";
            $i = "0";
        }            
        $pdf->SetFillColor($color);
        $ext = explode('.',$fotografia);
        $pdf->Image($fotografia,10,10,40,40,strtoupper($ext[1]));
        //  $pdf -> Cell(40,10, $fotografia, 1, 0, 'C' , true);
        $pdf->Cell(100,10, $nota, 1, 0, 'C' , true);
        $pdf->Cell(20,10, $costo, 1, 0, 'C' , true);
        $pdf->Cell(20,10, $pvp, 1, 0, 'C' , true);
        $pdf->Ln(10);
    }
}
$pdf->Output('DOCUMENTO','I');
$pdf->Close();
?>

Faltaba poner en "$pdf->Output();" El tipo de salida que en este caso es visual ("I"), tambien tienes que ponerle un nombre al documento y finalmente faltaba cerrar el documento con "$pdf->Close();".

Tambien sobre el problema de la cabecera no la ejecutes como "public" simplemente llama a "funcion Header()" y por ultimo si llamas a "$pdf = new FPDF" no puedes luego volver a llamar en la misma variable "$pdf = new PDF" en este caso como usas la extension de FPDF solo llamaremos a "$pdf = new PDF" tal como lo tienes en lo que te he publicado.

Hola,

Me parece que no es ese el problema, ya que sigue el mismo error, te comento,

si yo ejecuto lo siguiente quitando lo que he ingresado y que me has ayudado:

 $pdf -> SetFillColor($color);
// $ext = explode('.',$fotografia);
 //echo $ext[1];
// echo $fotografia;
// $pdf->Image($fotografia,10,10,40,40,strtoupper($ext[1]));
   $pdf -> Cell(40,10, $fotografia, 1, 0, 'C' , true);
   $pdf -> Cell(100,10, $nota, 1, 0, 'C' , true);
   $pdf -> Cell(20,10, $costo, 1, 0, 'C' , true);
   $pdf -> Cell(20,10, $pvp, 1, 0, 'C' , true);
   $pdf -> Ln(10);
}}
$pdf->Output();
?>

El programa funciona y me muestra todo, sin necesidad de cambiar la parte final,  pero como te dije antes lo que necesito es las imagenes y al tratar de insertar   esto o cualquier cosa que he explicado antes da error.

y en la parte:

 $pdf -> Cell(40,10, $fotografia, 1, 0, 'C' , true);

antes lo había hecho así para que quedara dentro de la celda, y en este caso me muestra perfecto la ruta, y todo lo demás funciona.

pero al cambiar esto por cualquier cosa tipo:

$pdf->Image('$fotografia');

$pdf->Image($fotografia[0],(10),(10),(20),(20),$fotografia[1]);

No funciona, y da error.

si  en cambio hago  esto, que es una imagen fija osea que no la extraigo de una base de datos funciona:

$pdf->Image('articulos/calotta.jpg');

Sigo buscando el error

Pues es extraño.

El código que te he puesto me funciona sin problemas a mi. Intenta reemplazar tu código por el que te he puesto. Si el problema persiste dime que version de php tienes.

He hecho lo que me dijiste, reemplazar el código, y continua el error:

Notice: Undefined offset: 1 in C:\wamp\www\it\articulospdf1.php on line 44

FPDF error: Image file has no extension and no type was specified:

----------------------------------------------------------------------------

Línea 44

$pdf->Image($fotografia,10,10,40,40,strtoupper($ext[1]));

-------------------------------------------------------------------------------

Servidor web

  • Apache/2.2.17 (Win32) PHP/5.3.5
  • Versión del cliente: mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
  • extensión PHP: mysqli
  • phpMyAdmin
    • Acerca de esta versión: 3.3.9

Según he estado mirando en algunos foros, ese error indica que hay alguna celda mal puesta.

Mira aquí te dejo un link con un pdf usando tu código. Veras que no presenta ningún error.

http://tprphonebenijofar.com/pruebas/pdf.php

A continuación te dejo el código fuente para que veas como lo he hecho yo ( claramente tu base de datos no esta vinculada pero he usado arrays que se asemeja)

¿

<?phpini_set('display_errors',true);require('../websat/login/service/plugin/pdf/fpdf.php');//include ("conexion.php");$buscar = "Accesorios-cortina";class PDF extends FPDF {    function Header(){        $this->Image('http://www.ranklogos.com/wp-content/uploads/2012/06/ITC-logo.png',10,10,40,40,'PNG');        $this->SetFont('Arial','B',10);        $this->Cell(180,12,'Fecha: ' .date('d/m/Y'),0,1,'R');        $this->Ln(10);        $this->SetFont('Arial','B',15);        $this->Cell(180,10,'Accesorios Cortinas Cortafrío',0,1,'C');        $this->Ln(8);        $this->SetFont('Arial','B',10);        $this->SetTextColor(66, 134, 247);        $this->Cell(40,10,'Imagen',1,0,'C');        $this->Cell(100,10,'Descripcion',1,0,'C');        $this->Cell(20,10,'Costo',1,0,'C');        $this->Cell(20,10,'P.V.P',1,0,'C');    }}    $pdf = new PDF("P","mm","A4");$pdf->AddPage();$i="0";$pdf->Ln(10);$pdf->SetFont('Arial','',8);   $fotografia         = array("http://www.nutricion.pro/wp-content/uploads/2010/07/verduras2.jpg",                                "http://mohuatang.com/wp-content/uploads/2015/02/feb9-EU-nueva-ley.jpg",                                "https://dedapitador.files.wordpress.com/2009/11/verduras.jpg",                                "http://cdn.labioguia.com/wp-content/uploads/2013/11/Frutas-y-verduras.jpg",                                "http://dijetaplus.com/wp-content/uploads/2014/06/sargarepa-zdravlje-kalorije.jpg");   $descripcion        = array("Accesorios-cortina","Otros","Otros","Accesorios-cortina","Otros");   $nota               = array("Fresco","Seco","Seco","Seco","Fresco");   $costo              = array("200","400","350","100","600");   $pvp                = array("400","600","700","200","1200");   $line = 60;for($r=0;$r<count($fotografia);$r++){        if($i == "0"){            $color = "255, 255, 255";            $i = "1";        }else{            $color = "214, 235, 255";            $i = "0";        }                    $pdf->SetFillColor($color);        $ext = explode('.',$fotografia[$r]);        //  $pdf -> Cell(40,10, $fotografia, 1, 0, 'C' , true);        $pdf->Cell(40,10,'',1,0,'C',true);        $pdf->Cell(100,10, $nota[$r], 1, 0, 'C' , true);        $pdf->Cell(20,10, $costo[$r], 1, 0, 'C' , true);        $pdf->Cell(20,10, $pvp[$r], 1, 0, 'C' , true);        $pdf->Ln(10);        $pdf->Image($fotografia[$r],25,$line,10,10,'JPG');        $line += 10;}$pdf->Output('DOCUMENTO','I');$pdf->Close();?>

Hola,

Como veo, lo que has hecho funciona.

Puedo pedirte un favor, ya que veo que eres un experto y mis conocimientos son bastante básicos.

Estaba pensando si se puede hacer un array y recoger los datos de la base de datos para luego hacer un vaciado, como lo has hecho tu. ¿Piensas qué así podría funcionar?

Si es así podrías ponerme el código para poderlo probar.

Gracias y Saludos

Claro, pero hacerlo directamente o usar arrays seria lo mismo, aun así aquí te dejo el código modificado que vuelca todos los datos en arrays y luego los vacía.

¿

<?phprequire("fpdf/fpdf.php");include ("conexion.php");$buscar = "Accesorios-cortina";class PDF extends FPDF {    function Header(){        $this->Image('images/logoitc.png',10,10,40,40,'PNG');        $this->SetFont('Arial','B',10);        $this->Cell(180,12,'Fecha: '.date('d/m/Y'),0,1,'R');        $this->Ln(10);        $this->SetFont('Arial','B',15);        $this->Cell(180,10,'Accesorios Cortinas Cortafrío',0,1,'C');        $this->Ln(8);        $this->SetFont('Arial','B',10);        $this->SetTextColor(66, 134, 247);        $this->Cell(40,10,'Imagen',1,0,'C');        $this->Cell(100,10,'Descripcion',1,0,'C');        $this->Cell(20,10,'Costo',1,0,'C');        $this->Cell(20,10,'P.V.P',1,0,'C');    }}$pdf = new PDF("P","mm","A4");$pdf->AddPage();$i = 0;$pdf->Ln(10);$pdf->SetFont('Arial','',8);$fotografia = array();$descripcion = array();$nota = array();$costo = array();$pvp = array();$line = 60;$consulta = mysql_query("SELECT * FROM articulo");while($datos=mysql_fetch_array($consulta)){    array_push($fotografia,$datos['fotografia']);    array_push($descripcion,$datos['descripcion']);    array_push($nota,$datos['nota']);    array_push($costo,$datos['costo']);    array_push($pvp,$datos['pvp']);}$total = mysql_num_rows($consulta);for($r=0;$r<$total;$r++){    if ($descripcion[$r] == $buscar) {        if($i == 0){            $color = "255, 255, 255";            $i = 1;        }else{            $color = "214, 235, 255";            $i = 0;        }        $pdf->SetFillColor($color);        $ext = explode('.',$fotografia[$r]);        //  $pdf -> Cell(40,10, $fotografia, 1, 0, 'C' , true);        $pdf->Cell(40,10,'',1,0,'C',true);        $pdf->Cell(100,10, $nota[$r], 1, 0, 'C' , true);        $pdf->Cell(20,10, $costo[$r], 1, 0, 'C' , true);        $pdf->Cell(20,10, $pvp[$r], 1, 0, 'C' , true);        $pdf->Ln(10);        $pdf->Image($fotografia[$r],25,$line,10,10,$ext);        $line += 10;    }}$pdf->Output('DOCUMENTO','I');$pdf->Close();?>

Hola,

Muchas gracias por tu ayuda.

He copiado tu programa y al ejecutar Me ha salido este error;

Warning: strtolower() expects parameter 1 to be string, array given in C:\wamp\www\italcompas\fpdf\fpdf.php on line 895

Puede ser que falte algo?

He puesto un echo para mostrar la información

 $ext = explode('.',$fotografia[$r]);  
 echo $fotografia[$r];  ===>muestra esto==>articulos/calotta.jpg
 echo $ext; ==>muestra esto==>Array
 return;

Ups perdona.

$ext es un array y hay que poner "$ext[1]".

Sorry

Hola,

Gracias de nuevo.

He puesto lo siguiente:

 $pdf->Image($fotografia[$r],25,$line,10,10,strtoupper($ext[1])); 

y me da el siguiente error:

Notice: Undefined offset: 1 in C:\wamp\www\it\articulospdf1.php on line 58

¿Los "echo" los quitas?

Disculpa el retraso por responder,

He probado a hacer lo siguiente:

 $pdf->SetFillColor($color);  
  $ext = explode('.',$fotografia[$r]);  
  echo $ext[0];
 echo $ext[1]; ===> Line 51

  //  $pdf -> Cell(40,10, $fotografia, 1, 0, 'C' , true);
  $pdf->Cell(40,10,'',1,0,'C',true);    
  $pdf->Cell(100,10, $nota[$r], 1, 0, 'C' , true);
  $pdf->Cell(20,10, $costo[$r], 1, 0, 'C' , true);   
  $pdf->Cell(20,10, $pvp[$r], 1, 0, 'C' , true);    
  $pdf->Ln(10);  
  $pdf->Image($fotografia[$r],25,$line,10,10,$ext[1]);  ==>Line 59
  $line += 10;

Pero siguen los errores, la verdad no se que hacer.

Notice: Undefined offset: 1 in C:\wamp\www\italcompas\articulospdf1.php on line 51

Notice: Undefined offset: 1 in C:\wamp\www\italcompas\articulospdf1.php on line 59

No pongas los echo $ext[0] y echo $ext[1] porque el documento no puede reproducirlos. Simplemente quítalos.

Hola,

Como puedes ver en el mensaje anterior no había puesto los echo y dio el error

 $pdf->Image($fotografia[$r],25,$line,10,10,strtoupper($ext[1])); 

y me da el siguiente error:

Notice: Undefined offset: 1 in C:\wamp\www\it\articulospdf1.php on line 58

En ese error pone que esta en la línea 58, ¿qué tienes en esa línea?

es la linea que escribi arriba

$pdf->Image($fotografia[$r],25,$line,10,10,strtoupper($ext[1]));

Trata de quitar el strtoupper(), simplemente pon:

$pdf->Image($fotografia[$r],25,$line,10,10,$ext[1]);

Respuesta

Me imagino que ya después de tantas respuestas lograste lo que buscabas pero si aun lo no lograste yo te responderé de forma muy sencillo

Solo debes colocar lo siguiente dentro del

$query = "SELECT TBLA con campos incluido el campo foto
From TBLA";

while($row =mysqli_fetch_array($resultado,MYSQLI_ASSOC)){

$pdf->Cell(32,5,'Foto_Est '.$pdf->Image($ruta_img=$row["Foto"])); 

}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas