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.