mmradunz 0 Denunciar post Postado Abril 21, 2008 Pessoal, Preciso de uma ajuda: estou montando um relatório usando FPDF com 03 colunas. Mas o quê ocorre, o texto de cada coluna ultrapassa o tamanho da coluna e "invade" a do lado. Como eu faço para limitar a quantidade de caracter de cada coluna?? Valeu!! Compartilhar este post Link para o post Compartilhar em outros sites
masauski 0 Denunciar post Postado Abril 21, 2008 Tem que ver na função o tamanho de cada célula Não lembro mto bem como que é...cola o código fonte que eu te falo aonde mudar pra aumentar e diminuir o tamanho de cada coluna Compartilhar este post Link para o post Compartilhar em outros sites
mmradunz 0 Denunciar post Postado Abril 23, 2008 Tem que ver na função o tamanho de cada célula Não lembro mto bem como que é...cola o código fonte que eu te falo aonde mudar pra aumentar e diminuir o tamanho de cada coluna $bd=new operacoes_banco(); $bd->executar_comando('', $sql); //Definição de cabeçalho e rodapé saindo em todas as páginas class meupdf extends fpdf { //Aqui sobrescrevemos o header //original do fpdf function header() { $this->setfont('arial','B',22); $this->setfillcolor(190,229,252); //azul $this->settextcolor(0, 0 ,0); //preto $this->cell(0,10,'Relatório de Chamados',1,1,'C',1); //coloca o número de páginas $this->aliasnbpages(); //guarda o nº de pags do documento $this->setfont('arial','',13); $this->text(170,4,'Página:' . $this->pageno() . "/{nb}"); //nome das colunas $this->setfontsize(14); $this->settextcolor(0,0,0); //preto //60 $this->cell(20,10,'Loja',1,0,'C'); //70 $this->cell(30,10,'Cidade',1,0,'C'); //60 $this->cell(140,10,'Observação',1,1,'C'); $this->ln(5); } //Rodapé function footer() { //Criação do link $meulink = $this->addlink(); //Instancia o link $this->setlink( $meulink , 0); //Vai para pagina atual $this->link(155 , 270 , 50 , 20,$meulink); //Criação do texto do rodapé $this->sety(297 - 20); $this->setfillcolor(190,229,252); //azul $this->settextcolor(0, 0 ,0); //branca //fonte 22 $this->setfont('arial','B',14); $this->cell (0,10,'Página: ' . $this->pageno(), 0,0,'C',1); //Texto do link $this->setfont('arial','',14); $this->text(150,283,'Clique aqui para o topo'); } } //inicializa o PDF $relatorio = new meupdf(); $relatorio->setdisplaymode('fullpage','two'); $relatorio->setfont('arial','B',8); $relatorio->addpage(); //PEGA A PRIMEIRA LINHA $linha=$bd->pega_linha(); $chave=true; while($linha) { //print_r($linha); $relatorio->setfontsize(8); $relatorio->setfont(''); //Tira o negrito //defina cor da linha if ($chave) { $relatorio->setfillcolor(190,229,252); $chave=false; } else { $relatorio->setfillcolor(255,255,255); $chave=true; } //Mostra os dados $relatorio->cell(20,7,$linha[bpcs],1,0,'C',1); $relatorio->cell(30,7,$linha[cidade],1,0,'C',1); $relatorio->cell(140,7,$linha[observacao],1,1,'C',1); //$relatorio->ln(5); //quebra de linha $linha=$bd->pega_linha(); } $relatorio->output(); Compartilhar este post Link para o post Compartilhar em outros sites
Djonatan Buss 0 Denunciar post Postado Abril 22, 2009 Desculpa se não ajudar tanto, mas você ja deu uma lida na função AcceptPageBreak? na propria documentação do FPDF vem esse exemplo... Espero que ajude Exemplo O método é sobreposto em uma classe herdada a fim obter um layout de 3 colunas: class PDF extends FPDF { var $col=0; function SetCol($col) { //Move a posição para a coluna especificada $this->col=$col; $x=10+$col*65; $this->SetLeftMargin($x); $this->SetX($x); } function AcceptPageBreak() { if($this->col<2) { //Vai para a próxima coluna $this->SetCol($this->col+1); $this->SetY(10); return false; } else { //Volta para a primeira coluna e permite a quebra de página $this->SetCol(0); return true; } } } $pdf=new PDF(); $pdf->Open(); $pdf->AddPage(); $pdf->SetFont('Arial','',12); for($i=1;$i<=300;$i++) $pdf->Cell(0,5,"Line $i",0,1); $pdf->Output(); Compartilhar este post Link para o post Compartilhar em outros sites
PauloRJ 4 Denunciar post Postado Abril 22, 2009 porque voce nao limita o numero de caracteres do texto evitando ele de invadir a proxima coluna Compartilhar este post Link para o post Compartilhar em outros sites