PHP
Criando um relatório PDF com PHP
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.

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á 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í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. =)
Gigasystems Login:
Informe seu e-mail abaixo para continuar!
XVeja Também:
Artigos Relacionados a categoria: PHP
Cotações para compra e venda de Moedas estrangeiras com PHP
27 July de 2016
Gerenciador de dependências Composer
14 January de 2016
Erro ao acessar um arquivo externo com o comando file_get_content
04 November de 2015
Baixando anexo do email no servidor com IMAP e PHP
27 August de 2015
Olá, deixe seu comentário para Criando um relatório PDF com PHP
Juliano Streit
Falha ao carregar documento PDF.
José Souza
Leonel leo
Warning: count(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\facturacion\pdf\_class\locale.class.php on line 68
Warning: count(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\facturacion\pdf\_class\locale.class.php on line 68
TCPDF ERROR: Some data has already been output, can't send PDF file
Espero me puedas apoyar... leo187619@gmail.com
de antenamo te agradezco
Marcos Martins
Buenas tardes,
por supuesto que está utilizando la versión de PHP por encima de 7.1, ya que en esta versión, la matriz no puede ser más nulo para utilizar el count ().
Para corregir este problema es simple, basta con seguir este otro artículo en mi sitio.
https://www.gigasystems.com.br/artigo/106/error-php-7-2-count-parameter-must-be-an-array-or-an-object-that-implements-countable
Att Marcos
fabricio ferreira
Fatal error: Trait 'Mpdf\Strict' not found in C:\www\outros\relatorio_mPDF\vendor\mpdf\mpdf\src\Mpdf.php on line 44
Paulo Schneider
João Rezende
Marcelo Bohn
require_once __DIR__ . '/vendor/autoload.php';
Após isto, funcionou ok.
Silvio Santos
Qual a versão do seu PHP?
Rafael Silva
Sincronizei com meu banco e ficou perfeito. Parabéns.
Marcos Martins
Olá Rafael, que bom que ajudou, ficamos felizes! =)
Wiliam Franklin Jacinty dos Santos
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
Leonardo Martins
Marcos Cutrim
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,
Leonardo Martins
Osvino Bittencourt
Denis
Leonardo Martins