Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mmradunz

Relatório FPDF

Recommended Posts

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.