Gerando vários arquivos com PHP usando MPDF
Publicado por Cláudio Souza Jr. (última atualização em 03/03/2017)
[ Hits: 7.230 ]
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>'; } }
Lendo e escrevendo em arquivos.
Classe em php para listar subdiretórios e arquivos em html (vs certa)
Gerando um arquivo randômico com PHP
Nenhum comentário foi encontrado.
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Alguém poderia me ajudar a escolher peças pra montar um desktop? (22)
Pra quem contribui com artigos e dicas (2)
Copiar Layout do Teclado para aplicar em outra Distribuição (2)