Geração de PDF em PHP: visão geral das bibliotecas e exemplos de código

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 PDF em PHP: visão geral completa de ferramentas e bibliotecas



A geração de documentos PDF no lado do servidor é uma das tarefas comuns no desenvolvimento web. De faturas e relatórios a certificados e livros, o formato PDF continua sendo o padrão para fluxo de documentos. Em PHP, existem várias bibliotecas maduras, cada uma com seus pontos fortes. Neste artigo, analisaremos quatro ferramentas principais: FPDF, TCPDF, Dompdf e mPDF, forneceremos exemplos de código e ajudaremos você a escolher a solução adequada para o seu projeto.



1. FPDF — biblioteca leve e rápida

FPDF é uma das bibliotecas mais antigas e populares para geração de PDF em PHP. Ela não requer dependências externas, funciona rapidamente e é ideal para documentos simples: notas fiscais, recibos, atas.



Instalação

composer require setasign/fpdf


Exemplo: PDF simples com texto e imagem

<?phprequire_once 'vendor/autoload.php';

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, 'Olá, mundo!');$pdf->Image('logo.png', 10, 20, 30);$pdf->Output();?>


FPDF suporta:

  • Trabalho com diferentes fontes (TrueType, Type1)
  • Criação de tabelas, células multilinha
  • Inserção de imagens (JPEG, PNG, GIF)
  • Numeração de páginas, cabeçalhos e rodapés

Desvantagem: suporte limitado a HTML e CSS — todos os elementos precisam ser criados programaticamente.



2. TCPDF — ferramenta poderosa para documentos complexos

TCPDF é uma versão estendida do FPDF que adiciona suporte a Unicode, tags HTML, SVG, assinaturas digitais, QR codes e muito mais. É excelente para criar faturas, certificados, relatórios com tabelas.



Instalação

composer require tecnickcom/tcpdf


Exemplo: PDF com conteúdo HTML e tabela

<?phprequire_once 'vendor/autoload.php';

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);$pdf->AddPage();$html = '<h1>Título</h1><table border="1"><tr><td>Célula 1</td><td>Célula 2</td></tr></table>';$pdf->writeHTML($html, true, false, true, false, '');$pdf->Output('example.pdf', 'I');?>


Principais recursos do TCPDF:

  • Suporte completo a Unicode (UTF-8) e cirílico
  • Modelos integrados, numeração de páginas
  • Gráficos vetoriais (SVG, formulários PDF)
  • Assinaturas digitais, criptografia
  • Suporte a JavaScript em PDF


3. Dompdf — geração a partir de HTML/CSS

Dompdf permite criar PDF a partir de marcação HTML, processando CSS (incluindo Flexbox, Grid, media queries). É ideal se você já possui templates web ou deseja transformar rapidamente uma página HTML em PDF.



Instalação

composer require dompdf/dompdf


Exemplo: PDF a partir de string HTML

<?phpuse Dompdf\\Dompdf;

require_once 'vendor/autoload.php';

$dompdf = new Dompdf();$html = '<h2 style="color:blue;">Olá do Dompdf!</h2><p>Este é um PDF gerado a partir de HTML.</p>';$dompdf->loadHtml($html);$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream("document.pdf");?>


Características do Dompdf:

  • Suporte a CSS 2.1 e parcialmente CSS3
  • Trabalho com imagens, fontes (locais e Google Fonts)
  • Suporte integrado a cirílico ao usar fontes corretas
  • Integração simples com frameworks (Laravel, Symfony)

Importante: para layouts complexos com JavaScript ou animações

Recommendations