Relatórios Pdf
Classe: wf_fpdf
Esta classe tem como finalidade gerar relatórios em PDF (é uma modificação da classe FPDF).
Métodos
Alguns métodos abaixo foram criados e outros apenas sobrescreveram métodos originais da classe. Para uma lista completa métodos oferecidos por esta classe, consulte:
Observação: em alguns tutoriais, a classe FPDF é estendida. No entanto, a classe wf_fpdf não pode ser estendida e, portanto foram criados outros artifícios (como os métodos abaixo) para que a classe não perca suas funcionalidades.
setHeaderFunction
Descrição: Define a função que irá gerar o cabeçalho do relatório.
Parâmetros:
$funcaoHeader: o nome da função (em string) que irá gerar o cabeçalho do relatório.
Retorno: <nenhum>
Observação: a função que irá gerar o cabeçalho deve ser declarada para receber um único parâmetro, que é uma instância da classe wf_fpdf.
Exemplo de utilização:
function meuCabecalho($fpdf) { $fpdf->SetFont('Arial','B',15); $fpdf->Cell(80); $fpdf->Cell(80,10,'Meu cabeçalho',1,0,'C'); $fpdf->Ln(20); } $pdf = $this->factory->getInstance("wf_fpdf"); $pdf->setHeaderFunction("meuCabecalho");
setFooterFunction
Descrição: Define a função que irá gerar o rodapé do relatório.
Parâmetros:
:$funcaoHeader: o nome da função (em string) que irá gerar o rodapé do relatório.
Retorno: <nenhum>
Observação: a função que irá gerar o rodapé deve ser declarada para receber um único parâmetro, que é uma instância da classe wf_fpdf.
Exemplo de utilização:
function meuRodape($fpdf) { $fpdf->SetFont('Arial','B',15); $fpdf->Cell(80); $fpdf->Cell(80,10,'Meu rodapé',1,0,'C'); $fpdf->Ln(20); } $pdf = $this->factory->getInstance("wf_fpdf"); $pdf->setFooterFunction("meuRodape");
Output
Descrição: Retorna o código do arquivo PDF gerado.
Parâmetros: <nenhum>
Retorno: o código (em string) do arquivo PDF gerado.
Exemplo de utilização:
$pdf = $this->factory->getInstance("wf_fpdf"); //codigo que irá gerar o relatório $codigoPDF = $pdf->Output();
Exemplo utilizando atividades e Mvc:
No template da Atividade:
{wf_download_link getParams="action=pdf" text="gerar pdf"}
No controller da Atividade:
function pdf() { $this->model->pdfAction(); }
Na Model da Atividade:
function pdfAction() { function enviarArquivo($params) { $pdf = $this->factory->getInstance('wf_fpdf'); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Hello World!'); return array( 'filename' => 'meu_pdf.pdf', 'content' => $pdf->Output()); } wf_handle_download($_GET, "enviarArquivo"); }