Foros del Web » Programando para Internet » PHP »

insercion de imagen generada por script php en rtf

Estas en el tema de insercion de imagen generada por script php en rtf en el foro de PHP en Foros del Web. Hola, la API que encontre en el otro hilo relacionado con el tema me ayudo mucho, pero tengo una duda. Para la insercion de imagenes, ...
  #1 (permalink)  
Antiguo 18/08/2008, 10:04
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
insercion de imagen generada por script php en rtf

Hola, la API que encontre en el otro hilo relacionado con el tema me ayudo mucho, pero tengo una duda. Para la insercion de imagenes, la clase lo convierte a hexadecimal y se indica la siguiente linea:

$sect->addImage('../sources/html.png', $null);

Pero mi problema es que mi imagen no esta "previamente creada", sino que es un script de php que recibe los datos y genera la imagen. Para mostrarla desde php utilizo:
echo "<img style='padding-left: 40px;' src='graphbarras.php?dat=$dat'>";

¿Como puedo insertar en el RTF el gráfico que genera mi script? Gracias!
  #2 (permalink)  
Antiguo 18/08/2008, 14:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: insercion de imagen generada por script php en rtf

Hola ferquetzal,

Puedes usar las funciones de salida como ob_start/ob_get_clean para incluir al momento tu script y luego escribirlo en un directorio temporal y pasarlo entonces por el addImage, o en dado caso modificar esa clase para que acepte como parametro el string con la imagen.

Saludos.
  #3 (permalink)  
Antiguo 19/08/2008, 05:09
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: insercion de imagen generada por script php en rtf

Gracias.¿seria algo asi?

$sect->writeText('<br>Here is .png image. <tab>', new Font(), new ParFormat());

ob_start();
require_once("../sources/graph/graphporcentaje.php");
$fil='67';
$out=ob_get_clean();
$out=$sect->addImage('../sources/graph/graphporcentaje.php?fil=$fil', $null);
var_dump($out);

No termino de cogerele el truco y no consigo que vaya. es el phprtflite y contiene las clases para codificar la imagen a hexadecimal.
El codigo que he añadido sustituia a
$sect->addImage('../sources/html.png', $null);
  #4 (permalink)  
Antiguo 19/08/2008, 08:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: insercion de imagen generada por script php en rtf

Hola ferquetzal,

No concretamente puedes hacer algo así:
Código PHP:
ob_start();
$fil='67';
require_once(
"../sources/graph/graphporcentaje.php");
$out=ob_get_clean();
$fh fopen"archivo.png""w" );
fwrite$fh$out );
fclose$fh );
$sect->addImage"archivo.png" ); 
Saludos.
  #5 (permalink)  
Antiguo 19/08/2008, 09:58
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: insercion de imagen generada por script php en rtf

Gracias, tienes razón. Por el momento no lo he conseguido ya que al ejecutar el navegador me indica que la imagen (el archivo PHP que genera el RTF) contiene errores.
  #6 (permalink)  
Antiguo 20/08/2008, 07:50
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: insercion de imagen generada por script php en rtf

Gracias gator, ya he conseguido que funcione, aunque si trato de hacerlo otra vez a continuación de vaciar el buffer con ob_flush(); no funciona. ¿Cómo puedo repetir la acción con otro archivo?, ¿es posible usar mas de una vez el ob_start en un mismo script?
  #7 (permalink)  
Antiguo 20/08/2008, 08:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: insercion de imagen generada por script php en rtf

Hola ferquetzal,

Así es puedes usarlo más veces e inclusive anidarlos, revisa en el manual la función ob_start().

Saludos.
  #8 (permalink)  
Antiguo 21/08/2008, 04:05
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: insercion de imagen generada por script php en rtf

