Gerando vários arquivos com PHP usando MPDF
Publicado por Cláudio Souza Jr. (última atualização em 03/03/2017)
[ Hits: 7.095 ]
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>'; } }
Listando arquivos do diretório
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)