Exportar uma página HTML para PDF com PHP

Exportar uma página HTML para PDF com PHP

13 de agosto de 2018 1 Por Ramos de Souza Janones
Do Zero ao Profissional com PHP. Mais de 2.300 alunos recomenda.Powered by Rock Convert
Utilize uma ferramenta que se chama DOMPDF (inglês) dompdf que é um conversor de HTML para PDF.

O que ele faz é ler o DOM da página HTML em questão e converter a mesma para um documento PDF:

Existem muitos exemplos a partir da página deles (inglês), mas fica aqui um a funcionar:

<?php

/* Preparação do conteúdo
 * (costumo ter uma função a realizar esta tarefa)
 */
$html = '
<p>O meu HTML como quero ver no navegador!</p>
<p>Já formatado e com CSS.</p>';


/* Preparação do documento final
 */
$documentTemplate = '
<!doctype html> 
<html> 
    <head>
        <link rel="stylesheet" media="screen" href="https://www.site.com/css/style.css" type="text/css">
    </head> 
    <body>
        <div id="wrapper">
            '.$html.'
        </div>
    </body> 
</html>';


// inclusão da biblioteca
require_once("dompdf/dompdf_config.inc.php");


// alguns ajustes devido a variações de servidor para servidor
if ( get_magic_quotes_gpc() )
    $documentTemplate = stripslashes($documentTemplate);


// abertura de novo documento
$dompdf = new DOMPDF();

// carregar o HTML
$dompdf->load_html($documentTemplate);

// dados do documento destino
$dompdf->set_paper("A4", "portrail");

// gerar documento destino
$dompdf->render();

// enviar documento destino para download
$dompdf->stream("dompdf_out.pdf");

exit(0);
?>

Notas:
É particularmente exigente, ou seja, HTML mal formatado vai ser ignorado.
Suporta praticamente tudo de CSS 2.1.


Resumo:

Fica aqui a versão resumida do exemplo em cima apresentado para demonstrar que é possível gerar o PDF com poucas linhas de código:

<?php

$html = 'o meu HTML pronto tal como vai para o navegador!';

$documentTemplate = '
<!doctype html> 
<html> 
 <head>
  <link rel="stylesheet" type="text/css" href="https://www.example.com/style.css">
 </head> 
 <body>
  <div id="wrapper">
   '.$html.'
  </div>
 </body> 
</html>';

require_once("dompdf/dompdf_config.inc.php");

if ( get_magic_quotes_gpc() )
    $documentTemplate = stripslashes($documentTemplate);

$dompdf = new DOMPDF();
$dompdf->load_html($documentTemplate);
$dompdf->set_paper("A4", "portrail");
$dompdf->render();

// enviar documento destino para download
$dompdf->stream("dompdf_out.pdf");

exit(0);

?>

Outros tutoriais e dicas sobre PHP:

 

LEIA TAMBÉM:  O futuro do C#: Tuplas e estruturas anônimas

Subscribe to our mailing list

* indicates required


Além de PHP e MySQL, deseja receber outro tema?

Email Format


Powered by Rock Convert
Powered by Rock Convert

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.

Últimos posts por Ramos de Souza Janones (exibir todos)