Foros del Web » Programando para Internet » PHP »

fpdf la celda no respeda los limites

Estas en el tema de fpdf la celda no respeda los limites en el foro de PHP en Foros del Web. no me respecta el ancho de la celda, las letras siguen hasta el infinito, lo cual deberia de encajarse todo en la celda ? a ...
  #1 (permalink)  
Antiguo 11/01/2010, 13:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 15 años, 8 meses
Puntos: 6
fpdf la celda no respeda los limites

no me respecta el ancho de la celda, las letras siguen hasta el infinito, lo cual deberia de encajarse todo en la celda ? a que se debe ??

ejemplo visual:




$pdf->Cell(180,10,"$nombres",1,3);
  #2 (permalink)  
Antiguo 10/06/2010, 22:32
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: fpdf la celda no respeda los limites

Cita:
Iniciado por flashtkd Ver Mensaje
no me respecta el ancho de la celda, las letras siguen hasta el infinito, lo cual deberia de encajarse todo en la celda ? a que se debe ??

ejemplo visual:




$pdf->Cell(180,10,"$nombres",1,3);
Maldita sea, yo tengo el mismo problema y no se como resolverlo
  #3 (permalink)  
Antiguo 11/06/2010, 08:41
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: fpdf la celda no respeda los limites

No tengo la respuesta, pero si material que copio y pego:


El archivo php
Código PHP:

require('fpdf.php');

class 
PDF extends FPDF
{
//Cargar los datos
function LoadData($file)
{
    
//Leer las líneas del fichero
    
$lines=file($file);
    
$data=array();
    foreach(
$lines as $line)
        
$data[]=explode(';',chop($line));
    return 
$data;
}

//Tabla simple
function BasicTable($header,$data)
{
    
//Cabecera
    
foreach($header as $col)
        
$this->Cell(40,7,$col,1);
    
$this->Ln();
    
//Datos
    
foreach($data as $row)
    {
        foreach(
$row as $col)
            
$this->Cell(40,6,$col,1);
        
$this->Ln();
    }
}

//Una tabla más completa
function ImprovedTable($header,$data)
{
    
//Anchuras de las columnas
    
$w=array(40,35,40,45);
    
//Cabeceras
    
for($i=0;$i<count($header);$i++)
        
$this->Cell($w[$i],7,$header[$i],1,0,'C');
    
$this->Ln();
    
//Datos
    
foreach($data as $row)
    {
        
$this->Cell($w[0],6,$row[0],'LR');
        
$this->Cell($w[1],6,$row[1],'LR');
        
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');
        
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
        
$this->Ln();
    }
    
//Línea de cierre
    
$this->Cell(array_sum($w),0,'','T');
}

//Tabla coloreada
function FancyTable($header,$data)
{
    
//Colores, ancho de línea y fuente en negrita
    
$this->SetFillColor(255,0,0);
    
$this->SetTextColor(255);
    
$this->SetDrawColor(128,0,0);
    
$this->SetLineWidth(.3);
    
$this->SetFont('','B');
    
//Cabecera
    
$w=array(40,35,40,45);
    for(
$i=0;$i<count($header);$i++)
        
$this->Cell($w[$i],7,$header[$i],1,0,'C',1);
    
$this->Ln();
    
//Restauración de colores y fuentes
    
$this->SetFillColor(224,235,255);
    
$this->SetTextColor(0);
    
$this->SetFont('');
    
//Datos
    
$fill=false;
    foreach(
$data as $row)
    {
        
$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
        
$this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
        
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
        
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
        
$this->Ln();
        
$fill=!$fill;
    }
    
$this->Cell(array_sum($w),0,'','T');
}
}

$pdf=new PDF();
//Títulos de las columnas
$header=array('País','Capital','Superficie (km2)','Pobl. (en miles)');
//Carga de datos
$data=$pdf->LoadData('paises.txt');
$pdf->SetFont('Arial','',14);
$pdf->AddPage();
$pdf->BasicTable($header,$data);
$pdf->AddPage();
$pdf->ImprovedTable($header,$data);
$pdf->AddPage();
$pdf->FancyTable($header,$data);
$pdf->Output(); 
Luego colocan esto en un txt llamado paises

Código PHP:

Austria
;Vienna;83859;8075
Belgium
;Brussels;30518;10192
Denmark
;Copenhagen;43094;5295
Finland
;Helsinki;304529;5147
France
;Paris;543965;58728
Germany
;Berlin;357022;82057
Greece
;Athens;131625;10511
Ireland
;Dublin;70723;3694
Italy
;Roma;301316;57563
Luxembourg
;Luxembourg;2586;424
Netherlands
;Amsterdam;41526;15654
Portugal
;Lisbon;91906;9957
Spain
;Madrid;504790;39348
Sweden
;Stockholm;410934;8839
United Kingdom
;London;243820;58862 

...Quiza les sirva para comparar.

Suerte...!

Etiquetas: celda, fpdf, limites
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.
Tema Cerrado




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