Foros del Web » Programando para Internet » PHP »

Generar pdf con php - problema al insertar imagen

Estas en el tema de Generar pdf con php - problema al insertar imagen en el foro de PHP en Foros del Web. Hola a todos, tengo un problema que he intentado solucionar pero no pude hasta el momento. Genero un pdf y quiero insertar una imagen, la ...
  #1 (permalink)  
Antiguo 25/10/2010, 08:23
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Generar pdf con php - problema al insertar imagen

Hola a todos, tengo un problema que he intentado solucionar pero no pude hasta el momento.

Genero un pdf y quiero insertar una imagen, la imagen se encuentra en el servidor pero la ruta la tengo en una base de datos mysql. Lo único que logre es que me traiga la ruta al pdf en forma de texto pero no la imagen.

Intente utilizando el ezImage pero no logre que funcionara, lo que quiero hacer es lo mismo que haría en html :

Código HTML:
<img src="<?php echo $row_RS1['Imagen']; ?>" width="x" height="xx" align="middle"" />.-
Con el ezImage logre insertar una imagen escribiendo la ruta, pero con datos dinamicos no logré hacerlo, tampoco logré insertarla en la tabla.

La base de datos contiene datos de peliculas y lo que quiero hacer es que en la tabla figure el Titulo, Director etc y la correspondiente imagen que se relaciona con esos datos.

Les dejo mi codigo haber si me pueden ayudar.

Desde ya muchas gracias.


Código PHP:
<?php
include ('class.ezpdf.php');
$pdf =& new Cezpdf('a4''landscape');
$pdf->selectFont('../fonts/courier.afm');
$pdf->ezSetCmMargins(1,1,1.5,1.5);

$conexion mysql_connect("localhost""root""");
mysql_select_db("videoteca"$conexion);
$result=mysql_query("select Titulo, Titulooriginal, Director, Pais, Imagen from videos",$conexion)or die(mysql_error());


 while(
$datatmp mysql_fetch_assoc($result)) {
 
$data[] = $datatmp;
 }

$titles =array(
'Titulo'=>'<b>Título</b>',
'Titulooriginal'=>'<b>Tít.Orig</b>',
'Director'=>'<b>director</b>',
'Pais'=>'<b>País</b>',
'Imagen'=>'<b>Imagen</b>'
);

 
$options = array(
 
'showHeadings'=>1,
 
'shadeCol'=>array(0.9,0.9,0.9),
 
'xOrientation'=>'center',
 
'width'=>800
 
);


$txttitle "Detalle de videos: "."\n\n\n";
$pdf->ezText($txttitle12);
$pdf->ezTable($data,$titles ''$options);
$pdf->ezText("\n\n\n"10);
$pdf->ezText("Fecha: ".date("d/m/Y")."\n"10);
$pdf->ezText("Hora: ".date("H:i:s")."\n\n"10);
$pdf->ezStream();
 
?>
  #2 (permalink)  
Antiguo 25/10/2010, 11:23
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Respuesta: Generar pdf con php - problema al insertar imagen

Hola Ariel por que no usas el dompdf, es mucho mejor y te convierte html a pdf con imagenes y todo lo que quieras, te dejo el link para que lo chekes.

http://code.google.com/p/dompdf/

Saludos.
  #3 (permalink)  
Antiguo 26/10/2010, 10:00
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Generar pdf con php - problema al insertar imagen

Gracias ginitofl por responder

Estoy tratando de generar el pdf con Dompdf pero todavía tengo 2 problemas.
Si pudieras guiarme para resolverlos te lo agradecería mucho.

Primero que nada el pdf se genera pero la imagen aparece como un rectangulo pequeño con una cruz roja. Alguna idea a que se debe esto????

El segundo problema se produce cuando hago una consulta a mysql la cual me debería traer todos los registros pero solo muestra uno.
Seguramente debo tener algún error en el codigo php pero no lo encuentro.

Aqui dejo el codigo:

Código PHP:
<?php
require("dompdf_config.inc.php");
mysql_connect("localhost""root""");
mysql_select_db ("videoteca");

function 
listar()
    {
     
$sql "SELECT * FROM videos ORDER BY Titulo ASC";
     
$result mysql_query($sql) or die (mysql_error());
     return 
$result;  
    }
$result listar();
$p mysql_num_rows($result);    
while(
$p mysql_fetch_array($result))  

