I have the following code in my application to generate a PDF report:
$head = '<html><head>'
. '<title>Relatório</title><style type="text/css">'
. '@page {margin: 120px 50px 80px 50px;}.head{font-size: 12px;height: 100px;width: 100%;position: fixed;top: -90px;left: 0;right: 0;margin: auto;}.main-content{width: 600px;position: relative;margin: auto;}.footer {font-size: 12px;position: fixed;bottom: 0;width: 100%;text-align: right;}#footer .page:after{content: counter(page); }'
. '</style></head><body>';
$header = '<div class="head">Cabeçalho</div>';
$footer = '<div class="footer">Rodapé</div>';
$content = '<div class="main-content">'
. '<h1 class="text-center">Relatório</h1>'
. 'Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />Conteúdo<br /><br /><br />'
. '</div>';
$html = $head.$header.$content.$footer;
$pdf = \PDF::loadHTML($html);
return $pdf->stream();
Based on this answer , but I do not know why the footer does not appear on the first page, just the second onwards. The header appears correctly in all of them.
I'm using Laravel 5.1 with laravel-dompdf .