Como fazer quebra de página usando DOMPDF

Minha dúvida é seguinte gero um pdf (Relatório Geral) com dados do banco porém quero que quebre a página

para iniciar outro dados dessa forma:

Cabeçalho
Nome:Fulano
RG:123456
CPF:111.222.333-04
Rodapé

agora quebra página e inicia a mesma coisa só que outros dados do banco

Cabeçalho
Nome:Ciclano
RG:654321
CPF:444.333.222-01

e assim vai entende? pesquisei mas não achei nada com dompdf

Código PHP com DOMPDF

   <?php	

include 'conexao.php';

$html = "";
$plantao="";
$space = " ";
$nome="<b>"."Nome:"."</b>";
$cpf="<b>"."CPF:"."</b>";
$crm="<b>"."CRM:"."</b>";    
$especialidades="<b>Especialidades:</b>";
    
$btn=@_POST['rw'];

$con = new mysqli($server, $user, $pass, $bd) or die (mysql_error());

$query = $con->query("SELECT codMedico, nomeMedico, sobreNomeMedico, cpfMedico, crmMedico, fotoMedico, inativo FROM tbMedico where inativo=1");
      while($reg = $query->fetch_array()) {
          $idMedico=$reg['codMedico'];
          
          $html.=$nome.$space.$nomeMedico=$reg['nomeMedico'].$space.$sobreNomeMedico=$reg['sobreNomeMedico']."<br/>";
          $html.=$cpf.$space.$cpfMedico=$reg['cpfMedico']."<br/>";
          $html.=$crm.$space.$crmMedico=$reg['crmMedico']."<br/><br/>";
          $html.="<u>".$especialidades."</u>";       
          
          $query1 = $con->query("SELECT * FROM tbEspecialidade
                                  inner join tbMedicoEspecialidade on tbEspecialidade.codEspecialidade = tbMedicoEspecialidade.codEspecialidade 
                                    where codMedico='$idMedico'");
            while($reg1 = $query1->fetch_array()) {
            
             $html.="<br>".$valorEspecialidade = $reg1['nomeEspecialidade'];
              
             } 
           //CONSULTA QUE TRAS OS PLANTOES FEITOS POR ESSE MEDICO
            $query2 = $con->query("SELECT codMedico, nomeEspecialidade, horaInicio, horaFim, data  FROM tbPlantao where codMedico='$idMedico'");
                
                $html.="<h2 style='text-align: left;'>Últimos plantões</h2>";
                $html.='<table border="1" style="text-align: center;">';
                    $html.='<thead>';
                        $html.='<tr>';
                          $html.='<th>Data do Plantão</th>';
                          $html.='<th>Especialidade(Dia)</th>';
                          $html.='<th>Hora de Entrada</th>';
                          $html.='<th>Hora de Saida</th>';
                         $html.='</tr>';
                     $html.='</thead>';
          
                    while($reg2=$query2->fetch_array()){
                         $html.='<tbody>';
                            $html.='<tr>';
                              $html.='<td>'.$reg2['data'].'</td>';
                              $html.='<td>'.$reg2['nomeEspecialidade'].'</td>';
                              $html.='<td>'.$reg2['horaInicio'].'</td>';
                              $html.='<td>'.$reg2['horaFim'].'</td>';
                            $html.='</tr>';
                          $html.='</tbody>';
                    }
            $html.='</table>';
            $html.="<br/>";
          $html.="<hr/><br/>";
      }
   
//referenciar o DomPDF com namespace
use Dompdf\Dompdf;

// include autoloader
require_once("dompdf/autoload.inc.php");
			
//Criando a Instancia
$dompdf = new DOMPDF();

// Carrega seu HTML
$dompdf->load_html('
        <img src="favicontcc.png" style="height:10%;width:10%;position:absolute;"></img>
        <img src="pala.png" style="height:15%;width:15%;position:absolute;top:4.5%;left:10%;"></img>
        <h1 style="text-align: right;">Relatório Geral - Médicos</h1>
        <div style="height:3%;width:100%;background-color:#7cb3d2;"></div>
        <h2><b>Todos o Médicos</b></h2>
        <p>'.$html.'</p>
');

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

//Exibibir a página
$dompdf->stream(
    "relatoriogeral_medicos.pdf", 
    array(
        "Attachment" => false //Para realizar o download somente alterar para true
         )
);

?>

Como vc usa html veja se com css vc consegue resolver…

Vou dar uma olha e tentar, jaja trago o veredito kk
Att. Mauricio

Infelizmente não funcionou mano, teria um exemplo ?

Ja tentou no fim da table?

$html.="<hr/><br style='page-break-after: always;'/>";

Se não der certo coloque uma div no final…

$html.="<hr/><br/><div style='page-break-after: always;'></div>";

Você pode usar também style, para definir o que é cabeçalho, o corpo e o roda-pé.
Ai, cada vez que você gera a informação na respectiva DIV ele preenche e salta pagina automaticamente.
vou colocar um exemplo de stylo que sempre uso, funciona perfeitamente.

@page { margin: 120px 50px 80px 50px; } #head{ font-size: 20px; text-align: center; height: 130px; width: 100%; position: fixed; top: -130px; left: 0; right: 0; margin: auto; } #body{ width: 600px; position: relative; margin: auto; } #footer { position: fixed; bottom: 0; width: 100%; text-align: right; border-top: 1px solid gray; } #footer .page:after{ content: counter(page); }

basta criar as DIV com os nomes indicados.

Grisolfi, Obrigado pela Resposta,você teria um exemplo com o laço rodando no seu arquivo que gerar as páginas/relatorio?

@grisolfi perceba que não quebrou os dados

Código
<?php
date_default_timezone_set(‘America/Sao_Paulo’);

require_once("../crud/conexao.php");

require 'vendor/autoload.php';
require_once 'dompdf/autoload.inc.php';

$diaAtual = date ("d/m/Y");

$html = "";
$plantao="";
$space = " ";
$nome="<b>"."Nome:"."</b>";
$cpf="<b>"."CPF:"."</b>";
$crm="<b>"."CRM:"."</b>";    
$especialidades="<b>Especialidades:</b>";

$codHospital = @$_POST['codHospitalLogado'];

$con = new mysqli($server, $user, $pass, $bd) or die (mysql_error());
$query = $con->query("SELECT codMedico, nomeMedico, sobreNomeMedico, cpfMedico, crmMedico, fotoMedico, inativo FROM tbMedico where inativo=1 and codHospital=1");
$total = mysqli_num_rows($query);

      while($reg = $query->fetch_array()) {
          $idMedico=$reg['codMedico'];
          
          $html.=$nome.$space.$nomeMedico=$reg['nomeMedico'].$space.$sobreNomeMedico=$reg['sobreNomeMedico']."<br/>";
          $html.=$cpf.$space.$cpfMedico=$reg['cpfMedico']."<br/>";
          $html.=$crm.$space.$crmMedico=$reg['crmMedico']."<br/><br/>";
          $html.="<u>".$especialidades."</u>";       
          
          $query1 = $con->query("SELECT * FROM tbEspecialidade
                                  inner join tbMedicoEspecialidade on tbEspecialidade.codEspecialidade = tbMedicoEspecialidade.codEspecialidade 
                                    where codMedico='$idMedico'");
            while($reg1 = $query1->fetch_array()) {
            
             $html.="<br>".$valorEspecialidade = $reg1['nomeEspecialidade'];
              
             } 
           //CONSULTA QUE TRAS OS PLANTOES FEITOS POR ESSE MEDICO
            $query2 = $con->query("SELECT codMedico, nomeEspecialidade, horaInicio, horaFim, data  FROM tbPlantao where codMedico='$idMedico'");
                
                $html.="<h2 style='text-align: left;'>Últimos plantões</h2>";
                $html.='<table border="1" style="text-align: center;">';
                    $html.='<thead>';
                        $html.='<tr>';
                          $html.='<th>Data do Plantão</th>';
                          $html.='<th>Especialidade(Dia)</th>';
                          $html.='<th>Hora de Entrada</th>';
                          $html.='<th>Hora de Saida</th>';
                         $html.='</tr>';
                     $html.='</thead>';
          
                    while($reg2=$query2->fetch_array()){
                         $html.='<tbody>';
                            $html.='<tr>';
                              $html.='<td>'.$reg2['data'].'</td>';
                              $html.='<td>'.$reg2['nomeEspecialidade'].'</td>';
                              $html.='<td>'.$reg2['horaInicio'].'</td>';
                              $html.='<td>'.$reg2['horaFim'].'</td>';
                            $html.='</tr>';
                          $html.='</tbody>';
                    }
            $html.='</table>';
            $html.="<br/>";
          $html.="<hr/><br/>";
      }
   
 // reference the Dompdf namespace
 use Dompdf\Dompdf;

 // instantiate and use the dompdf class
 $dompdf = new Dompdf();



 if($total >0){
    $dompdf->loadHtml('
        <title>Relatório Geral - Usuários</title>
        <link rel="stylesheet" type="text/css" media="screen" href="../../../../../arquivos-js-css/assets/libs/lib-custom/css/bootstrap.min.css"/>
        <link rel="stylesheet" type="text/css" href="../../../../../arquivos-js-css/dist/css/style-custom.css"/>
           
        <div id="head">
            Começo
        </div>

        <div id="body">
           '.$html.'
        </div>

        <div id="footer">
            fim
        </div>
    ');}
// Render the HTML as PDF
 $dompdf->render();

 $dompdf->stream("relatorio_geral_medicos.pdf", array("Attachment" => false));

Bom eu uso CodeIgniter, então caso você não use Framework ou use outro diferente tera de fazer um pequeno esforço para entender e adptar ao seu caso.
Vamos lá:
Esta é a rotina que le os dados e para a que vai fazer a impressão propriamente dita;

// busca os dados a serem impressos

/*
public function ficha_imovel()
{
$id = $this-> uri-> segment(4); //aqui recebo o id pela url
$info = $this-> imoveis-> get_byid($id)-> row();

	$dados = new stdClass();
	foreach ($info as $key =&gt;  $value) {
		$dados-&gt; $key = $value;
	} 		
	$this-&gt; load-&gt; view('home/modelo/ficha_imovel', $dados); 

	// Get output html
	$html = $this-&gt; output-&gt; get_output();

	// Load library
	$this-&gt; load-&gt; library('dompdf_gen');

	// Convert to PDF
	$this-&gt; dompdf-&gt; load_html($html);
	$this-&gt; dompdf-&gt; render();
	$this-&gt; dompdf-&gt; stream("ficha_imovel_" . $id . ".pdf");
}

//imprime os dados

if (!defined("BASEPATH")) exit("No direct script access allowed");

$style=’< html> < head>
< !–< meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1”> -->
< meta charset=“utf-8”>
< style type=“text/css”>
@page {
margin: 120px 50px 80px 50px;
}
#head{
font-size: 20px;
text-align: center;
height: 130px;
width: 100%;
position: fixed;
top: -130px;
left: 0;
right: 0;
margin: auto;
}
#body{
width: 600px;
position: relative;
margin: auto;
}
table{
border-collapse: collapse;
width: 100%;
position: relative;
}
td{
padding: 3px;
}
#footer {
position: fixed;
bottom: 0;
width: 100%;
text-align: right;
border-top: 1px solid gray;
}
#footer .page:after{
content: counter(page);
}
< /style> < /head> < body> ';

// dados do cliente
$ficha="";
$cliente="";
$assina="";
foreach ($data as $lin) {
    $cliente='&lt; br&gt; &lt; b&gt; Cliente:&lt; /b&gt;  '.$lin-&gt; nome.' &lt; b&gt; RG/CPF: &lt; /b&gt; '.$lin-&gt; cpf.' &lt; b&gt; Celular:&lt; /b&gt;  '.$lin-&gt; celular;
    $assina=$lin-&gt; nome.' &lt; br&gt; RG/CPF: '.$lin-&gt; cpf.
    $ficha= $lin-&gt; id;

}  

$fimp = $ficha;
while (strlen($fimp) &lt; = 4) {
    $fimp = '0'.$fimp;
}

// dados da imobiliaria
$logo="";
$imob=$this-&gt; imobiliaria-&gt; get_all()-&gt; result();
foreach ($imob as $lin) {
    $logo=$lin-&gt; logotipo;
}

       
//define o cabeçalho da página
$head='&lt; div id="head"&gt; 
        
        &lt; img src="'.base_url().'upload/'.$logo.'" height="40%" width="30%"&gt; 
        &lt; p&gt; Ficha de Visita - '.$fimp.' - Via do Cliente&lt; /p&gt; 
        &lt; /div&gt; 
       &lt; div id="corpo"&gt; ';

    
       
// dados corretor
$iduser = $this-&gt; session-&gt; userdata('user_id');
$corret=$this-&gt; usuario-&gt; get_byid($iduser)-&gt; result();
$corretor="";
foreach ($corret as $lin) {
    $corretor = '&lt; br&gt; &lt; b&gt; Corretor:&lt; /b&gt;  '.$lin-&gt; nome.' &lt; b&gt; CRECI-'.$lin-&gt; uf.'&lt; /b&gt;  '.$lin-&gt; creci.' &lt; b&gt; Celular:&lt; /b&gt;  '.$lin-&gt; celular.'&lt; br&gt; ';
}




//define o corpo do documento
$body='
    &lt; table border="1px"&gt; 
       &lt; !-- &lt; thead&gt; 
        &lt; tr bgcolor="#ccc"&gt; 
            &lt; td&gt; Quantidade&lt; /td&gt; 
            &lt; td&gt; Tipo&lt; /td&gt; 
            &lt; td&gt; Produto&lt; /td&gt; 
            &lt; td&gt; Obs.&lt; /td&gt; 
        &lt; /tr&gt; &lt; /thead&gt; --&gt; &lt; tbody&gt; ';

        foreach ($data as $lin) {
            $img = $this-&gt; arquivos-&gt; buscaImagemPrincipal($lin-&gt; IDIMOVEL);
            if (isset($img-&gt; origem)) {
                $imgCaminho = base_url().'upload/imagem/'. $img-&gt; origem .'/'.$img-&gt; arquivo;
            }
            else{
                $imgCaminho = base_url().'upload/semimagem.png';
            }
            

            $descImovel = 'Referência:&lt; b&gt;  '. $lin-&gt; referencia . ' - ' . $lin-&gt; timovel .' '. $lin-&gt; tipoImovel.' '.$lin-&gt; subtipoImovel .'&lt; /b&gt; &lt; br&gt; ';
            if ($lin-&gt; complemento!=""){
                $endereco = '&lt; br&gt; Endereço: ' . $lin-&gt; logradouro. ', '. $lin-&gt; numero.', '.$lin-&gt; complemento. ', '.$lin-&gt; bairro.', '.$lin-&gt; localidade.'-'.$lin-&gt; uf;
            }else{
                $endereco = '&lt; br&gt; Endereço: ' . $lin-&gt; logradouro. ', '. $lin-&gt; numero. ', '.$lin-&gt; bairro.', '.$lin-&gt; localidade.'-'.$lin-&gt; uf;
            }

            //IDcondominio
            $anoConstrucao="";
            if ($lin-&gt; anoConstrucao!=''){
                $anoConstrucao = '&lt; br&gt; Ano/Mes Construção:'.$lin-&gt; anoConstrucao .'/'.$lin-&gt; mesConstrucao;
            }
            $terreno="";
            if ($lin-&gt; terrenoFrente!=""){
         //       $terreno='Área Terreno: Frente:'.$lin-&gt; terrenoFrente." X Fundos:" . $terrenoFundos . "= Total:" .$areaTerreno . 'm²';
            }
            $valor='&lt; br&gt; &lt; h2&gt; Valor em R$: '. $lin-&gt; valorVenda .'&lt; /h2&gt; ';
            //, ,tituloAnuncio, 

            
            $itens=$this-&gt; imoveis-&gt; get_all_itens($lin-&gt; IDIMOVEL,0)-&gt; result();
            $listaItens="";
            foreach ($itens as $lin) {
                if ($lin-&gt; tipoItem&lt; =01){
                    $listaItens = $listaItens . ' ' .$lin-&gt; nomeItem .'('. $lin-&gt; quantidade .'), ';  
                }else{
                    $listaItens = $listaItens . ' ' .$lin-&gt; nomeItem .'(sim), ';  
                }               
            }

            

            $testo= $descImovel.$listaItens.$anoConstrucao.$terreno.$endereco;
            $tmp='&lt; tr&gt; 
            &lt; td width="20%"&gt; '.'&lt; img src="'.$imgCaminho.'"  height="180px" width="180px"&gt; '.'&lt; /td&gt; 
            &lt; td width="80%"&gt; '.$testo.'&lt; /td&gt; ';
            $body = $body.$tmp;
        }  

        $body = $body.'&lt; /tbody&gt; 
        &lt; /table&gt; 
         &lt; div&gt; &lt; br&gt; &lt; p align="justify"&gt; '
        .'Eu, cliente qualificado a cima, declaro para os devidos fins que não visitei os imóveis descritos nesta ficha de visita em data anterior a esta. Os valores acima expressos em Reais podem sofrer alterações sem aviso prévio por parte do proprietário deste imóvel. Conforme preceitua o capitulo XIII do Código Civil Brasileiro, o qual determina que  a  remuneração  do corretor é devida, uma vez que tenha conseguido resultado no contrato de mediação, apresentação de cliente a proprietário do imóvel, apresentação de cliente a imóvel, ainda que este não se efetive  em  virtude de arrependimento das partes, sendo assim devida a comissão a intermediadora.    '
        .'&lt; /p&gt; &lt; /div&gt; ';

        


        
        foreach ($imob as $lin) {

            $body = $body.'&lt; br&gt; &lt; p align="right"&gt; '.$lin-&gt; localidade.', '.$lin-&gt; uf.', '. date("d/m/Y") .'&lt; /p&gt; ';                
            $body = $body.'&lt; div&gt; &lt; br&gt; &lt; br&gt; '
            . '&lt; table align="center"&gt; '
            .'&lt; tr&gt; '
            .'&lt; td&gt; __________________________________&lt; /td&gt; '
            .'&lt; td&gt; __________________________________&lt; /td&gt; '
            .'&lt; /tr&gt; '
            .'&lt; tr&gt; '
            .'&lt; td&gt; '.$lin-&gt; rsocial.'&lt; br&gt; CRECI'.$lin-&gt; creci.'&lt; /td&gt; '
            .'&lt; td&gt; '.$assina.'&lt; /td&gt; '
            .'&lt; /tr&gt; '
            .'&lt; /table&gt; '
            .'&lt; /div&gt; ';
             
        }


//define o rodapé da página
$footer='
    &lt; div id="footer"&gt; 
        &lt; p class="page"&gt;  Pagina: &lt; /p&gt; 
    &lt; /div&gt; &lt; /body&gt; &lt; /html&gt;   ';

//concatenando as variáveis
$html=$head.$style.$cliente.$corretor.$body.$footer;

echo $html;

Não tem propriamente um laço, você monta um que corresponda ao tamanho da pagina A4 por exemplo e apartir dai vai montando as informações em html, cada ves que este “espaço” do A4 for preenchido ele salta pagina.
Espero ter ajudado.