DomPDF para PHP: guia completo com exemplos

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

Introdução ao DomPDF: o que é e para que serve

\n\n

DomPDF é uma biblioteca poderosa e popular para a linguagem PHP, projetada para gerar documentos PDF a partir de marcação HTML. A ideia principal da biblioteca é permitir que desenvolvedores criem arquivos PDF usando tecnologias familiares de desenvolvimento web: HTML, CSS e JavaScript (de forma limitada). Em vez de aprender APIs complexas de baixo nível para trabalhar com PDF (como em FPDF ou TCPDF), você pode simplesmente escrever um template HTML, estilizá-lo com CSS e passá-lo para o DomPDF converter.

\n\n

A biblioteca usa um mecanismo de renderização baseado em DOMPDF (daí o nome), que analisa HTML e CSS, cria uma representação visual da página e a exporta para o formato PDF. O DomPDF suporta a maioria das propriedades CSS padrão, incluindo posicionamento, float, flexbox (parcialmente), trabalho com fontes, imagens e tabelas.

\n\n

Para que serve esta biblioteca?

\n
    \n
  • Automação de relatórios: Criação de faturas, recibos, notas fiscais, propostas comerciais com base em dados do banco de dados.
  • \n
  • Geração de certificados e diplomas: Exportação rápida de documentos personalizados com dados únicos (nome, data, curso).
  • \n
  • Criação de e-books e manuais: Conversão de conteúdo HTML em PDF bem formatado para download.
  • \n
  • Salvamento de páginas web: Função "Salvar como PDF" para qualquer conteúdo do site.
  • \n
  • Integração com CMS: WordPress, Laravel, Symfony e outros frameworks usam ativamente o DomPDF para gerar documentos.
  • \n
\n\n

A principal vantagem do DomPDF sobre alternativas é a facilidade de uso. Se você conhece HTML e CSS, já sabe 80% do necessário para trabalhar com DomPDF.

\n\n

Instalação do DomPDF

\n\n

A instalação do DomPDF em um projeto PHP moderno é feita através do gerenciador de dependências Composer. Esta é a forma padrão para bibliotecas PHP.

\n\n

Certifique-se de ter o Composer instalado. Em seguida, execute o comando na raiz do seu projeto:

\n\n
composer require dompdf/dompdf
\n\n

Após a instalação bem-sucedida, uma pasta vendor aparecerá no seu projeto, e uma linha de dependência será adicionada ao arquivo composer.json. Se você estiver usando um framework (Laravel, Symfony), a instalação pode ser um pouco diferente (por exemplo, através de service providers), mas o comando básico permanece o mesmo.

\n\n

Importante: O DomPDF requer PHP versão 7.1 ou superior. Também é recomendável instalar a extensão PHP mbstring para trabalhar corretamente com codificações multibyte (UTF-8).

\n\n

Para verificar a instalação, crie um arquivo test.php e adicione o seguinte código:

\n\n
<?php\nrequire_once 'vendor/autoload.php'; // Carrega o autoloader do Composer\n\nuse Dompdf\\Dompdf;\n\n$dompdf = new Dompdf();\n$dompdf->loadHtml('<h1>Hello World</h1>');\n$dompdf->render();\n$dompdf->stream("test.pdf");\n\n?>
\n\n

Se ao abrir o arquivo no navegador você baixar um PDF com o texto "Hello World", a instalação foi bem-sucedida.

\n\n

Início rápido: primeiro documento PDF

\n\n

Vamos criar um exemplo simples, mas completo. Geraremos um arquivo PDF com uma tabela e estilos.

\n\n
<?php\nrequire_once 'vendor/autoload.php';\n\nuse Dompdf\\Dompdf;\nuse Dompdf\\Options;\n\n// 1. Configuração de opções (opcional)\n$options = new Options();\n$options->set('defaultFont', 'DejaVu Sans'); // Fonte com suporte a cirílico\n$options->set('isRemoteEnabled', true); // Permitir carregamento de imagens externas\n\n// 2. Cria uma instância do Dompdf\n$dompdf = new Dompdf($options);\n\n// 3. Conteúdo HTML\n$html = '\n<!DOCTYPE html>\n<html>\n<head>\n    <style>\n        body { font-family: DejaVu Sans, sans-                    

Recommendations