Saludos.
Estoy generando un grafico tipo tarta en un archivo pdf con las librerias jpgraph y fpdf.
Es este mi metodo, el cual funciona bien cuando lo llamo una o dos veces en la misma funcion, pero si lo ejecuto una tercer vez ya no me devuelve nada, se detiene en la funcion stroke() y no genera el pdf.
El problema es que necesito colocarlo en un ciclo for para generar varios graficos.
Código PHP:
Ver originalrequire_once('fpdf.php');
require_once('jpgraph-3.5/src/jpgraph.php');
require_once('jpgraph-3.5/src/jpgraph_pie.php');
require_once ('jpgraph-3.5/src/jpgraph_pie3d.php');
class Reporte extends FPDF
{
public function __construct
($datos = array('P', 'mm', 'A4')) {
parent::__construct($datos);
}
public function gaficoPDF
($datos = array(),$nombreGrafico = NULL,$ubicacionTamanio = array(),$titulo = NULL) {
...
#Creamos un grafico vacio
$graph = new PieGraph(600,400);
log_message('debug','grafico vacio');
$graph->SetShadow();
...
//Creamos el plot de tipo tarta
$p1 = new PiePlot3D($data);
$p1->SetSliceColors($color);
$p1->SetAngle(33);
#indicamos la leyenda para cada porcion de la tarta
$p1->SetLegends($nombres);
//Añadirmos el plot al grafico
$graph->Add($p1);
//mostramos el grafico en pantalla
@unlink("$nombreGrafico.png"); }
$graph->Stroke("$nombreGrafico.png");
$this->Image("$nombreGrafico.png",$x,$y,$ancho,$altura);
}
}
}
LLamo la libreria (CodeIgniter) y le paso los parametros:
Código PHP:
Ver original$this->load->library('reporte','','pdf');
$this->pdf->AddPage();//agregamos la pagina
$this->pdf->Cell(0,5,"Sistema de Capacitación",0,0,'C');
$this->pdf->gaficoPDF( array('aprobados' => array(80, 'blue'), 'reprobados' => array(20, 'blue')), "Nombre del grafico",
'Encuesta');
Agradezco sus respuestas.