Ir para conteúdo
Fórum Script Brasil
  • 0

Erro na saida do relatorio Dompdf


Cleimar Lemes

Pergunta

boa tarde.. tenho um relatorio que vem de um banco de dados mysql. ate ae tudo beleza. recebo os dados correto.. fiz um arquivo relatorio.php pra receber esses dados formatando com html e fiz um print.php pra imprimir em pdf o problema que no relatorio.php ta perfeito mas a hora que gera o pdf vem tudo desconfigurado..

essa tela e do relatorio.php

image.thumb.png.94c5a57310188a4631b8e615b29eaaac.png

 

essa outra e do pdf gerado na saida.

image.png.5cfa8bf257f0b68a463cf629204cc7d0.png

 

segue o codigo fonte pra análise 

RELATORIO.PHP

<html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Relatório de Entradas e Saídas</title>
    <style>
        @page{
            margin: 150px 50px ;
        }
        body{
            font-family: 'Verdana', sans-serif;
            margin:0px;
            padding:0px;
        }
        .header{
            position: fixed;
            left: 0;
            right:0;
            top: -100px;
            height: 50px;
            padding: 10px;
            background: #333;
            margin-bottom:100px;
            text-align: center;
        }
        .header img{
            height: 50px;
        }
        .footer{
            position: fixed;
            left: 0;
            right:0;
            bottom:0;
            background: #333;
            color:#FFF;
            text-align: center;
            padding: 10px;
        }
        h1{
            text-align: center;
        }
        table{
            width: 100%;
            border:1px solid #333;
            padding: 5px;
        }
        table tr th{
            background: #333;
            color:#FFF;
            padding:5px;
        }
        table tr:nth-child(even) td{
            background: #EEE;
        }
        .image{
            text-align: center;
        }
        .image img{
            border: 1px solid #CCC;
            padding:3px;
            margin:5px;
        }
    </style>
</head>
<body>
    <header class="header">
    <img src="https://www.botecodigital.dev.br/wp-content/themes/boteco_v4/img/logob.png" alt="" height="50">
</header>
 
<h1>Relatório de Entradas e Saídas</h1>
<form action="print.php" method="post">
            <button type="submit" name="acao" value="gera_pdf">GERAR PDF</button>
</form>
<form action="r_entrada.php" method="post">
            <button type="submit" name="acao" value="gera_pdf">VOLTAR</button>
</form>
<?php

	include('conectprint.php');
	
  	$sql = "SELECT * FROM tb_entrada";
	$res = $conn->query($sql);
	
	
	if($res->num_rows > 0){
		
		$html = "<table border='0'>";
			
		while($row = $res->fetch_object()){
			   
			$html .= "<tr>";
			      //	<th>Foto</th>
				$html .= "<th>Id</th>";
				$html .= "<th>Matrícula</th>";
				$html .= "<th>Nome</th>";
				$html .= "<th>Tipo</th>";
				$html .= "<th>Placa</th>";
				$html .= "<th>Veículo</th>";
				$html .= "<th>Cidade</th>";
				$html .= "<th>Uf</th>";
				$html .= "<th>Empresa</th>";
				$html .= "<th>Data</th>";
				$html .= "<th>Entrada</th>";
				$html .= "<th>Saída</th>";
				$html .= "</tr>";
			$html .= "<tr>";
			
				$html .= "<td>$row->id</b></td>";
				$html .= "<td>$row->matricula</b></td>";
				$html .= "<td>$row->nome</b></td>";
				$html .= "<td>$row->tipo</b></td>";
				$html .= "<td>$row->placa</b></td>";
				$html .= "<td>$row->veiculo</b></td>";
				$html .= "<td>$row->cidade</b></td>";
				$html .= "<td>$row->uf</b></td>";
				$html .= "<td>$row->empresa</b></td>";
				$html .= "<td>$row->dataentrada</b></td>";
				$html .= "<td>$row->horaentrada</b></td>";
				$html .= "<td>$row->horasaida</td>";
			$html .= "</tr>";
			}
			$html .= "</table>";
	}else{
		$html .= 'Nenhum dado recebido';
	}
	
//	print $html;

echo $html;


?>

<footer class="footer">
    Gerado em <?php echo (new DateTime())->format('d/m/Y h:i:s')?>
</footer>




</body>
</html>
Print.php

<?php

// chamando os arquivos necessários do DOMPdf
require __DIR__ . '/vendor/autoload.php'; // Ajuste o caminho se necessário
use Dompdf\Dompdf;

require_once 'relatorio.php';

// inicializando o objeto Dompdf
$dompdf = new Dompdf();


// coloque nessa variável o código HTML que você quer que seja inserido no PDF

// carregamos o código HTML no nosso arquivo PDF
$dompdf->loadHtml($html);

// (Opcional) Defina o tamanho (A4, A3, A2, etc) e a oritenação do papel, que pode ser 'portrait' (em pé) ou 'landscape' (deitado)
$dompdf->setPaper('A4', 'landscape');

// Renderizar o documento
$dompdf->render();

// pega o código fonte do novo arquivo PDF gerado
$output = $dompdf->output();

// defina aqui o nome do arquivo que você quer que seja salvo
file_put_contents("./tmp/relatorio.pdf", $output);

// redirecionamos o usuário para o download do arquivo
die("<script>location.href='./tmp/relatorio.pdf';</script>");




?>
conectprint.php

<?php
    $servidor = "localhost";
    $usuario = "root";
    $senha = "";
    $dbname = "polo";
    
    //Criar a conexao
    $conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
    
    if(!$conn){
        die("Falha na conexao: " . mysqli_connect_error());
    }else{
        //echo "Conexao realizada com sucesso";
    }      
?>

 

Editado por Cleimar Lemes
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,5k
    • Posts
      652,5k
×
×
  • Criar Novo...