Você deseja converter um documento HTML para PDF? Tanto o HTML quanto o PDF são muito utilizados para quem desenvolve ou utiliza documentações envolvendo a informática, e dessa forma, é possível realizar a conversão entre um Documento HTML para um documento PDF. Neste artigo, serão apresentados os seguintes tópicos:
- O Que é HTML
- O Que é PHP
- O Que é PDF
- O que é o DOMPDF
- Onde realizar o download do DOMPDF
- Converter o HTML em PDF Através do Dom PDF
Antes de entender como converter um documento HTML para PDF, é necessário entender o que é um HTML, o PHP e um PDF.
O Que é HTML
Existem 3 principais linguagens básicas que compõem quase tudo que está presente nos documentos WEB hoje em dia. Dentre eles, temos o HTML, o CSS e o JavaScript que atuam diretamente no Front-End da página. Ou seja, que atuam diretamente no layout visual e interação das páginas com o usuário.
O HTML é uma linguagem de Marcação de Hipertexto. Ou seja, tem como principal função está marcando o seu documento, para que o navegador seja capaz de renderizar as informações do documento. Atualmente, se encontra na versão do HTML5.
É composto por elementos que ficam inseridos através das famosas Tags, que se iniciam com o “<“ e fecham-se com “>”. Como, por exemplo:
<h2>Meu título</h2> <p>Meu paragrafo</p>
Dessa forma, será renderizado um documento, tal qual será possível converter o HTML para o PDF
Saiba mais sobre HTML, HTML5 e Tags HTML em nossos demais documentos. Um documento HTML geralmente é definido com a extensão .html ou .htm, porém, também é comum utilizarem a extensão .php.
O Que é PHP
O PHP nada mais é que uma linguagem de programação. Significa Hypertext Preprocessor. Ou seja, é uma linguagem, que antecede a renderização do código de marcação. Dessa forma, é muito utilizado na WEB principalmente para criação de sistemas e outras funcionalidades que serão processadas do lado do servidor. Portanto, é uma linguagem de programação Back-End.
O HTML é muito utilizado em conjunto com o PHP, portanto, através dele é possível realizar diversas aplicações na web. Como por exemplo:
- converter um documento HTML em PDF;
- enviar formulários;
- integrar APIs;
- etc.
Portanto, vejamos abaixo uma forma de incluir um código php mesclando com um código html:
<!DOCTYPE HTML> <html> <head> <title>Exemplo</title> </head> <body> <?php echo "Olá Mundo!!"; ?> </body> </html>
Tudo que estiver contido entre <?php e ?> fará parte do código php, que será preprocessado no lado do servidor para então enviar a resposta ao navegador, que renderizará o resultado final.
O Que é PDF
O PDF, ou Portable Document Format, é um documento portátil. Ou Seja, é um documento que foi escrito em um padrão diferente e que não pode ser editado.
São muito utilizados para criação de documentos burocráticos, financeiros, relatórios e outros.
Ao criar um documento e converter este para PDF, você está protegendo que o conteúdo contido nele seja mantido como no original, de forma inalterável. Dessa forma, todas as fontes, imagens, cores, e formatações originais serão mantidas, sem a obrigatoriedade de que o usuário obtenha os recursos necessários (como no caso de fontes externas).
O PDF possui como extensão .pdf, e diversos documentos podem ser convertidos em PDF, dentre eles o HTML.
Converter o HTML para PDF Através do Dom PDF
O que é o DOMPDF
De forma genérica, o DOM PDF é uma classe do PHP capaz de realizar a conversão de um documento HTML em um arquivo PDF.
O dom Pdf já é utilizado há muito tempo, sendo compatível até mesmo com o CSS2.1. Ele é um renderizadores focado em estilo onde realizar um download de folhas externas, identifica todas as tags, todas as folhas de estilos e todos os atributos de estilos dos próprios elementos HTML. Atualmente, em sua mais nova versão, ele consegue renderizar a maioria dos atributos do HTML.
Onde realizar o download do DOMPDF
Inicialmente, acesse a página da classe: https://github.com/dompdf/dompdf.
Dessa forma, você terá algumas opções: ou fazer o download via composer, manualmente através do download, ou através do GIT.
Vamos então utilizar a versão manual de instalação clicando no link que está no retângulo vermelho, conforme a imagem abaixo:
Após isso, abrirá uma nova pagina contendo o download do DOM PDF, onde você deverá fazer o download do arquivo em formato comprimido (.zip). Assim, instalamos a classe que vai converter nosso HTML em PDF.
Veja a imagem abaixo:
Posteriormente, extraia o arquivo dentro do diretório principal da sua página ou aplicação WEB.
Por fim, basta criar um arquivo index.php (ou o nome que desejar) onde incluiremos o Dom PDF com o seguinte código:
<?php // Incluindo o autoload do DOM PDF require_once 'dompdf/autoload.inc.php'; ?>
Dessa forma teremos uma pasta com os seguintes itens:
Sendo assim, finalmente, concluímos a instalação do nosso Dom PDF e podemos então partir para a etapa de converter html para pdf.
Converter HTML para PDF Através do Dom PDF
Agora que toda a estrutura já está pronta, basta está incluindo o seguinte código ao nosso arquivo index.php:
<?php // Incluindo o autoload do DOM PDF require_once 'dompdf/autoload.inc.php'; //Criando a instancia do Dom PDF. //Criando o namespace para evitar erros use Dompdf\Dompdf; // Instanciando a classe do Dom DPF $dompdf = new Dompdf(); //Criando o código HTML que será transformado em pdf $dompdf->loadHtml(' <h1>Ola Mundo</h1> <p>Meu PDF Meu PDF Meu PDF Meu PDF </p> <p>Meu PDF Meu PDF Meu PDF Meu PDF</p> <p>Meu PDF Meu PDF Meu PDF Meu PDF</p>' ); //Define o tipo de papel de impressão (opcional) //tamanho (A4, A3, A2, etc) //oritenação do papel:'portrait' (em pé) ou 'landscape' (deitado) $dompdf->setPaper('A4', 'landscape'); // Vai renderizar o HTML como PDF $dompdf->render(); // Saída do pdf para a renderização do navegador. //Coloca o nome que deseja que seja renderizado. $dompdf->stream("relatorio.pdf", array(true)); ?>
Observe que com isso, é possível gerar diversos documentos em HTML e transforma-los diretamente em PDF.
Com isso, obtemos diversas ferramentas como criação de relatórios automáticos, entre muitos outros.
Esta classe e essa função nos permite converter HTML em PDF sem muitas dificuldades, de forma rápida, e eficiente, e podendo assim mesclar com outras funções, inclusive com informações de banco de dados. Sendo assim, pode ser utilizado para sistemas mais complexos, como sistemas financeiros.
Como a classe está em constante desenvolvimento, recomendamos que sempre leiam a documentação original da mesma, que se encontra em sua página do github. Recomendamos ainda o estudo e a prática realizando testes, converter diversas vezes arquivos html, incluindo imagens e outros, para o pdf. Até que se sinta a vontade para usá-lo profissionalmente.