$html =("

<table border=1>
  <tr>
    <td align=center>Imagen</td>
    <td align=center>Titulo</td>
  </tr>
  <tr>
    <th><img src='Chocolate (Prachya Pinkaew, 2008)/Chocolate (Prachya Pinkaew, 2008).jpg' width=250 height=350 ></th>
    <td>$p[Titulo]</td>
  </tr>
</table>
 "
);
   
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("hello_world.pdf");
?>
  #4 (permalink)  
Antiguo 03/01/2011, 11:36
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: Generar pdf con php - problema al insertar imagen

respondiendo a tu pregunta 1, imprime ese cuadrito con una ekiz roja xq no encuentra la imagen, xq no pruebas primero con una ruta estatica de una imagen.... y me dices q tal te va

respondiendo a tu segunda pregunta kiero kreer q solo te muestra 1 registro porque eso estas imprimiendo :S....

Cita:
<table border=1>
<tr>
<td align=center>Imagen</td>
<td align=center>Titulo</td>
</tr>
<tr>
<th><img src='Chocolate (Prachya Pinkaew, 2008)/Chocolate (Prachya Pinkaew, 2008).jpg' width=250 height=350 ></th>
<td>$p[Titulo]</td>
</tr>
</table>
Solo veo una row q muestre 1 registro, no veo un ciclo q muestre TODOS los registros....
  #5 (permalink)  
Antiguo 03/01/2011, 12:05
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: Generar pdf con php - problema al insertar imagen

buenas!!

compañeros el problema radica en los espacios, comas y demas signos que NO deverian estar...
el mismo codigo que tienes lo probe y me hizo lo mismo que mencionas al poner espacios pero al escribir asi:

esta_es_una_imagen.jpg

la reconoce perfectamente

pruebalo

un saludo!!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #6 (permalink)  
Antiguo 03/01/2011, 12:08
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: Generar pdf con php - problema al insertar imagen

mas o menos entiendo lo q dices halcon... aunq mi post anterior fue a la carrera xq mi jefe estaba detras mio :P no lei bien el codigo q tenia... i ahorita ia tuve mas tiempo i lo analice mejr

respondiendo a tu pregunta 1, imprime ese cuadrito con una ekiz roja xq no encuentra la imagen, xq no pruebas primero con una ruta estatica de una imagen.... y me dices q tal te va

respondiendo a tu segunda pregunta kiero kreer q solo te muestra 1 registro porque eso estas imprimiendo :S....

Cita:
$html =("

<table border=1>
<tr>
<td align=center>Imagen</td>
<td align=center>Titulo</td>
</tr>
<tr>
<th><img src='Chocolate (Prachya Pinkaew, 2008)/Chocolate (Prachya Pinkaew, 2008).jpg' width=250 height=350 ></th>
<td>$p[Titulo]</td>
</tr>
</table>
");
lo que veo es una asignacion cada vez que encuentre 1 registro en lugar de una concatenacion.... yo usando tu codigo lo pondria asi:

Cita:
$html .= ("

<table border=1>
<tr>
<td align=center>Imagen</td>
<td align=center>Titulo</td>
</tr>
<tr>
<th><img src='Chocolate (Prachya Pinkaew, 2008)/Chocolate (Prachya Pinkaew, 2008).jpg' width=250 height=350 ></th>
<td>$p[Titulo]</td>
</tr>
</table>
");
con el " .= " antes de tu codigo html... aunq se puede mejorar para no generar taaaaantas tablas i solo 1

Cita:
$html =("

<table border=1>
<tr>
<td align=center>Imagen</td>
<td align=center>Titulo</td>
</tr> ");
while($p = mysql_fetch_array($result))
{
$html .=("
<tr>
<th><img src='Chocolate (Prachya Pinkaew, 2008)/Chocolate (Prachya Pinkaew, 2008).jpg' width=250 height=350 ></th>
<td>$p[Titulo]</td>
</tr>
");
}
$html .= ("</table>");
  #7 (permalink)  
Antiguo 03/01/2011, 13:01
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: Generar pdf con php - problema al insertar imagen

No se si ya resolviste tu problema de la imagen pero yo he trabajado algo con esto de crear pdf con PHP y te digo que encontre que las imagenes deben de estar en la misma carpeta que el archivo que te crea el PDF si no no la encuentra no se por que haga eso.

Saludos,
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/

Etiquetas: pdf
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 11:13.