Neste artigo, vamos ensinar como criar um arquivo .pdf à partir de um código em HTML usando PHP. Para isto vamos utilizar a famosa biblioteca Dom PDF. Você pode baixá-la clicando neste link. Baixe o arquivo zipado e extraia seu conteúdo para uma pasta qualquer. Neste caso, criei uma pasta chamada dompdf.
Porém, o Dom PDF não funciona sozinho. Você precisa baixar duas outras dependências e salvar todas na pasta /lib do dompdf, são essas:
Dependência 1 – PHP Font Lib
Dependência 2 – PHP SVG Lib
Feito isso, crie um arquivo .php na mesma pasta onde a pasta /dompdf está alojada e insira o seguinte código:
<?php // chamando os arquivos necessários do DOMPdf require_once 'dompdf/lib/html5lib/Parser.php'; require_once 'dompdf/lib/php-font-lib-master/src/FontLib/Autoloader.php'; require_once 'dompdf/lib/php-svg-lib-master/src/autoload.php'; require_once 'dompdf/src/Autoloader.php'; // definindo os namespaces Dompdf\Autoloader::register(); use Dompdf\Dompdf; // inicializando o objeto Dompdf $dompdf = new Dompdf(); // coloque nessa variável o código HTML que você quer que seja inserido no PDF $codigo_html = "<h1>Olá mundo!</h1><p>Geramos o arquivo com o dom pdf, ihul!</p>"; // carregamos o código HTML no nosso arquivo PDF $dompdf->loadHtml($codigo_html); // (Opcional) Defina o tamanho (A4, A3, A2, etc) e a oritenação do papel, que pode ser 'portrait' (em pé) ou 'landscape' (deitado) $dompdf->setPaper('A4', 'portrait'); // Renderizar o documento $dompdf->render(); // pega o código fonte do novo arquivo PDF gerado $output = $dompdf->output(); // defina aqui o nome do arquivo que você quer que seja salvo file_put_contents("nome_do_arquivo.pdf", $output); // redirecionamos o usuário para o download do arquivo die("<script>location.href='nome_do_arquivo.pdf';</script>"); ?>
Dúvidas ou problemas? Disponibilizamos nosso código original (funcionando) para o download à seguir.
Que tal retribuir o download com uma curtida na nossa página?