Professional Documents
Culture Documents
Desarrollo PHP para todos: Creacion de Graficos en documentos PDF con FPDF y JGRAPH
0
Ms
Siguiente blog
Crear un blog
Acceder
Quien Soy
Deseas Contribuir??
desphpparatodos.blogspot.com/2010/12/creacion-de-graficos-en-documentos-pdf.html
Acceder
Suscribete
Entradas
Comentarios
Submit
Busqueda
Buscar
Contribuyentes
Carlos Belisario
ByteCode
1/9
23/10/14
Desarrollo PHP para todos: Creacion de Graficos en documentos PDF con FPDF y JGRAPH
$color[] = $value[1];
}
$x = $ubicacionTamamo[0];
$y = $ubicacionTamamo[1];
$ancho = $ubicacionTamamo[2];
$altura = $ubicacionTamamo[3];
#Creamos un grafico vacio
$graph = new PieGraph(600,400);
#indicamos titulo del grafico si lo indicamos como parametro
if(!empty($titulo)){
$graph->title->Set($titulo);
}
//Creamos el plot de tipo tarta
$p1 = new PiePlot3D($data);
$p1->SetSliceColors($color);
#indicamos la leyenda para cada porcion de la tarta
$p1->SetLegends($nombres);
//Aadirmos el plot al grafico
$graph->Add($p1);
//mostramos el grafico en pantalla
$graph->Stroke("$nombreGrafico.png");
$this->Image("$nombreGrafico.png",$x,$y,$ancho,$altura);
}
}
Cada uno de los valores tendr que ser mediante este formato para obtener el grafico en la manera
deseada.
$nombreGrafico: Es el nombre que llevara la imagen del grafico que se creara, el mtodo gaficoPDF
lo que hace es crear una imagen por medio de la librera JGRAPH y luego llamar a la misma desde
FPDF para obtener as el grafico dentro del documento PDF, entonces este parmetro ser el
nombre con que se guardara nuestra imagen del grafico en nuestro servidor.
$ubicacionTamao: Este parmetro es un arreglo donde indicaremos el lugar y el tamao dentro de
la pgina que deseemos que se encuentre nuestro grafico, el formato es el siguiente
array(posicionx,posicionY,ancho,alto);
$titulo: Es la nica variable que ser opcional, esto por motivado a que muchas veces colocamos el
titulo desde FPDF y no es necesario colocrselo al grafico, pero si en algn momento es necesario
solo con indicar este parmetro el titulo del grafico sera colocado en nuestra imagen por medio de
JGRAPH.
Ahora que conocemos los parmetros que debemos indicarle a nuestro mtodo solo nos queda
instanciar la clase y llamar al metodo gaficoPDF de la misma para obtener un documento PDF con
un grafico estadstico.
$pdf=new Reporte();//creamos el documento pdf
$pdf->AddPage();//agregamos la pagina
$pdf->SetFont("Arial","B",16);//establecemos propiedades del texto tipo d
e letra, negrita, tamao
//$pdf->Cell(40,10,'hola mundo',1);
$pdf->Cell(0,5,"GRAFICO REALIZADO CON FPDF Y JGRAPH",0,0,'C');
$pdf->gaficoPDF(array('aprobados'=>array(1,'red'),'reprobados'=>array(1,'
blue')),'Grafico',array(20,40,100,50),'grafico');
$pdf->Output();
Sencillamente en este cdigo instanciamos la clase Reportes y llamamos a varios de los mtodos
de la librera FPDF para crear el documento PDF y mediante el mtodo creado en este tutorial
creamos un grafico de tarta.
Les dejo el cdigo completo del artculo:
/*
clase para reportes
autor Carlos Belisario
*/
require_once("fpdf/fpdf.php");
require_once('jpgraph/inc/jpgraph.php');
require_once('jpgraph/inc/jpgraph_pie.php');
require_once ("jpgraph/inc/jpgraph_pie3d.php");
class Reporte extends FPDF
{
desphpparatodos.blogspot.com/2010/12/creacion-de-graficos-en-documentos-pdf.html
Entradas populares
Creacion de Graficos en
documentos PDF con FPDF y
JGRAPH
Para esta nueva entrada
realizaremos reportes
estadsticos mediante grficos
de torta, utilizando la librera FPDF y JGRAPH.
Materiales ne...
Entendiendo el MVC
2/9
23/10/14
Desarrollo PHP para todos: Creacion de Graficos en documentos PDF con FPDF y JGRAPH
View stats
(NEW) Appointment gadget >>
Espero que le sea de utilidad a alguien cualquier correccion o sugerencia no duden es hacerla
saludos
Publicado por Carlos Belisario en 22:25
desphpparatodos.blogspot.com/2010/12/creacion-de-graficos-en-documentos-pdf.html
3/9
23/10/14
Desarrollo PHP para todos: Creacion de Graficos en documentos PDF con FPDF y JGRAPH
Recomendar esto en Google
Sitios Recomendados
Reacciones:
Entendible (1)
Codigo Byte
blog de Carlos Belisario
35 comentarios:
PHP.NET
PHP de Venezuela
Interesante post este de graficos pero si se necesitara otro tipo de graficos como se haria??
Responder
Respuestas
Luis Enrique 15 de abril de 2012, 0:53
Seguidores
Participar en este sitio
Responder
Miembros (10)
Carlos Belisario
Pues la libreria JGRAPH tiene para crear ese tipo de graficos en el link que deje para la
descarga hay como realizar cada uno, en el articulo coloque el de tarta porque es el que
mas he utilizado y por eso hice un metodo directamente para el, pero este metodo pudiera
mejorarse creando metodos privados con los tipos de graficos y llamandolo desde nuestro
metodo grafico por medio de un parametro, a lo mejor sea un buen tema para otra entrada
saludos
BotonesTwitter.com
Responder
Hola, se ve muy bueno e interesante el codigo, pues te digo que lo he probado pero me
aparece la pantalla en blanco, podiras darme el codigo en un archivo plano? pues depronto
el que esta escrito aqui debe tener algun error. Gracias
Responder
Estimado.
Lo probe y funciona bien. salvo que da un error con la variable $altura.
Responder
Carlos Belisario
Localizacion
ABOUT-2
Gracias por el reporte, si haba un error de dedo en el tuto, haba declarado $alttura en la
lnea 35 en vez de colocar $altura, corregido, saludos
Responder
gracias por el reporte, pero ese problema es del highlight del blog, que esta
repitiendo si le das a la opcin de ver cdigo este error no aparece, y as debe de
hacerse para poderlo copiar, de todas maneras voy a ver si subo esto a github
para que sea mas fcil de utilizar, saludos
Responder
Carlos Belisario
Validacin de Fechas Javascript
desphpparatodos.blogspot.com/2010/12/creacion-de-graficos-en-documentos-pdf.html
4/9
23/10/14
Desarrollo PHP para todos: Creacion de Graficos en documentos PDF con FPDF y JGRAPH
Carlos Belisario
PHP de Venezuela
Re:MisM2.com Busca Programador(a)
Re:El Futuro de la Comunidad PHP de
Venezuela
Re:como usar validar expresion regular
Respuestas
Administrador 16 de marzo de 2012, 1:09
Responder
Carlos Belisario
buenas, el error es mio por no indicar cual es el grafico de prueba que se necesita, e hice
algunos cambios, ya acomode para que salga en el PDF y tambin si quieres ver el grafico
directo en el navegador puedes verlos en el archivo graph/grahpTest.php, saludos y gracias
por indicar el error en los ejemplos, saludos cualquier cosa me lo indicas
Responder
ltimas novedades
Desarrolloweb.com
Cmo instalar Composer
Phalcon PHP Framework en #programadorIO
Etiquetas
Excepciones (1)
Exceptiom (1)
extensiones (1)
FPDF (1)
framewokrs (1)
Responder
JGRAPH (1)
Carlos Belisario
Buenas el problema es de lo permisos que tienes sobre la carpeta que estas creando la
imagen, de hecho yo tengo las clases expuestas ac implementadas en un sistema que
tengo en produccin y no me ha generado problemas, las carpetas de las imgenes
normalmente son pblicas, en el mtodo Stroke de la clase JPGraph tu puedes indicarle la
ruta especifica donde quieres que quede la imagen ejemplo
Stroke("../images/$nameGraph.png");
si sigue el problema me comentas a ver si indagamos un poco ms en el tema, pero en
teora no debera de darte problema en carpetas pblicas, saludos
Responder
Libreria (1)
MySQL (9)
PARTONES DE DISEO (4)
PDO (1)
PHP (22)
POO (16)
YiiFramework (5)
99,609
Carlos Belisario
Responder
Respuestas
Carlos Belisario
Buenas gracias por tu comentario, la solucin que creo que es la viable y la acabo
de anexar al cdigo que esta en github, es darle permisos a la imagen una vez
creada (gracias por el dato), esto lo vas a hacer
$graph->Stroke("../$nameGraph.png");
chmod($nameGraph . ".png", 0777);
desphpparatodos.blogspot.com/2010/12/creacion-de-graficos-en-documentos-pdf.html
Crea tu insignia
5/9
23/10/14
Desarrollo PHP para todos: Creacion de Graficos en documentos PDF con FPDF y JGRAPH
Se ha producido un
error en este gadget.
A ds By Cl i cksor
ABOUT
saludos
Responder
Buen dia !!
Solucione mi problema pero tuve
unlink("$nombreGrafico.png");
$graph->Stroke("$nombreGrafico.png");
que
primero
eliminar
la
imagen
con:
October 2014
Su M Tu W Th
1 2 3
5 6 7 8 9 10
12 13 14 15 16 17
19 20 21 22 23 24
26 27 28 29 30 31
ya que dandole los permisos con chmod seguia con el mismo error.
Aun as agradesco la atencin!! Muchas GRACIAS
Responder
Emanuelle.. podrias decirme como fue q se soluciono.. porfavor.. a mi me sige dando ese
erroor...
Responder
Carlos Belisario
cual es el error que te esta dando? el mismo de permisos? si te fijas Emanuelle elimina el
grfico anterior cada vez que va a crear un grfico nuevo, haciendo esto
//lnea para eliminar el grfico anterior
unlink("$nombreGrafico.png");
$graph->Stroke("$nombreGrafico.png");
Antes de la creacin de la imagen, yo le asigne todos los permisos a la imagen y tambin
me la creaba sin problemas, a mi ambas me funcionan pero trabajo con linux, a lo mejor con
windows el asignar los permisos no es tan factible y por eso es que el eliminarla como
Emmanuel es la mejor solucin, saludos
Responder
De los mejores ejemplos que encontr buscando. Sin embargo, no se como hacerlo para
que salgan varios grficos por documento pdf, es posible? si lo es, no tengo la menos idea
como sera..
Responder
Carlos Belisario
Claro que es posible lo que tienes es que llamar al mtodo que crea el grfico la cantidad de
veces que necesites, pasando los parmetros de datos, saludos
Responder
me gustara saber como utilizar mas tipos de grficos si alguien me puede ayudar lo
agradecera
Responder
Carlos Belisario
Yo haba hecho un wrapper para crear los grficos, en el link del github que deje arriba se
encuentra el cdigo, sin embargo es simplemente sacarle el provecho a la librera jpgraph y a
los grficos que esta ofrece
Responder
desphpparatodos.blogspot.com/2010/12/creacion-de-graficos-en-documentos-pdf.html
6/9
23/10/14
Desarrollo PHP para todos: Creacion de Graficos en documentos PDF con FPDF y JGRAPH
Disculpa tengo que llamarlo mediante algn botn o algo? porque ejecuto el archivo php en
mi servidor y no realiza nada, gracias...
Responder
Respuestas
Carlos Belisario
Algn error?? porque en teora el cdigo que deje al hacerlo en un archivo debe de
funcionar
Responder
Tengo un problema al enviar mi grfica al pdf me muestra un error que es el 150009 illegal
Pie Plot, espero puedas ayudarme gracias
Responder
Respuestas
Carlos Belisario
Hola Carlos, mira estoy realizando tu ejemplo, pero al momento de de generar el grafico,
practicamente me sale el grafico pero no en el pdf que quiero que salga.
La grafica dibuja pero en html, que puede ser.
Saludos,
David
Responder
Carlos Belisario
En la carpeta donde tienes el script te genera alguna imagen con el grfico y el mismo
nombre del grfico??
Responder
Gracias Carlos por contestarme, segun veo son los permisos estoy sobre fedora, le di
permisos 777 como root, apache y no me sale el siguiente error, te pongo el error que me
sale... david.php es el archivo donde lo escribi a tu ejemplo.
Warning:
unlink(graficoPrecision.png):
Permission
/var/www/html/labcalidadpro/site/tcpdf/examples/david.php on line 46
denied
in
desphpparatodos.blogspot.com/2010/12/creacion-de-graficos-en-documentos-pdf.html
given
in
7/9
23/10/14
Desarrollo PHP para todos: Creacion de Graficos en documentos PDF con FPDF y JGRAPH
Warning: flock() expects parameter 1 to be resource, boolean given in
/var/www/html/labcalidadpro/site/jpgraph/src/gd_image.inc.php on line 2142
JpGraph Error: 25111 Can't delete cached image graficoPrecision.png. Permission problem?
Responder
Amigo muchas gracias por la pista que me diste, era permisos,ahora funciona de maravilla,
el problema era del contexto de selinux (por ahi lo lei, no estoy seguro, pero funciono),
ejecute lo siguiente:
sudo chcon -R -t httpd_sys_content_rw_t /var/www/html/
Saludos,
David
Por cierto muy buen articulo
Responder
Respuestas
Carlos Belisario
Excelente que hayas logrado resolver el problema, porque hice varias pruebas y
me estaba funcionando correctamente y no encontraba que pudiera estarte
pasando, en fin excelente que te haya resultado, saludos
Responder
Muchas Gracias, parte de este cdigo me ayud a solucionar tema IMAGEN en PDF (librera
FPDF) trayndolo desde ($imagen) con archivo comenzado con LETRA Ej P001.jpg
GRACIAS. / clamisch@hotmail.es
Responder
Hola Disculpa, presento un problema no hace nada el codigo :(, la pantalla queda en blanco
que puede ser?
Responder
Respuestas
Carlos Belisario
Introduce tu comentario...
Comentar como:
Publicar
Cuenta de Google
Vista previa
8/9
23/10/14
Desarrollo PHP para todos: Creacion de Graficos en documentos PDF con FPDF y JGRAPH
Crear un enlace
Entrada ms reciente
Pgina principal
Entrada antigua
desphpparatodos.blogspot.com/2010/12/creacion-de-graficos-en-documentos-pdf.html
9/9