header {
position: fixed;
top: -0.5in; /* Position in top margin area */
height: 0.5in;
width: 100%;
text-align: center;
}
footer {
position: fixed;
bottom: -0.5in; /* Position in bottom margin area */
height: 0.5in;
width: 100%;
text-align: right;
}
.pagenum:before {content: counter(page);}
EOF;
$endhead = '';
$html = str_replace($endhead, "$headerFooter$endhead", $html);
$bodystring = '
';
$bodyrepl = <<
EOF;
return str_replace($bodystring, $bodyrepl, $html);
}
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$counter = 0;
/** @var PhpOffice\PhpSpreadsheet\Helper\Sample $helper */
$helper->log('Populate spreadsheet');
for ($row = 1; $row < 1001; ++$row) {
$sheet->getCell("A$row")->setValue(++$counter);
// Add many styles by using slight variations of font color for each.
$sheet->getCell("A$row")->getStyle()->getFont()
->getColor()->setRgb(sprintf('%06x', $counter));
$sheet->getCell("B$row")->setValue(++$counter);
$sheet->getCell("C$row")->setValue(++$counter);
}
$helper->log('Write to Dompdf');
IOFactory::registerWriter('Pdf', Dompdf::class);
$helper->write(
$spreadsheet,
__FILE__,
['Pdf'],
false,
function (Dompdf $writer): void {
$writer->setEditHtmlCallback('addHeadersFootersDompdf2000');
}
);
$spreadsheet->disconnectWorksheets();