Pular para o conteúdo

Gerando vários arquivos com PHP usando MPDF

Script que usa os dados de um ARRAY para gerar vários arquivos PDF ao mesmo tempo.
Cláudio Souza Jr. claudiosouzajr
Hits: 7.665 Categoria: PHP Subcategoria: Manipulação de arquivos
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Script que usa os dados de um ARRAY para gerar vários arquivos PDF ao mesmo tempo.
Download 6581.index.php Enviar nova versão

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>';
    }
}

C.Upload

Upload de arquivos com barra de progresso muito util

Função para formatar tamanho de arquivo

Cadastro automatico

Mural de recados com arquivo de log

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.