Gerando vários arquivos com PHP usando MPDF

Publicado por Cláudio Souza Jr. (última atualização em 03/03/2017)

[ Hits: 6.937 ]

Download 6581.index.php




Script que usa os dados de um ARRAY para gerar vários arquivos PDF ao mesmo tempo.

  



Esconder código-fonte

<?php

require_once '/local_da_biblioteca_mpdf';

# Local de salvamento dos arquivos (precisa de permissão de gravação)
$path = '/var/www/html/mpdf-tmp/';

# Array com os dados para exemplo
# Podem ser extraídos de um banco de dados, por exemplo
$clientes = [];
for ($i = 1; $i <= 5; $i++) {
    $clientes[$i] = [
        'id' => $i,
        'nome' => "Cliente $i",
        'endereco' => "Endereço Completo do Cliente $i",
        'email' => "cliente$i@email.com"
    ];
}

# Definindo cabeçalho, rodapé e numeração de página
$header = '<table><tr><td>Cabeçalho bugado para testar emissão do documento</td></tr></table>';
$footer = '<table><tr><td><b>Page N. {PAGENO}</b></td></tr></table>';

# Criando um arquivo para cada 'cliente'
foreach ($clientes as $cliente){
    $mpdf = new mPDF('c','A4','','',15,15,18,15,10,5);
    $mpdf->mirrorMargins = 1;
    $filepath = $path.$cliente['nome'].'.pdf';
    $dados = $cliente['nome'].', '.$cliente['endereco'];
    $mpdf->SetHTMLHeader($header);
    $mpdf->SetHTMLFooter($footer);
    $mpdf->WriteHTML($dados);
    $mpdf->Output($filepath,'F');
}

# Vasculha o '$path' para mostrar os links p/ os arquivos criados
$types = array('pdf');
$dir = new DirectoryIterator($path);
foreach ($dir as $fileInfo) {
    $ext = strtolower( $fileInfo->getExtension() );
    if( in_array( $ext, $types ) ){
        echo '<a href="/mpdf-tmp/'.$fileInfo->getFilename().'" target="_blank">';
        echo $fileInfo->getFilename().'</a><br>';
    }
}

Scripts recomendados

Conversor de arquivo Excel para um Array

Listando arquivos do diretório

Renomear arquivos para minusculo

Manipulação de arquivos CSV para gerar instrução SQL

Contador de cliques


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts