= Relatórios Pdf = == Classe: wf_fpdf == Esta classe tem como finalidade gerar relatórios em PDF (é uma modificação da classe [http://www.fpdf.org/ 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: * [http://www.fpdf.org/en/doc/index.php Manual] * [http://www.fpdf.org/en/tutorial/index.php Tutoriais] 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''': '''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''': '''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:''' '''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"); } }}}