PHP

Em por

Fazer relatórios com PHP pode parecer uma tarefa muito difícil por ter que trabalhar com muitos arquivos de bibliotecas principalmente em projetos WEB, e uma das coisas mais legais que pude encontrar para a resolução deste problema, foi a classe mPDF. Com ela é possível gerar PDF com PHP.

Criando relatório pdf com php

Nesse artigo vamos abordar a utilização de uma biblioteca chamada mPDF. Essa biblioteca é capaz de criar arquivos PDF a partir da linguagem HTML sendo possível inclusive, a utilização de CSS para estilizar seu conteúdo.

mPDF

mPDF nada mais é que uma biblioteca pronta, e melhor, totalmente free. Ela é capaz de gerar arquivos do tipo PDF através do HTML de sua página WEB.

Com a classe mPDF tudo se torna mais fácil, pois você só precisará gerar um conteúdo em HTML que ela fara todo o trabalho sozinha.

Gerando o relatório

Primeiramente faça o download da biblioteca mPDF AQUI, ou no final do artigo com o exemplo completo, com todos os arquivos.

Feito o download, vamos montar o projeto da seguinte forma.

Crie um diretório chamado PDF, ela será nossa pasta principal onde conterá todos nossos arquivos.

Dentro do diretório PDF, coloque a pasta baixada do mPDF, e crie um arquivo index.php na raiz do projeto, ou seja, dentro do diretório que acabara de criar, o PDF.

Organizado nosso projeto, vamos configurar nosso index.

 <?php //definimos uma constante com o nome da pasta define('MPDF_PATH', 'MPDF57/'); //incluimos o arquivo include(MPDF_PATH.'mpdf.php'); //definimos o timezone para pegar a hora local date_default_timezone_set('America/Sao_Paulo'); //criamos uma variavel e colocamos nela tudo que desejamos que nosso pdf contenha $html = "Ol&aacute; mundo"; //instanciamos nossa classe mPDF $mpdf=new mPDF(); //definimos o tipo de exibicao $mpdf->SetDisplayMode('fullpage'); //definimos estilos de fonts $mpdf->useOnlyCoreFonts = true; $mpdf->watermark_font = 'DejaVuSansCondensed'; //definimos se vamos exibir a marca d'agua $mpdf->showWatermarkText = true; $mpdf->SetWatermarkText('Marca d\'agua'); //colocamos um icone de logo tipo no pdf $mpdf->SetWatermarkImage('icones/logoif.png', 1, '', array(140,10)); //definimos se sera exibido ou nao o logo no pdf $mpdf->showWatermarkImage = true; //escrve o titulo de nosso pdf $mpdf->WriteHTML('<br/><h1>T&iacute;tulo do PDF</h1><hr/>'); //definimos oque vai conter no rodape do pdf $mpdf->SetFooter('{DATE j/m/Y H:i}||Pagina {PAGENO}/{nb}'); //e finalmente escrevemos todo nosso conteudo no pdf para exibir $mpdf->WriteHTML($html); //fechamos nossa instancia ao pdf $mpdf->Output(); //pausamos a tela para exibir o que foi feito exit(); ?>

Pronto, a partir daí você já conseguirá criar relatórios em PDF, na qual todo conteúdo que você deseja adicionar ao arquivo, basta incluir a variável $html, ou você pode fazer de outra forma também, fica a seu critério.

Você pode incluir uma página inteira de html através do buffer da seguinte maneira.

Crie uma página qualquer html com um conteúdo.

 <div id="descricaoprof"> <span>Coordenador</span> <hr/> <h2>Professor x</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed volutpat, mi in ullamcorper ultricies, augue tortor mattis turpis, in luctus tortor neque vitae odio... <a href="#">Leia mais</a><p> </div>

E na hora que chamar o index para gera o PDF, inicie o buffer e de um include da página que contém o html.

 //Inicia o buffer, qualquer HTML que for sair agora será capturado para o buffer ob_start(); include(‘conteudo.html’); //Limpa o buffer jogando todo o HTML em uma variável. $html = ob_get_clean(); $mpdf=new mPDF(); //e escreve todo conteudo html vindo de nossa página html em nosso arquivo $mpdf->WriteHTML($html);

Bom, foi apresentado nesse tutorial a biblioteca mPDF para a criação de relatórios em arquivos PDF para projetos, sistemas etc. Abordando como baixa-lo e usá-lo.

Para fazer download do arquivo completo CLIQUE AQUI...

Dúvidas, críticas ou sugestões comentem abaixo que teremos o prazer em ajuda-lo. laugh

Veja Também:

Artigos Relacionados a categoria: PHP

Olá, deixe seu comentário para Criando um relatório PDF com PHP

Já temos 6 comentário(s). DEIXE O SEU :)
Denis

Denis

Muito bom..
★☆☆☆☆ DIA 02.11.15 01h11 RESPONDER
N/A
Enviando Comentário Fechar :/
Leonardo Martins

Leonardo Martins

Obrigado Denis, volte sempre e bons estudos!
★☆☆☆☆ DIA 04.11.15 13h11 RESPONDER
N/A
Enviando Comentário Fechar :/
Marcos Cutrim

Marcos Cutrim

boa tarde,
aconteceu o seguinte erro: Fatal error: Class 'mPDF' not found in C:\Program Files\EasyPHP-5.3.5.0\www\pdf\index.php on line 12
obrigado,
★☆☆☆☆ DIA 18.11.15 12h11 RESPONDER
N/A
Enviando Comentário Fechar :/
Leonardo Martins

Leonardo Martins

Boa tarde Marcos, obrigado pelo comentário. Então esse erro está acusando que não foi encontrado a classe mPDF, verifique se ela foi inserida corretamente, se o caminho está correto e se a classe foi instanciada, isso deve resolver!
★☆☆☆☆ DIA 24.11.15 13h11 RESPONDER
N/A
Enviando Comentário Fechar :/
Wiliam Franklin Jacinty dos Santos

Wiliam Franklin Jacinty dos Santos

estou com esse erro nos relatorios, pode me dizer oq seria??

A PHP Error was encountered

Severity: 8192

Message: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

Filename: includes/functions.php

Line Number: 74

A PHP Error was encountered

Severity: 8192

Message: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

Filename: includes/functions.php

Line Number: 75
★☆☆☆☆ DIA 03.12.15 12h12 RESPONDER
N/A
Enviando Comentário Fechar :/
Leonardo Martins

Leonardo Martins

Boa tarde, este seu erro está acontecendo porque a função preg_replace() foi deprecated, ou seja, ela não funciona mais, substitua a função por srt_replace() e deverá corrigir os erros.
★☆☆☆☆ DIA 09.12.15 16h12 RESPONDER
N/A
Enviando Comentário Fechar :/
Enviando Comentário Fechar :/

...AINDA NÃO VIU NOSSO PORTFÓLIO?

Se ainda não viu nosso Portfólio e quer conhecer um pouco mais... aproveite e veja agora mesmo e tenha um site de qualidade para o seu negócio!

[contato]
Ver o Portfólio Agora