Converter HTML para PDF em PHP
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 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
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”
Deixe um comentário |


Maravilhoso
Valeu pelo post.
Baixei o dompdf mas esta dando erro na classe
Oi Cristiano, qual erro você está tendo?
Queria saber aonde eu adiciono a linha de comando para definir o tamanho da pagina no dompdf
Olá… sua matéria é boa, mas gostaria de saber se ele tb converte arquivos .php…
abs
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!!!
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
?>
Na minha maquina funciono normalmente mais joguei pro servidor e não funciono, nem da erro nem nada…
Desculpa… o código nao foi completo:
load_html($html);
$dompdf->render();
$dompdf->stream(”Teste HTML.pdf”);
?>
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?
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