Aprenda como exportar HTML / PHP para PDF
Cada vez mais o mundo é "web" e até mesmo os softwares começam a estar disponíveis online para que seja possível em qualquer lugar ou dispositivo aceder à informação pretendida.
Devido a esta "nova" vertente de software e também pelo facto de cada vez mais ser solicitado tutorais sobre exportação de informação HTML ou PHP para PDF, decidimos desenvolver este tutorial.
Vamos usar uma library já existente e extremamente simples de ser utilizada.
A library é a mPDF.
Existem várias libraries para este fim, mas a mPDF é extremamente fácil de utilizar e versártil.
Como terão a oportunidade de verificar, basta ter conhecimentos básicos de HTML / CSS para que consigam exportar qualquer informação do código HTML/PHP para PDF.
1. Efectuem download dos ficheiros da library (abaixo indicado)
2. Após download, basta criar um ficheiro PHP, neste caso vamos chamar exportapdf.php
3. Dentro desse ficheiro criamos uma variável PHP
// Variável ficticia em PHP $titulo = "Peopleware";
// Esta variável receberá a informação que pretendo que seja exportada para PDF. $html = "";
Um exemplo do que a variável $html pode receber é o seguinte:
$html = '
Aqui podemos colocar o titulo: '.$titulo.'
Coluna 1 | Coluna 2 |
Item 1 | Item 2 |
';
No exemplo acima foi criada uma estrutura simples em HTML com tabela e estilos css inline, contudo com a library mPDF é possível utilizar div's e outros elementos html, como também incluir uma folha de estilos (CSS) externa.
4. Após termos criado o "output" pretendido, basta utilizar efectivamente a library e escolher alguns parámetros.
// Caminho da livraria include("libraries/mpdf.php");
// Tamanho do ficheiro a criar (pode ser A4, A3 ou até tamanhos personalizados) através da função _getPageFormat $mpdf=new mPDF('c');
// Área que será utilizada para exportação $mpdf->SetDisplayMode('fullpage');
// Caminho do ficheiro CSS externo $stylesheet = file_get_contents('libraries/css/mpdfstyleA4.css');
// Incorpora o ficheiro CSS $mpdf->WriteHTML($stylesheet,1);
// Escreve o conteúdo da variável $html $mpdf->WriteHTML($html);
// Exporta o resultado para PDF $mpdf->Output();
exit;
E desta forma extremamente simples, se faz a exportação de HTML / PHP para PDF.
Homepage: mPDF
Este artigo tem mais de um ano
Parabéns pelo tutorial! 🙂 Apenas para referência, uma outra forma:
https://pplware.sapo.pt/tutoriais/php-a-quinta-feira-gerar-ficheiros-pdf/
Olá @Pedro Peixoto,
Antes de mais, obrigado pelo teu comentário.
Em relação à referência, a fpdf também é uma excelente library, mas penso que a mPDF está mais evoluída neste momento.
No peopleware gostamos de apresentar várias soluções, depois fica ao critério de cada um utilizar aquela que mais se adequa ao pretendido.
Cumprimentos,
Hélio Moreira
Boa Tarde. O meu deu erro. Em function.php tem algumas funções depreciadas
Olá Willy,
É normal que algumas funções estejam “depreciadas” pois este artigo já é de 2014. Basta compatibilizar essas funções e tudo fica a funcionar.
Offtopic: Só para deixar uma sugestão. Que tal um artigo que explique à malta como desactivar e apagar a conta do hi5. É que há para aí muita malta que se esqueceu que tem conta de hi5 e deixou lá muita informação e fotografias. Como o hi5 é agora algo totalmente diferente do que era, duvido que a malta queira que a sua info e fotos ande por aí a flutuar.
Precisava de um serviço on-line que convertesse da forma mais fiel possível qualquer site, alguém tem alguma sugestão?, desde já agradeço!
http://www.html2pdf.it/
A forma mais fiel de converter um site em PDF, possivelmente é imprimir o site para PDF, mas se fores a criar um site para gerar PDF, o apache fop e sem duvida uma grande sugestão, tens e é aprender xsl
Para o que preciso simplesmente uso o Chrome: Ctrl-P – Guardar como PDF – e já tenho ficheiro. Simples.
Cumprimentos.
Isto é mais para quem quer gerar ficheiros pdf (facturas, recibos, guias).
Bom dia
Muito obrigado pela informação. Usava fPDF vou passar a usar este.
Boas,
Já usei essa libray mas sinceramente acho mais completa e simples a TCPDF, fica o link em baixo:
http://www.tcpdf.org/
Olá @Board06,
Obrigado pela dica.
Cumprimentos,
Hélio Moreira
E seu eu tiver conteúdo php no código html, por exemplo:
Funcionária para a chamada do pdf?
Boa Tarde, como faço pra enviar um variavel para o html que o WriteHTML chama?