Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2015, 05:09
peneleodetebas
 
Fecha de Ingreso: mayo-2015
Ubicación: Barranquilla, Colombia
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Generar PDF con ezpdf, cabecera a la izquierda

Soy primerizo en este foro, me acabo de inscribir.
Estoy elaborando una aplicación para consulta externa médica en PHP y MYSQL.Mi problema es que al generar un PDF los títulos de la cabecera salen en la parte de arriba de la tabla y yo necesito que salga a la izquierda. Mi código funciona a la perfección, pero la tabla de MYSQL que utililizo tiene 54 registros, entonces si la cabecera esta arriba, con los títulos uno seguido del anterior es inmanejable he podido poner el código a trabajar de la forma que necesito, pero en la ultima celda donde lleva mucho texto al generar el pdf no controla el ancho de la tabla y el texto sigue una linea interminable y se desconfigura la tabla.
Código normal con cabecera en la parte superior de la tabla, ojo, solo cuatro items de la tabla para que se pueda ver bien:
<?php
require_once('class.ezpdf.php');
$pdf = new Cezpdf('A4'); //seleccionamos tipo de hoja
$pdf->selectFont('fonts/Helvetica.afm'); //seleccionamos fuente a utilizar
$pdf->ezSetCmMargins(1,1,3,3);

//Conexión a base de datos y ciclo de lectura de datos
$bd_host = "localhost:3306"; //conexión localhost
$bd_usuario = "root"; //nombre usuario
$bd_password = "123456"; //contraseña
$bd_base = "consultext"; //nombre Base de Datos
//Hacemos la conexión y si no mostramos error
$con = mysql_connect($bd_host, $bd_usuario, $bd_password) or die("Error con la conexión");
//Seleccionamos la Base de Datos de nuestra consulta anterior.
mysql_select_db($bd_base, $con) or die("Error al seleccionar db");
//escribimos nuestra consulta
$sql="SELECT * FROM historias";
//realizamos nuestra consulta
$resSql=mysql_query($sql) or die("<br>Error consulta</br>".mysql_error());
while($date=mysql_fetch_assoc($resSql)){
$data[]=$date;
}

//definición de formato del PDF
$titles=array(
'id_pcnt'=>'ID',
'fecha_pcnt'=>'Fecha',
'nmb_pcnt'=>'Nombre',
'historias'=>'Evolución'
);
$options=array(
'showHeadings'=>1,
'shadeCol'=>array(0.9,0.9,0.9),
'xOrientation'=>'center',
'width'=>500
);

//Generando el PDF
$txttit=utf8_decode("<b>HISTORIA CLÍNICA</b>\n");
$pdf->ezText($txttit,16);
$pdf->ezTable($data,$titles,'',$options);
$pdf->ezStream();
?>

Si pongo el código linea por linea despues del ciclo, con una linea como esta:
$data[] = array('Nombre',''=>utf8_decode($row[2]));
puedo ver el código en la forma en que lo necesito, pero no obedece los parametros del array y el ancho de 500 de la tabla se vuelve como de 5.000.000
pues todo lo escrito en los items donde hay mucho texto sale en una sola linea en el PDF, agradezco la ayuda que me puedan brindar, he googleado desde hace 5 días y no encuentro solución. Gracias de antemano por su ayuda.
Perdón por lo largo del mensaje.