Foros del Web » Programando para Internet » PHP »

ayuda con cell en FPDF uso de \n

Estas en el tema de ayuda con cell en FPDF uso de \n en el foro de PHP en Foros del Web. hola que tal a todos mi problema es el siguiente: estoy usando libreria fpdf uso Cell este el codigo Cita: foreach($this->aCols as $col) $this->Cell($col['w'],6,$col['c'],1,0,'C',$fill); $this->Ln(); ...
  #1 (permalink)  
Antiguo 26/02/2008, 11:48
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
ayuda con cell en FPDF uso de \n

hola que tal a todos mi problema es el siguiente:

estoy usando libreria fpdf
uso Cell

este el codigo
Cita:
foreach($this->aCols as $col)
$this->Cell($col['w'],6,$col['c'],1,0,'C',$fill);

$this->Ln();
estoy mostrando una tabla, pero en la cabecera tengo los campos bien largos entonces necesito utilizar \n para dar un salto pero Cell no me lo permite y si uso MultiCell no me funciona porque creo yo esta dentro del foreach ya lo intente pero me pone la cabecera de la tabla asi
_______
Nombre
_______

_______
Apellido
_______

_______
Nacionalida
_________

como notan me hace los espacios sin si quiera poner \n creo yo porque esta dentro del foreach yo necesito hacer esto::

__________ _______________
Numero ! Numero !
Actual ! Anterior !
_________ !________ !______

ayuda por fa a lo mejor si se puede con cell alguna forma de agregar \n
gracias
  #2 (permalink)  
Antiguo 26/02/2008, 12:29
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Re: ayuda con cell en FPDF uso de \n

alguien sabe por fa
  #3 (permalink)  
Antiguo 26/02/2008, 12:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: ayuda con cell en FPDF uso de \n

Usa WordWrap y especifica el parámetro que en lugar del break que sea con <br /> sea con \n.

Saludos.
  #4 (permalink)  
Antiguo 26/02/2008, 13:12
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Re: ayuda con cell en FPDF uso de \n

a si es como mando la cabecera es una consulta mysql al BD

Cita:
$pdf->AddCol('descrip',75,"Description\n Service ");
despues llega al otro archivo pdf

donde me hace la cabecera de la tabla
Cita:
function TableHeader()
{

$this->SetFont('TIMES','',11);
$this->SetX($this->TableX);
$fill=!empty($this->HeaderColor);
if($fill)
$this->SetFillColor($this->HeaderColor[0],$this->HeaderColor[1],$this->HeaderColor[2]);

foreach($this->aCols as $col)

$this->Cell($col['w'],6,$col['c'],1,0,'C',$fill);
$this->Ln();


}
donde utilizaria worwrap
alguna forma
  #5 (permalink)  
Antiguo 26/02/2008, 13:33
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Re: ayuda con cell en FPDF uso de \n

esto hice y no funciono

$vari=wordwrap("Description</br>Service" );
$pdf->AddCol('descrip',75,"$vari\n");

en la cabecera de la tabla me pone esto Description</br>Service

alguna otra forma gracias
por contestar
  #6 (permalink)  
Antiguo 26/02/2008, 13:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: ayuda con cell en FPDF uso de \n

Todo depende de donde obtengas el valor de tu cabecera pero solo seria agregarla por decir así:
Código PHP:
$cabecera wordwrap$col_name10 /* numero de caracteres */"\n" /* Caracter del salto */true );
$pdf->AddCol('descrip',75,$cabecera); 
Saludos.
  #7 (permalink)  
Antiguo 26/02/2008, 13:46
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Re: ayuda con cell en FPDF uso de \n

gracias por tu respuesta pero ni asi

sto hago
$cabecera = wordwrap( 'Description Service', 12, "\n" , true );

$pdf->AddCol('descrip',75,"$cabecera");

y si le reduzco los caracteres por ejemplo a 2

aparece asi en la cabecera De scription Service
o sea meda un espacio

como le hago a hora
  #8 (permalink)  
Antiguo 26/02/2008, 13:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: ayuda con cell en FPDF uso de \n

Mmm no encuentro en la documentación oficial de FPDF el método addCol, de donde obtuviste la librería?

Saludos.
  #9 (permalink)  
Antiguo 26/02/2008, 14:07
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Re: ayuda con cell en FPDF uso de \n

no recuerdo de donde baje la libreria fpdf

voy a poner el codigo donde se crea la tabla es te es el archivo dos.php

Cita:
function Header()
{
//Print the table header if necessary
if($this->ProcessingTable)
$this->TableHeader();
}

function TableHeader()
{

$this->SetFont('TIMES','',11);
$this->SetX($this->TableX);
$fill=!empty($this->HeaderColor);
if($fill)
$this->SetFillColor($this->HeaderColor[0],$this->HeaderColor[1],$this->HeaderColor[2]);

foreach($this->aCols as $col)

$this->Cell($col['w'],8,$col['c'],1,0,'C',$fill);


$this->Ln();
}

