TutorialWeb

Gerar PDF com mPDF através de formulário

Saudações galerinha. Vou ensinar agora como usar a classe mPDF. Para quem não sabe o mPDF é uma classe PHP que gera arquivos PDF a partir de UTF-8 HTML codificado. Baseia-se em FPDF e HTML2FPDF, com uma série de melhorias. Basicamente o tutorial que irei ensinar funciona da seguinte forma, confira na imagem abaixo!pdf_mpdfPrimeiro passo você deve criar uma página chamada index.html com os campos que desejar, mas siga primeiro o exemplo e depois faça o seu!
Este arquivo deve ficar na pasta raiz.

[code language=”html”] <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>cienciacomputacao.com.br</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<!– Defina o name de cada input, isso sera importante para chamar ela no arquivo php –>
<form name="form" method="post" action="php/gerar_pdf.php">
<div class="row">
<div class="col-xs-3">
<label>Nome do Cliente</label>
<input type="text" class="form-control" name="nameCliente">
</div>
</div>
<div class="row">
<div class="col-xs-3">
<label>CPF:</label>
<input type="text" class="form-control" name="cpfCliente">
</div>
</div>
<div class="row">
<div class="col-xs-3">
<label>Email:</label>
<input type="email" class="form-control" name="emailCliente">
</div>
</div>
</br>
<button type="submit" class="btn btn-primary">GERAR</button>
</form>
</body>
</html>
[/code]

No código acima eu usei o seguinte modelo:




Em seguida crie uma pasta chamada “php” e dentro dessa pasta crie um arquivo gerar_php.php.

[code language=”php”] <?php
$nameCliente = utf8_encode($_POST[‘nameCliente’]);
$cpfCliente = utf8_encode($_POST[‘cpfCliente’]);
$emailCliente = utf8_encode($_POST[’emailCliente’]);

// PEGA O ARQUIVO MODELO
$pdf = file_get_contents("../modelo.html");

// SUBSTITUI COM OS DADOS FORNECIDOS
$pdf = str_replace("#nameCliente","$nameCliente",$pdf);
$pdf = str_replace("#cpfCliente","$cpfCliente",$pdf);
$pdf = str_replace("#emailCliente","$emailCliente",$pdf);

// SOLICITA A CLASS MPDF
require_once("mpdf/mpdf.php");

// INSTANCIA A CLASS MPDF
$mpdf = new mPDF();

// ESCREVE O PDF
$mpdf->WriteHTML($pdf);

// SAIDA DO PDF NO NAVEGADOR
$mpdf->Output("Relatório – ".$nome.".pdf","D");
// SE QUISER SALVAR É SÓ DIRECIONAR O DIRETORIO
//$arquivo_contrato = $mpdf->Output("../requerimentos/".$nome.".pdf");
[/code]

Crie novamente uma página chamada modelo.html para servir como modelo de seu PDF e ele deve ficar na raiz.

[code language=”html”] <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="row">
<p align="center">
<img src="http://res.cloudinary.com/ci-ncia-da-computa-o/image/upload/v1429073663/site_jmhisz.png">
</p>
</div>
<div class="jumbotron">
<p>Nome do seu cliente:#nameCliente</p>
<p>CPF do seu cliente:#cpfCliente</p>
<p>Email do seu cliente:#emailCliente</p>
</div>
</div>
</body>
</html>
[/code]

E por fim basta baixar o mPDF do site, a versão atual que utilizei foi mPDF v6.0. Extraia dentro da pasta chamada “php”, o nome após extrair vai ficar MPDFF60, renomeei para mpdf. Após clicar em “gerar” deve ter iniciado o download do arquivo automaticamente. Exemplo final deve ser este.

mpdf Gostou da dica? Não esqueça de compartilhar e curtir 🙂 Para saber mais detalhes basta consultar a documentação até mais. 😉 Caso o código der algum problema, pegue ele no GitHub.

Welton L. Santos
Tenho 24 anos, estudante de bacharelado em ciência da computação - BCC, FUNDADOR da comunidade/site/grupo ciência da computação. Estudo na universidade Federal Rural de Pernambuco - UFRPE. Tenho como lema "Qualquer tecnologia suficientemente avançada é indistinguível de mágica" 3ª Lei de Arthur C. Clarke.

Comments are closed.

0 %