Gerar PDF com PHP e a biblioteca mPDF
Olá pessoal, hoje vou demonstrar como gerar arquivos PDF com PHP usando a biblioteca mPDF da maneira mais simples possível. Algum tempo atrás já postei material semelhante mas envolvendo orientação a objetos, como notei o grande volume de leitura nesse post decidi escrever mais sobre o assunto com menos complexidade.
Nesse link está o post anterior Biblioteca mPDF para gerar relatórios em PHP.
A biblioteca mPDF trabalha de maneira bem simples, passamos nosso código HTML contendo o layout do documento e a folha de estilo CSS para estilização, depois chamamos o método para renderizar o arquivo PDF e abrir a página de leitura, atende bem as necessidades quando precisamos gerar qualquer tipo de arquivo no formato PDF com PHP.
Para deixar nosso exemplo mais didático e funcional para o dia a dia, vamos gerar um recibo em PDF com informações estáticas no HTML, vou utilizar um pouco de estilização com CSS e com isso teremos um recibo com informações básicas.
Pré-requisitos:
- Download da biblioteca mPDF
- PHP 5.5
Após realizar o download da biblioteca mPDF vamos descompactar os arquivos dentro da pasta onde estamos desenvolvendo, nesse exemplo foi criada a pasta “mpdf60” com todos os fontes e arquivos necessários para usar o mPDF.
Dica: Muito cuidado ao exagerar na estilização com CSS, infelizmente a biblioteca mPDF possui algumas limitações nesse quesito, podemos visualizar nessa página quais propriedades são suportadas.
Script para gerar PDF com PHP e a biblioteca mPDF
index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php include("mpdf60/mpdf.php"); $html = " <fieldset> <h1>Recibo</h1> <p class='center sub-titulo'> Nº <strong>0001</strong> - VALOR <strong>R$ 500,00</strong> </p> <p>Recebi(emos) de <strong>Carlos Domingues Neto</strong></p> <p>a quantia de <strong>Quinhentos Reais</strong></p> <p>Correspondente a <strong>Serviços prestados ..<strong></p> <p>e para clareza firmo(amos) o presente.</p> <p class='direita'>São Roque, 25 de Dezembro de 2015</p> <p>Assinatura ......................................................................................................................................</p> <p>Nome <strong>João da Silva Nogueira</strong> CPF/CNPJ: <strong>222.222.222-02</strong></p> <p>Endereço <strong>Rua da Penha, 200 - Jd. Alguma Coisa - São Paulo</strong></p> </fieldset>"; $mpdf=new mPDF(); $mpdf->SetDisplayMode('fullpage'); $css = file_get_contents("css/estilo.css"); $mpdf->WriteHTML($css,1); $mpdf->WriteHTML($html); $mpdf->Output(); exit; |
estilo.css
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
fieldset{ width: 750px; margin: 10px auto; color: #444; border: 5px solid #ccc; font-family: Helvetica; padding: 15px; } h1{ text-align: center; } p.sub-titulo{ font-size: 20px; } .direita{ text-align: right; } .center{ text-align: center; } |
Vamos as explicações sobre o script da index.php:
1 – Chamo através do include a biblioteca mPDF
1 |
include("mpdf60/mpdf.php"); |
2 – Crio uma variável com o codigo HTML do recibo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$html = " <fieldset> <h1>Recibo</h1> <p class='center sub-titulo'> Nº <strong>0001</strong> - VALOR <strong>R$ 500,00</strong> </p> <p>Recebi(emos) de <strong>Carlos Domingues Neto</strong></p> <p>a quantia de <strong>Quinhentos Reais</strong></p> <p>Correspondente a <strong>Serviços prestados ..<strong></p> <p>e para clareza firmo(amos) o presente.</p> <p class='direita'>São Roque, 25 de Dezembro de 2015</p> <p>Assinatura ......................................................................................................................................</p> <p>Nome <strong>João da Silva Nogueira</strong> CPF/CNPJ: <strong>222.222.222-02</strong></p> <p>Endereço <strong>Rua da Penha, 200 - Jd. Alguma Coisa - São Paulo</strong></p> </fieldset>"; |
3 – Instancio um objeto $mpdf.
1 |
$mpdf=new mPDF(); |
4 – Seto o tamanho que será exibido a página.
1 |
$mpdf->SetDisplayMode('fullpage'); |
5 – Carrego a folha de estilo para variável $css usando a função file_get_content() e envio para o objeto $mpdf.
1 2 |
$css = file_get_contents("css/estilo.css"); $mpdf->WriteHTML($css,1); |
6 – Carrego o código HTML no objeto $mpdf.
1 |
$mpdf->WriteHTML($html); |
7 – Chamo o método para exibir a saída no navegador.
1 |
$mpdf->Output(); |
Resultado final no navegador:
Com isso chegamos ao final dessa dica de como gerar arquivos PDF com PHP com o auxílio da biblioteca mPDF, o leitor pode visitar a documentação oficial e conhecer melhor as diversas funcionalidades disponíveis dessa biblioteca.
Vídeo complementar ao post
Se gostaram dessa dica então compartilhem nas redes sociais abaixo!
Até a próxima …