Gerando vários arquivos com PHP usando MPDF

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

[ Hits: 6.742 ]

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

Programa de ordem de serviços

Upload de arquivos com barra de progresso muito util

Cadastro automatico

Mural de recados com arquivo de log

Script para fazer upload de arquivos


  

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