Pessoal boa noite, estou tentando gerar um relatorio em PDF pelo PHP usando a classe do FPDF.... Porem para nao ter que escrever muita coisa toda hora criei uma rotina dentro de um geraPDF.php
e no relatorio eu dou um require no arquivo, porem ele da um erro que não estou conseguindo identificar.... Vou mostrar mais ou menos como ele esta abaixo.


Este é o teste.php

Código PHP:
<?

    require_once("geraPDF.php");
    
    $caminho_pdf = CriaPDF('P'); // P (retrato) ou L (Paisagem)
    IniciaCabec();
    linhaAzul('Lista de Grupos');
    PulaLinha();    
    IniciaCorpo();
    
    linhaVermelha('Codigo do Grupo: '); linha("$codigo");
    linhaVerdeClara(' Nome do Grupo'); linha("$nome");
    PulaLinha();
    linhaAzulClara('Cadastrado em : '); linha("$transmissao"); 
    PulaLinha();
    linhaAmarela('-------------------------------------------');
    PulaLinha();
         
    IniciaRodape();
    linhaAzul('Relatorio de teste gerado pelo Douglas');
    PulaLinha();
    SalvaPDF();
    
    echo "<script type=\"text/javascript\">window.open('".$caminho_pdf."','mywindow','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes')</script>";
  
?>
este é o arquivo que gerei as funções para chamar as classes

geraPDF.php

Código PHP:

<?
 require_once("config.php");
 require_once("classes/fpdf/fpdf.php"); //incluindo a classe PDF 
 
function CriaPDF($modelo) {
 $caminho_pdf = 'modulos/trab/'.$login_painel.'.pdf';
 if (file_exists($caminho_pdf) == true) {
      unlink("$caminho_pdf");  
 }
 $caminho_pdf_imprimir = $caminho_pdf;
 
 $pdf = new FPDF($modelo,'cm','A4');
 $pdf->AddPage();
 $pdf->SetAuthor('Equipe Sistemas');
 $pdf->SetTitle('Relatorio Web');
 $pdf->SetMargins(2, 2, 2);
 return $caminho_pdf_imprimir;


function IniciaCabec() {
 $pdf->SetFont(wNomeFontCabec, wStyleCabec, wSizeCabec);   
}

function IniciaCorpo() {
 $pdf->SetFont(wNomeFontCorpo, wStyleCorpo, wSizeCorpo);    
}

function IniciaRodape() {
 $pdf->SetFont(wNomeFontRodape, wStyleRodape, wSizeRodape);   
}

function PulaLinha(){
  $pdf->Ln();  
}

function linha($linha) {    
   $pdf->SetTextColor(0,0,0); //Preto
   $pdf->Write(0.5,$linha); 
}

function linhaAmarela($linha) {    
   $pdf->SetTextColor(255,255,0); //Amarelo
   $pdf->Write(0.5,$linha); 
}

function linhaAzul($linha) {    
   $pdf->SetTextColor(0,0,255); //Azul
   $pdf->Write(0.5,$linha); 
}

function linhaVermelha($linha) {    
   $pdf->SetTextColor(255,0,0); //Vermelho
   $pdf->Write(0.5,$linha); 
}

function linhaVerde($linha) {    
   $pdf->SetTextColor(0,255,0); //Verde
   $pdf->Write(0.5,$linha); 
}

function linhaVerdeClara($linha) {    
   $pdf->SetTextColor(153,205,50); //Verde Claro
   $pdf->Write(0.5,$linha); 
}

function linhaAzulClara($linha) {    
   $pdf->SetTextColor(0,127,255); //Azul Claro
   $pdf->Write(0.5,$linha); 
}

function SalvaPDF() {
    $pdf->Output($caminho_pdf);
}


?>
Quando executo o o teste.php ele le a primeira função

$caminho_pdf = CriaPDF('P'); // P (retrato) ou L (Paisagem) (aqui ele conseguer executar)

porem a partir da segunda função ele nao executa mais, e nem uma das outras.... Ele sempre da erro.

IniciaCabec();

Fatal error: Call to a member function SetFont() on a non-object in D:\Projeto WEB\equipe\modulos\geraPDF.php on line 21

Independente da função que eu execute ele da esse erro na chama da classe....Seja SetFont, Write, Ln....

Alguem sabe se é possivel fazer isso, ou não se pode chamar uma função e dentro dela chamar outra função de uma classe;; Se alguem souber e quiser dar uma força ai agradeço desde ja.