Gerando vários arquivos com PHP usando MPDF
Publicado por Cláudio Souza Jr. (última atualização em 03/03/2017)
[ Hits: 7.550 ]
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>';
}
}
Upload de arquivos com barra de progresso muito util
Gerando arquivo PDF com PHP usando mPDF
Busca por palavra dentro de arquivos
Nenhum comentário foi encontrado.
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
Contorno de BUG do "color picker" para COSMIC Desktop
Pós Instalação do POP! OS 24.04
Contorno para BUG de som no COSMIC Desktop
Pfsense inacessivel após um periodo de tempo [RESOLVIDO] (3)









