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/fpdfExemplo: 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/tcpdfExemplo: 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/dompdfExemplo: 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
Também na biblioteca
Framework CLI para Swift: criação de utilitários de console no iOS/macOS
frozen para C++: guia completo com exemplos práticos
Media3 / ExoPlayer para Kotlin: guia completo com exemplos práticos
clinic.js — Monitoramento de aplicações TypeScript
ORM para Rust: comparação entre Diesel, SeaORM, SQLx e exemplos de código