Gerando vários arquivos com PHP usando MPDF

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

[ Hits: 1.123 ]

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

Manipulação de Arquivos XML para OT Server

txt2srt

TFtp

Abrindo arquivo e convertendo de um caracter para outro

Upload de arquivos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts