Geração de relatórios PDF em PHP: visão geral de bibliotecas e ferramentas

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Geração de relatórios PDF em PHP: visão geral de bibliotecas e ferramentas



Criar documentos PDF é uma das tarefas frequentes no desenvolvimento web com PHP. Seja para gerar faturas, relatórios, certificados ou simplesmente exportar dados para um formato imprimível, o PHP oferece várias soluções maduras. Neste artigo, vamos analisar quatro bibliotecas principais: TCPDF, FPDF, Dompdf e mPDF. Você conhecerá suas características, pontos fortes e obterá exemplos de código para cada uma.



1. FPDF — o clássico leve e rápido



FPDF é, provavelmente, a biblioteca mais conhecida para geração de PDF em PHP. Ela não requer extensões externas, funciona "pronta para uso" e se destaca pela alta velocidade. A principal desvantagem é o suporte limitado a estilos CSS complexos e HTML.



Exemplo de criação de um relatório PDF simples com tabela:



<?phprequire_once('fpdf.php');

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, 'Relatório de Vendas');$pdf->Ln(20);

$pdf->SetFont('Arial', '', 12);// Cabeçalhos da tabela$pdf->Cell(60, 7, 'Produto', 1);$pdf->Cell(30, 7, 'Quantidade', 1);$pdf->Cell(40, 7, 'Preço', 1);$pdf->Ln();

// Dados$items = [ ['Notebook', 5, 45000], ['Mouse', 10, 1200], ['Teclado', 7, 2500]];

foreach ($items as $item) { $pdf->Cell(60, 7, $item[0], 1); $pdf->Cell(30, 7, $item[1], 1); $pdf->Cell(40, 7, $item[2] . ' R$', 1); $pdf->Ln();}

$pdf->Output();?>


Quando usar: para relatórios simples, onde não é necessária uma diagramação complexa, mas a velocidade e o tamanho pequeno do arquivo são importantes.



2. TCPDF — ferramenta poderosa para PDFs complexos



TCPDF é um fork do FPDF com recursos estendidos. Ele suporta Unicode, JPEG2000, QR codes, SVG, além de trabalhar com HTML e CSS (de forma limitada). A biblioteca é ativamente desenvolvida e usada em sistemas como Drupal e Moodle.



Exemplo de geração de relatório usando marcação HTML:



<?phprequire_once('tcpdf/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);$pdf->SetCreator(PDF_CREATOR);$pdf->SetAuthor('Sua empresa');$pdf->SetTitle('Relatório Mensal');

$pdf->AddPage();$html = '<h2>Relatório Mensal</h2><table border="1" cellpadding="5"> <tr style="background-color:#cccccc;"> <th>Indicador</th><th>Valor</th> </tr> <tr> <td>Receita</td><td>R$ 1.200.000,00</td> </tr> <tr> <td>Despesas</td><td>R$ 850.000,00</td> </tr> <tr> <td>Lucro</td><td><strong>R$ 350.000,00</strong></td> </tr></table><p>Data de geração: ' . date('d/m/Y') . '</p>';

$pdf->writeHTML($html, true, false, true, false, '');$pdf->Output('relatorio.pdf', 'I');?>


Quando usar: para documentos complexos com tabelas, imagens, fontes não padrão e suporte a caracteres cirílicos.



3. Dompdf — transformando HTML em PDF



Dompdf é uma biblioteca que renderiza uma página HTML em PDF. Ela suporta CSS2.1 e parcialmente CSS3, permitindo criar relatórios usando a diagramação habitual. Ideal para converter templates HTML prontos.



Exemplo de criação de relatório a partir de um template HTML:



<?phprequire_once 'dompdf/autoload.inc.php';use Dompdf\\Dompdf;

$dompdf = new

Recommendations