¿Por que no puedo hacer dos veces la función para dos script distintos?. Con una sola si que puedo generar la imagen y posteriormente convertirla para insertar en RTF, pero si incluyo la segunda, el navegador indica que hay errores. Si comento la linea require_once("../../graphbarras.php");, funciona. ¿no se puede referenciar así?, ¿existe algún conflicto con los flujos de salida?


Código PHP:
function pastel ($fil)
    {
ob_start();
     
$dat=$fil;
     require_once(
"../../graphpastel.php");
     
$out=ob_get_clean();
     
$fh fopen"pastel.png""w" );
     
fwrite$fh$out );
     
fclose$fh );
     
ob_end_flush();}
     
function 
barras ($fil)
    { 
ob_start();
     
$dat=$fil;
     require_once(
"../../graphbarras.php");
     
$fer=ob_get_clean();
     
$fp fopen"barras.png""w" );
     
fwrite$fp$fer );
     
fclose$fp );
    
ob_end_flush();
         } 
  #9 (permalink)  
Antiguo 21/08/2008, 08:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: insercion de imagen generada por script php en rtf

Habría que ver que errores te marca, ya que en teoria es correcto lo que estas haciendo.

Saludos.
  #10 (permalink)  
Antiguo 21/08/2008, 09:42
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: insercion de imagen generada por script php en rtf

Aparece en la pantalla del navegador solo el path:

http://localhost/moodle/mod/feedback/phprtflite/samples/images.php
  #11 (permalink)  
Antiguo 21/08/2008, 09:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: insercion de imagen generada por script php en rtf

Puede que estes incluyendo dos clases al mismo tiempo o algo, prueba usar require_once en lugar de require para que no te marque esos errores.
  #12 (permalink)  
Antiguo 22/08/2008, 04:24
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: insercion de imagen generada por script php en rtf

Gracias por responder GatorV. La verdad es que me sale el mismo resultado con require y con require_once, pero el problema tiene que estar ahí. ¿Puede ser un problema de cabeceras?. He probado muchas opciones y no consigo que cree 2 imagenes distintas para insertar en el RTF.
Solo se crea la primera imagen (primera función que se llame, barras o pastel) y la segunda crea el archivo pero no llega a meter la imagen generada dentro, por lo que al mostrarla, no funciona.Dado que es la misma función, y la primera vez funciona y a continuación no, ¿debe haber algún conflicto de flujos?
Saludos

Última edición por ferquetzal; 22/08/2008 a las 04:38
  #13 (permalink)  
Antiguo 22/08/2008, 08:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: insercion de imagen generada por script php en rtf

Mmmm es muy raro, prueba quitar el ob_end_flush().

Saludos.
  #14 (permalink)  
Antiguo 25/08/2008, 03:51
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: insercion de imagen generada por script php en rtf

He probado y nada. Miraré la clase a ver si tiene alguna especificación o algo que no me permite más de una imagen, aunque es absurdo. Solo da el error cuando hago las llamadas a ambas funciones:

Código PHP:
$rp=pastel($fil); 
$rt=barras($fil); 
Saludos
  #15 (permalink)  
Antiguo 25/08/2008, 08:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: insercion de imagen generada por script php en rtf

En ese caso tendrías que hacer lo que te digo y editar la clase para pasarle el string generado de la imagen directamente y no estar escribiendo en el sistema de archivos.

Saludos.
  #16 (permalink)  
Antiguo 26/08/2008, 03:46
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: insercion de imagen generada por script php en rtf

Me parece que el problema es de las cabeceras. Cuando ya he mandado y cerrado no puedo volver a mandarlas. que tal que una de las funciones de cree en otro archivo y haga una redireccion o algo así?
Gracias
  #17 (permalink)  
Antiguo 27/08/2008, 02:36
Avatar de ferquetzal  
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: insercion de imagen generada por script php en rtf

Al final lo he hecho así. Muchas gracias por haberme ayudado GatorV. Te debo unas copas XD
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




La zona horaria es GMT -6. Ahora son las 15:13.