estoy intentando generar un archivo PDF tras la realizacion de una consulta a la base de datos, eh publicado en dias anteriores mi codigo con el cual lo intento hacer, alguien puede darme alguna idea. ya eh probado un ejemplo con la clase "class.ezpdf.php" pero a la hora de trauducirlo al lenguaje entendible por el framework de joomla me sale un pantallazo en blanco alguien sabe que hago mal en el siguiente codigo
require(JPATH_ADMINISTRATOR.DS.'componentscom_breezingformslibrariesfpdfjlpdf.php'); include(JPATH_ADMINISTRATOR.DS.'componentscom_breezingformslibrariesfpdfclass.ezpdf.php'); $pdf = & new Cezpdf('legal','landscape'); $all = $pdf->openObject(); $pdf->saveState(); $pdf->setStrokeColor(0,0,0,1); $pdf->line(20,30,750,30); $pdf->line(20,585,750,585); $pdf->addText(20,590,10,'probando el codigo de generacion de PDF a partir de mysql'); $pdf->addText(650,590,10,'reporte de entrega de documentos'); $pdf->addText(20,18,10,$fechs); $pdf->restoreState(); $pdf->closeObject(); // termina las lineas $pdf->addObject($all,'all'); //=========================== //Les agradeceria mucho una revision en esta parte -abriendo la base de datos $db =& JFactory::getDBO(); $query = 'select * from jos_documentos'; $db->setQuery($query); $documentos = $db->loadObjectList(); $data = array(); // hacer query $result =$db->setQuery($query); // //Aqui se coloca el header de la Tabla a traves de un array $cols = array('id'=>'Id', 'solicitud'=>'Solicitud', 'cartacompromiso'=>'Carta compromiso', 'cartapresentacion'=>'carta prsentacion', 'cartaaceptacion'=>'carta de aceptacion', 'reporte1'=>'1 Reporte', 'reporte2'=>'2 reporte', 'reporte3'=>'3 Reporte', 'reporte4'=>'4 Reporte', 'reporte5'=>'5 reporte', 'reporte6'=>'6 Reporte', 'reporte7'=>'7 Reporte', 'cartaterminacion'=>'cartadeterminacion', 'hojaliberacion'=>'hojadeliberacion', 'horasacom'=>'horasacomuladas'); foreach($documentos as $documento) //almaceno los valores de la consulta en variables para ser reasignados como valores en el array. { $id = $documento->id; //print $id; $sol = $documento->solicitud; //print $sol; $comp = $documento->cartacompromiso; //print $comp; $pres = $documento->cartapresentacion; //print $pres; $acept = $documento->cartaaceptacion; //print $acept; $r1 =$documento->reporte1; //print $r1; $r2 = $documento->reporte2; //print $r2; $r3 = $documento->reporte3; //print $r3; $r4 = $documento->reporte4; $r5 = $documento->reporte5; //print $r5; $r6 = $documento->reporte6; //print $r6; $r7 = $documento->reporte7; //print $r7; $term = $documento->cartaterminacion; //print $term; $lib = $documento->hojaliberacion; $horas = $documento->horasacom; //print $horas; //liea 108 // Aqui se agregan las variables formateadas al array $data[] = array('id'=>$id, 'solicitud'=>$sol, 'cartacompromiso'=>$comp, 'cartapresentacion'=>$pres, 'cartaaceptacion'=>$acept, 'reporte1'=>$r1, 'reporte2'=>$r2, 'reporte3'=>$r3, 'reporte4'=>$r4, 'reporte5'=>$r5, 'reporte6'=>$r6, 'reporte7'=>$r7, 'cartaterminacion'=>$term, 'hojaliberacion'=>$lib, 'horasacom'=>$horas); //LINEA 110 } //Aqui intento crear la tabla en el PDF $pdf->ezTable($data, $cols,'',array('fontSize'=>6, 'cols'=>array( 'id'=>array('justification'=>'center') ,'solicitud'=>array('justification'=>'left') ,'cartacompromiso'=>array('justification'=>'left') ,'cartapresentacion'=>array('justification'=>'center') ,'cartaaceptacion'=>array('justification'=>'center') ,'reporte1'=>array('justification'=>'center') ,'reporte2'=>array('justification'=>'center') ,'reporte3'=>array('justification'=>'center') ,'reporte4'=>array('justification'=>'center') ,'reporte5'=>array('justification'=>'center') ,'reporte6'=>array('justification'=>'center') ,'reporte7'=>array('justification'=>'center') ,'cartaterminacion'=>array('justification'=>'center') ,'hojaliberacion'=>array('justification'=>'right') ,'horasacom'=>array('justification'=>'center')))); // salida // $pdfcode = $pdf->ezOutput(); if (isset($d) && $d){ $pdfcode = $pdf->ezOutput(); $pdfcode = str_replace('n','n
',htmlspecialchars($pdfcode)); print $pdfcode; } else { $pdf->ezStream(); }
muchas gracias
Hola chapulin
Para sacar un pdf seria bueno que sigas la estructura MVC de joomla (Modelo Vista Controlador)
Bajo este concepto, tendrias que crear una vista PDF, en la carpeta de vistas, por ejemplo para un componente
llamdo componentex
/com_componentex/views/mivista/view.pdf.php
Aqui depositas todo lo que debe ser reportado como pdf, incluyendo consultas a BD, simplemente
lo escribes como html y cuando llamas al componente con la vista PDF te generará el PDF deseado.
Te sugiero revisar esta temática.
PD. He borrado tu post anterior para mantener orden en el foro
Saludos.
Bien, agradezco infinitamente la idea que me has dado, esa tematica como tu lo mencionas al menos para mi es desconocido, y claro lo revisaré y estaré comentando los resultados y dudas por si alguien le puede servir posteriormente, muchas gracias de nuevo.
Hola jmarreros:
veras, eh optado por colocar el archivo de manera independiente, le paso una variable al llamarlo desd emi pieza, antes de procesar el codigo que lleva dentro mi archivo PHP pongo una instrccion IF para avaluar que se reciba dicho valor desde el joomla para poder abrirse, se esa manera supongo que el archivo PHP no está siendo llamado desde un acceso directo.
La razon por la que opté esta forma de hacerlo es por que si me va a llevar algo de tiempo comprender y sobre todo dominar la tematica que me recomiendas, obiamante que no dejo atras la recomendacion. lo seguiré checando y lo mas seguro es que en tiempos poseteriores retome este tema . muchas gracias