Geração de PDF em PHP: bibliotecas, ferramentas 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 das bibliotecas e ferramentas



Criar documentos PDF é uma das tarefas comuns no desenvolvimento web. O PHP oferece várias bibliotecas maduras que permitem gerar PDF a partir de HTML, dados dinâmicos ou diretamente por desenho. Neste artigo, vamos analisar quatro bibliotecas principais: TCPDF, FPDF, Dompdf e mPDF, suas características, exemplos de uso e recomendações de escolha para um site educacional.



1. TCPDF — padrão da indústria



TCPDF é uma das bibliotecas mais poderosas para geração de PDF em PHP. Ela suporta Unicode, fontes TrueType, OpenType, proteção por senha, marcas d'água, códigos QR e muito mais. Ideal para criar relatórios complexos, faturas, certificados.



Instalação: via Composer: composer require tecnickcom/tcpdf



Exemplo de criação de PDF simples:



<?phprequire_once __DIR__ . '/vendor/autoload.php';

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf->SetCreator('PythonLib.ru');$pdf->SetAuthor('Autor');$pdf->SetTitle('Exemplo TCPDF');$pdf->SetSubject('Geração de PDF');

$pdf->AddPage();$pdf->SetFont('dejavusans', '', 14);$pdf->Cell(0, 10, 'Olá, mundo! Este é um PDF do TCPDF.', 0, 1);

$pdf->Output('example_tcpdf.pdf', 'I');?>


2. FPDF — leve e rápida



FPDF é uma biblioteca clássica para documentos PDF simples. Ela não requer instalação de extensões adicionais e é muito fácil de aprender. Adequada para criar tabelas, relatórios simples, notas fiscais.



Instalação: baixar de fpdf.org ou via Composer: composer require setasign/fpdf



Exemplo com tabela:



<?phprequire_once __DIR__ . '/vendor/autoload.php';

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 12);

// Cabeçalhos da tabela$pdf->Cell(40, 10, 'Nome', 1);$pdf->Cell(40, 10, 'Sobrenome', 1);$pdf->Cell(40, 10, 'Idade', 1);$pdf->Ln();

$pdf->SetFont('Arial', '', 10);$pdf->Cell(40, 10, 'João', 1);$pdf->Cell(40, 10, 'Silva', 1);$pdf->Cell(40, 10, '25', 1);

$pdf->Output('example_fpdf.pdf', 'I');?>


3. Dompdf — de HTML para PDF



Dompdf permite converter HTML+CSS em PDF. Isso é útil se você já tem a estrutura das páginas (por exemplo, fatura ou artigo). Suporta CSS 2.1 e parcialmente CSS 3, fontes, imagens.



Instalação: composer require dompdf/dompdf



Exemplo de conversão de HTML:



<?phprequire_once __DIR__ . '/vendor/autoload.php';

use Dompdf\\Dompdf;

$dompdf = new Dompdf();$html = '<h1 style="color: #3498db;">Título do PDF</h1><p>Este documento foi criado a partir de HTML usando Dompdf.</p><table border="1" cellpadding="5"> <tr><th>Coluna 1</th><th>Coluna 2</th></tr> <tr><td>Dados 1</td><td>Dados 2</td></tr></table>';

$dompdf->loadHtml($html);$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream('example_dompdf.pdf', ['Attachment' => 0]);?>


4. mPDF — poderoso conversor de HTML



mPDF é outra biblioteca para conversão de HTML em PDF. Ela suporta melhor CSS, Unicode, fontes orientais, criação de sumário, cabeçalhos e rodapés do que o Dompdf. Excelente para livros, revistas, documentos complexos.



Instalação: composer require mpdf/mpdf



Exemplo com cabeçalhos e rodapés:



<?                    

Recommendations