Gerando vários arquivos com PHP usando MPDF
Publicado por Cláudio Souza Jr. (última atualização em 03/03/2017)
[ Hits: 7.317 ]
Script que usa os dados de um ARRAY para gerar vários arquivos PDF ao mesmo tempo.
<?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>'; } }
Página de downloads que identifica arquivos por extensão
Manipulação de arquivos CSV para gerar instrução SQL
Upload de arquivos com barra de progresso muito util
Upload de imagens com redimensionamento
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
O que você quer para sua vida ao usar o Linux?
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Instalação de Ubuntu em SSD (interno) como se fosse um dispositivo ext... (2)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (10)