function Row($data)
{
$this->SetX($this->TableX);
$ci=$this->ColorIndex;
$fill=!empty($this->RowColors[$ci]);
if($fill)
$this->SetFillColor($this->RowColors[$ci][0],$this->RowColors[$ci][1],$this->RowColors[$ci][2]);
foreach($this->aCols as $col)
$this->Cell($col['w'],5,$data[$col['f']],1,0,$col['a'],$fill);
$this->Ln();
$this->ColorIndex=1-$ci;
}

function CalcWidths($width,$align)
{
//Compute the widths of the columns
$TableWidth=0;
foreach($this->aCols as $i=>$col)
{
$w=$col['w'];
if($w==-1)
$w=$width/count($this->aCols);
elseif(substr($w,-1)=='%')
$w=$w/100*$width;
$this->aCols[$i]['w']=$w;
$TableWidth+=$w;

}
//Compute the abscissa of the table
if($align=='C')
$this->TableX=max(($this->w-$TableWidth)/2,0);
elseif($align=='R')
$this->TableX=max($this->w-$this->rMargin-$TableWidth,0);
else
$this->TableX=$this->lMargin;
}

function AddCol($field=-1,$width=-1,$caption='',$align='L')
{
//Add a column to the table

// $this->SetFont('ARIAL','',12);


if($field==-1)
$field=count($this->aCols);
$this->aCols[]=array('f'=>$field,'c'=>$caption,'w'=>$width,'a'=> $align);


}

function Table($query,$prop=array())
{
//Issue query
$res=mysql_query($query) or die('Error: '.mysql_error()."<BR>Query: $query");
//Add all columns if none was specified
if(count($this->aCols)==0)
{
$nb=mysql_num_fields($res);
for($i=0;$i<$nb;$i++)

$this->AddCol();
}
//Retrieve column names when not specified
foreach($this->aCols as $i=>$col)
{
if($col['c']=='')
{
if(is_string($col['f']))
$this->aCols[$i]['c']=ucfirst($col['f']);
else
$this->aCols[$i]['c']=ucfirst(mysql_field_name($res,$col['f']));

}
}
//Handle properties
if(!isset($prop['width']))
$prop['width']=0;
if($prop['width']==0)
$prop['width']=$this->w-$this->lMargin-$this->rMargin;
if(!isset($prop['align']))
$prop['align']='C';
if(!isset($prop['padding']))
$prop['padding']=$this->cMargin;
$cMargin=$this->cMargin;
$this->cMargin=$prop['padding'];
if(!isset($prop['HeaderColor']))
$prop['HeaderColor']=array();
$this->HeaderColor=$prop['HeaderColor'];
if(!isset($prop['color1']))
$prop['color1']=array();
if(!isset($prop['color2']))
$prop['color2']=array();
$this->RowColors=array($prop['color1'],$prop['color2']);
//Compute column widths
$this->CalcWidths($prop['width'],$prop['align']);
//Print header
$this->TableHeader();
//Print rows
$this->SetFont('TIMES','',9);
$this->ColorIndex=0;
$this->ProcessingTable=true;
while($row=mysql_fetch_array($res))
$this->Row($row);
$this->ProcessingTable=false;
$this->cMargin=$cMargin;
$this->aCols=array();
}




y este es el archivo uno.php donde hago la construccion del pdf

a si

$pdf=new PDF();


$pdf->Open();
Cita:
$pdf->Table('SELECT * FROM total WHERE icve_invoice='.$inv.' ',$prop);

$pdf->WriteHTML("<BR>");
$pdf->AddCol('icve_orden',15,"Order");
$pdf->AddCol('part_num',30,"Part#");

$cabecera = wordwrap( 'Description Service', 11, "\n" ,true );

$pdf->AddCol('descrip',75,$cabecera);
$pdf->AddCol('cantidad',20,"Quantity");
$pdf->AddCol('hr_man',15,"Hrs");
$pdf->AddCol('cost_unit',20,"Unit Cost");
$pdf->AddCol('monto_tot',25,"Total\n Amount");


haber que me sugieres gracias por contestar este scrip esta en la pagina oficial de ahi lo baje
www.fpdf.org


o algo para quitar el foreach que no medeja poner multicell
salu2
  #10 (permalink)  
Antiguo 26/02/2008, 14:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: ayuda con cell en FPDF uso de \n

Si te fijas la función AddCol acepta como segundo parámetro el ancho de la celda, juega con el ancho para ajustar tu tabla.

Saludos.
  #11 (permalink)  
Antiguo 31/03/2008, 14:18
 
Fecha de Ingreso: marzo-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Re: ayuda con cell en FPDF uso de \n

Con Multicell, para que te funcione el \n debes colocar la cadena entre comillas dobles y no con comilla simple.
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 22:07.