Ir para conteúdo

Arquivado

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

fezinha

[Resolvido] Tabela com FPDF

Recommended Posts

Oi Pessoal,

 

Como faço para que, em uma tabela, quando mudar de página, repita o cabeçalho da tabela.

Isso utilizando FPDF para gerar um relatório.

 

Estou precisando muito desse recurso.

 

Aguardo retorno,

 

Fernanda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcio,

 

Eu fiz assim:

 

class PDF extends FPDF

{

//Page header

function Footer()

{

//Position at 1.5 cm from bottom

$this->SetY(-18);

//Arial italic 8

$this->SetFont('Arial','',8);

//Page number

$foot = "EMPRESA\n";

$foot .= "Página ".$this->PageNo()."/{nb}";

$this->SetX(30);

$this->MultiCell(0,3,$foot,0,'C');

}

 

var $col=0;

 

function SetCol($col)

{

//Move position to a column

$this->col=$col;

$x=10+$col*65;

$this->SetLeftMargin($x);

$this->SetX($x);

}

}

 

$pdf = new PDF('P','mm');

$pdf->Open();

$pdf->AddPage();

$pdf->AliasNbPages();

$pdf->SetAutoPageBreak(true,18);

 

$pdf->SetFont('Arial','B',10);

$pdf->MultiCell(0,5,'Ementa do curso','LTRB','J',0);

$pdf->SetFont('Arial','',10);

$pdf->MultiCell(0,5,'xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxx sssssssssssssss xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss','LTRB','J',0);

$pdf->Ln();

$pdf->Output()

 

Eu gostaria que o cabeçalho, no caso "Ementa do curso", aparecesse na segunda página, ou no mínimo que a linha superior da célula aparecesse.

 

Você tem alguma idéia de como posso fazer isso?

 

Obrigada,

 

Fernanda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da mesma forma como você fez o rodapé.

Basta extender a classe e criar o método Header.

 

Aumente o conteúdo do MultiCell até que ele utrapasse uma página, você vai entender como funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já fiz o Header mas não deu certo.

E já aumentei o conteúdo do MultiCell. No exemplo

que postei já está ultrapassando.

 

Você pode me ajudar?

 

Fernanda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver a sua classe que descende da FPDF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vi sim. É que eu queria ter certeza de que você não reescreveu o método Header, e sim apenas o Footer.

Faltou apenas fazer isso http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah tá!

 

a classe toda está assim:

 

global $teste;

 

class PDF extends FPDF

{

//Page header

function Header()

{

$this->SetFont('Arial','B',10);

$this->MultiCell(0,5,$GLOBALS['teste'],'LTRB','J',0);

$this->SetFont('Arial','',10);

}

 

 

function Footer()

{

//Position at 1.5 cm from bottom

$this->SetY(-18);

//Arial italic 8

$this->SetFont('Arial','',8);

$this->Line(10,275, 200, 275);

//Page number

$foot = "EMPRESA\n";

$foot .= "Página ".$this->PageNo()."/{nb}";

$this->SetX(30);

$this->MultiCell(0,3,$foot,0,'C');

}

 

var $col=0;

 

function SetCol($col)

{

//Move position to a column

$this->col=$col;

$x=10+$col*65;

$this->SetLeftMargin($x);

$this->SetX($x);

}

}

 

$pdf = new PDF('P','mm');

$pdf->Open();

$pdf->AddPage();

$pdf->AliasNbPages();

$pdf->SetAutoPageBreak(true,18);

 

$pdf->SetFont('Arial','B',10);

$teste = 'Ementa do curso';

$pdf->MultiCell(0,5,'Ementa do curso','LTRB','J',0);

$pdf->SetFont('Arial','',10);

$pdf->MultiCell(0,5,'xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxx sssssssssssssss xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx

sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxx sssssssssssssss xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx sssssssssssssss','LTRB','J',0);

 

$pdf->Output();

 

Agora consegui arrumar. Mas assim seria a melhor solução?

 

Fernanda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que sim. Está funcionando agora ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda não está 100 %.

Tenho que ajeitar algumas configurações.

Por exemplo, não aparecer o Header com o cabeçalho da tabela na primeira página.

Acertar o Footer para fechar o Multicell.

Etc.

 

Qualquer coisa eu posto novamente no fórum.

 

Obrigada.

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.