Documenti Multi-Pagina
Crea documenti con pagine multiple, interruzioni pagina automatiche e numerazione.
Auto Page Break
php
$pdf = Document::create()
->setAutoPageBreak(true, margin: 15) // Nuovo pagina a 15mm dal fondo
->addPage();
// Scrivi molto testo - pagina nuova creata automaticamente
for ($i = 1; $i <= 50; $i++) {
$pdf->cell(0, 10, "Riga {$i}", newLine: true);
}Aggiungere Pagine Manualmente
php
$pdf = Document::create();
// Pagina 1
$pdf->addPage()
->setFont('Helvetica', 'B', 16)
->cell(0, 10, 'Capitolo 1', newLine: true);
// Pagina 2
$pdf->addPage()
->setFont('Helvetica', 'B', 16)
->cell(0, 10, 'Capitolo 2', newLine: true);
// Pagina 3 in landscape
$pdf->addPage(orientation: Orientation::LANDSCAPE)
->cell(0, 10, 'Tabella larga', newLine: true);Intestazioni e Piè di Pagina
php
$pdf = Document::create();
// Callback header
$pdf->onPageHeader(function (Page $page, Document $doc) {
$page->setFont('Helvetica', 'B', 10)
->cell(0, 8, 'Rapporto Aziendale', border: 'B', newLine: true)
->ln(3);
});
// Callback footer
$pdf->onPageFooter(function (Page $page, Document $doc) {
$page->setY(-15)
->setFont('Helvetica', 'I', 8)
->cell(0, 10, 'Pagina ' . $page->getNumber(), align: 'C');
});
$pdf->addPage();
// Header e footer applicati automaticamenteNumerazione Pagina
php
$pdf->onPageFooter(function (Page $page) {
$pageNum = $page->getNumber();
$totalPages = $page->getDocument()->getPageCount();
$page->setY(-15)
->setFont('Helvetica', '', 8)
->cell(0, 10, "Pagina {$pageNum} di {$totalPages}", align: 'R');
});