Converter HTML para PDF em PHP

Postado por Rafael Sierra em 20/07/2007

Esse tipo de trabalho é muito usado em projetos que o cliente precisa de versões impressas de relatórios, e existem algumas formas de se converter um html pra pdf pelo shell do linux, usando `html2ps` e `ps2pdf`, porém, nem sempre seu cliente vai ter isso instalado no servidor (e nem sempre ele será linux).

Por isso existe uma biblioteca chamada dompdf, ela converte diretamente um html para um pdf, seu uso é extremamente simples, basta que você importe o arquivo dele
[php]
// Lembre-se que esse caminho pode variar dependendo de sua instalacao
require_once("lib/dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$html = "Teste de PDF \

Teste de HTML pra PDF

Foo bar

\

fuba

";
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("Teste HTML.pdf");
[/php]

E pronto, quando você abrir essa página no navegador ele já irá trazer o documento PDF :D

A biblioteca dompdf suporta CSS também, o que ajuda muito na hora de gerar o pdf "bunitin, mais informações podem ser encontradas direto no site oficial http://dompdf.sourceforge.net

Mais um post da série "facil de mais"! :)

11 Comentário para “Converter HTML para PDF em PHP”

  1. Marcelo Rodrigo Wiebbelling disse em 20/07/2007 as 22:58

    Maravilhoso :)
    Valeu pelo post.

  2. cristiano disse em 20/07/2007 as 20:55

    Baixei o dompdf mas esta dando erro na classe :(

  3. Rafael "SDM" Sierra disse em 20/07/2007 as 11:05

    Oi Cristiano, qual erro você está tendo?

  4. Josué disse em 20/07/2007 as 10:22

    Queria saber aonde eu adiciono a linha de comando para definir o tamanho da pagina no dompdf

  5. Marcos Tavares disse em 20/07/2007 as 08:52

    Olá… sua matéria é boa, mas gostaria de saber se ele tb converte arquivos .php…

    abs

  6. Marcos disse em 20/07/2007 as 14:37

    Olá…

    Na verdade eu gostaria de pegar uma página em PHP e transformá-lo em PDF… ou seja.. o cliente ao clicar em um determinado link, a página que será aberta será convertida em PDF, e a página é em PHP…eu nunca usei o output buffer[1], vc poderia me dar uma explicação sobre esse comando?

    Obrigado pela força e abraços!!!

  7. Rafael "SDM" Sierra disse em 20/07/2007 as 16:02

    Marcos, pra você pegar o conteúdo de um script PHP, você pode fazer algo como:

    < ?
    ob_start();
    include("pagina_que_voce_quer.php");
    $html = ob_get_contents()
    ob_end_clean();
    // E aqui você gera o PDF
    ?>

  8. Raphael Azeredo disse em 20/07/2007 as 11:53

    Na minha maquina funciono normalmente mais joguei pro servidor e não funciono, nem da erro nem nada…

  9. Marcos disse em 20/07/2007 as 16:16

    Desculpa… o código nao foi completo:

    load_html($html);
    $dompdf->render();
    $dompdf->stream(”Teste HTML.pdf”);
    ?>

  10. battisti disse em 20/07/2007 as 10:42

    Esta dompdf é muito boa mas tem umas limitações que estão me deixando de cabelo em pé, estou pensando em partir para uma solução proprietária. Alguém ai conhece alguma que seja boa?

  11. zoe disse em 20/07/2007 as 10:18

    dompdf é bacana sim, mas como dito anteriormente possue certas limitações como o css, ele aceita css 2.1 a partir dessa versão podemos reparar que começa os problemas.. o melhor sempre foi o FPDF(claro que dá “um pouco” mais de trabalho) mas enfim

Trackback URI | RSS dos comentários

Deixe um comentário

Av. Conselheiro Nébias, 368A, Cj. 413
Vila Mathias - Santos - SP
Telefone: (13) 3345-4580

© 2008 - 2009 Stiod. Todos os direitos reservados.