Gerando vários arquivos com PHP usando MPDF
Publicado por Cláudio Souza Jr. (última atualização em 03/03/2017)
[ Hits: 7.570 ]
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 e validação de tipo do mesmo
Classe em php para listar subdiretórios e arquivos em html (vs certa)
Lendo e escrevendo em arquivos.
Busca por palavra dentro de arquivos
Página de downloads que identifica arquivos por extensão
Nenhum comentário foi encontrado.
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Acessando o terminal do seu PC pelo celular fora de casa
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









