Classe mPDF com arquivos grandes!
Ola Pessoal estou com um problemas na geração de relatórios PDF.
Consigo gerar um arquivo PDF até 800 linhas apartir ai trava!
Alguem tem alguma dica ou outra classe que pode me ajudar.
Ja testei dompdf e html2pdf.
Obrigado!
<?php
session_start();
//include_once '../valida.php';
include_once '../funcao_conexao.php';
include_once '../variaveisDaSecao.php';
include 'mpdf/mpdf.php';
//RECEBENDO PEDIDO
$pedidoImprimir = $_GET["print"];
switch ($pedidoImprimir) {
case '1':
$titulo = "Ferramentas de Uso Comum - FUC";
break;
case '2':
$titulo = "Equipamentos de Apoio ao Solo - EAS";
break;
case '3':
$titulo = "Material de Consumo";
break;
default:
# code...
break;
}
?>
<?php
//SELECIONAR OS MATERIAIS DE ACORDO COM O TIPO
$qrMaterial = mysql_query("SELECT * FROM tb_material AS m \r
INNER JOIN tb_localizacao l ON m.MtCodLoc = l.LcCodigo \r
INNER JOIN tb_projeto p ON m.MtCodProjeto = p.PrCodigo \r
INNER JOIN tb_tipoMaterial t ON m.MtCodMaterial = t.TmCodigo \r
INNER JOIN tb_espec_mnt e ON m.MtCodEspMnt = e.EmCodigo \r
WHERE m.MtCodMaterial = '$pedidoImprimir' LIMIT 0,800");
//CONTANDO A QUANTIDADE DE ITENS DO RESPECTIVO MATERIAL
$qtdItensMaterial = mysql_num_rows($qrMaterial);
//NESSE LOOPING EU PEGO OS REGISTRO DO ARRAY QUE CONTEM
//O RESULTADO COM OS MATERIAIS
while($rowMaterialItens = mysql_fetch_array($qrMaterial)){
$materialCodigo = $rowMaterialItens['MtCodigo'];
$materialTipo = $rowMaterialItens['MtCodMaterial'];
$materialNome = $rowMaterialItens['MtNome'];
$materialPnSn = $rowMaterialItens['MtPn']."/".$rowMaterialItens['MtSn'];
$materialPatrimonio = $rowMaterialItens['MtNome'];
$materialObs = $rowMaterialItens['MtObs'];
$materialEstoque = $rowMaterialItens['MtQuantidade'];
$materialProjeto = $rowMaterialItens['PrNome'];
$materialLocal = $rowMaterialItens['LcNome'];
$materialEspecMnt = $rowMaterialItens['EmNome'];
//NESSA QUERY EU PEGO OS ITENS QUE ESTÃO EMPRESTADOS
//PARA PODER GERAR O ESTOQUE REAL
$qrTotalMat = mysql_query("SELECT SmCodigo, SmCodMat, SUM(SmQuantidade) as qtdSaida FROM tb_saidaMaterial AS s \r
WHERE s.SmCodMat = '$materialCodigo'");
//AQUI FAÇO A SOMA DO QUE TENHO EM ESTOQUE COM O QUE ESTA EMPRESTADO
$materialSaida = mysql_fetch_assoc($qrTotalMat);
$totalSaidaMaterial = $materialSaida['qtdSaida'];
if (empty($totalSaidaMaterial)) {
$totalSaidaMaterial = 0;
}
//SOMANDO O ESTOQUE TOTAL
$materialTotal = $materialEstoque+$totalSaidaMaterial;
//NESSA PARTE GERO CADA LINHA DO RELATORIO
$item = '
<tr>
<td>'.$materialNome.'</td>
<td>'.$materialPnSn.'</td>
<td ><center>'.$materialPatrimonio.'</center></td>
<td ><center>'.$materialObs.'<c/enter></td>
<td>'.$materialProjeto.'</td>
<td>'.$materialLocal.'</td>
<td ><center>'.$materialEspecMnt.'</center></td>
<td ><center>'.$materialEstoque.'</center></td>
<td ><center>'.$totalSaidaMaterial.'</center></td>
<td ><center>'.$materialTotal.'</center></td>
</tr>';
$itens .= $item;
}
?>
<!--AQUI ESTA O DOCUMENTO HTML QUE SERA GERADO O PDF-->
<?php
$pedido = '
<html>
<head>
<title>Relação de Materiais</title>
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br" xml:lang="pt-br">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="../bootstrap-3.3.4-dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../bootstrap-3.3.4-dist/css/bootstrap-submenu.min.css">
<link rel="stylesheet" href="../bootstrap-3.3.4-dist/css/submenu.css">
<script src="../bootstrap-3.3.4-dist/js/jquery.min.js" type="text/javascript"></script>
<script src="../bootstrap-3.3.4-dist/js/bootstrap.min.js" type="text/javascript"></script>
<script src="../bootstrap-3.3.4-dist/js/funcoes.js" type="text/javascript"></script>
<script src="../bootstrap-3.3.4-dist/js/bootstrap-submenu.min.js"></script>
<!--links auto-completar-css -->
<script type="text/javascript" src="../jquery-autocomplete/lib/jquery.js"></script>
<script type="text/javascript" src="../jquery-autocomplete/lib/jquery.bgiframe.min.js"></script>
<script type="text/javascript" src="../jquery-autocomplete/lib/jquery.ajaxQueue.js"></script>
<script type="text/javascript" src="../jquery-autocomplete/lib/thickbox-compressed.js"></script>
<script type="text/javascript" src="../jquery-autocomplete/jquery.autocomplete.js"></script>
<!--links auto-completar-js-->
<link rel="stylesheet" type="text/css" href="../jquery-autocomplete/jquery.autocomplete.css">
<link rel="stylesheet" type="text/css" href="../jquery-autocomplete/lib/thickbox.css">
<!--CABEÇALHO DO RELATORIO-->
<div class="container">
<div class="table-responsive">
<table class="table">
<tr>
<td>Sistema de Geranciamento de Ferramentas-SISCONFE 0.1</td>
<td>6º ETA</td>
</tr>
</table>
</div>
</div>
</head>
<body>
<!--CABEÇALHO DO RELATORIO-->
<div class="container">
<div class="table-responsive">
<table class="table">
<tr>
<td ><img src="../imagens/logoeta6.jpg" height="75px" width="60px" /></td>
<td valign="center"><center><h2>Sexto Esquadrão de Transporte Aéreo</center></h2></td>
</tr>
<tr>
<td colspan="2"><center><b><h4>'.$titulo.'</h4></b></center></td>
</tr>
</table>
</div>
</div>
<div class="container">
<div class="table-responsive">
<table class="table">
<tr>
<td ><p class="text-success">Quantidade de <b>'.$titulo.': '.$qtdItensMaterial.'.</b></p></b></td>
</tr>
</table>
</div>
<div class="table-responsive">
<table class="table table-bordered">
<tr>
<th >Nome</th>
<th >Pn/Sn</th>
<th >Patrimônio</th>
<th >Obs.</th>
<th >Projeto</th>
<th >Local</th>
<th >Especialidade</th>
<th >Estoque</th>
<th >Emprestado</th>
<th >Total</th>
</tr>
'.utf8_encode($itens).'
</table>
</div>
<br><br><br><br><br><br>
<footer>
<p>© Esquadrão Guará - Seção de Informática 2015</p>
</footer>
</div>
<br><br><br>
</body>
</html> ';
//echo $pedido;
$mpdf = new mPDF('utf-8', 'A4-L');
$mpdf->WriteHTML($pedido);
/*
* F - salva o arquivo NO SERVIDOR
* I - abre no navegador E NÃO SALVA
* D - chama o prompt E SALVA NO CLIENTE
*/
$mpdf->Output($arquivo, 'I');
?>Discussão (6)
Carregando comentários...