Tabelle
Crea tabelle formattate per dati strutturati.
Tabella Semplice
php
$pdf = Document::create()->addPage();
// Header tabella
$pdf->setFont('Helvetica', 'B', 12)
->setFillColor(Color::rgb(200, 200, 200));
$pdf->cell(60, 8, 'Prodotto', border: 1, fill: true)
->cell(30, 8, 'Q.tà', border: 1, fill: true)
->cell(40, 8, 'Prezzo', border: 1, fill: true, newLine: true);
// Righe dati
$pdf->setFont('Helvetica', '', 11);
$data = [
['Widget A', '10', '$50.00'],
['Widget B', '5', '$75.00'],
['Widget C', '8', '$60.00'],
];
foreach ($data as $row) {
$pdf->cell(60, 7, $row[0], border: 1)
->cell(30, 7, $row[1], border: 1)
->cell(40, 7, $row[2], border: 1, newLine: true);
}Tabella con Colori Alternati
php
$pdf->setFont('Helvetica', '', 11);
foreach ($data as $i => $row) {
$fill = ($i % 2 === 0) ? Color::rgb(245, 245, 245) : Color::rgb(255, 255, 255);
$pdf->setFillColor($fill);
$pdf->cell(60, 7, $row[0], border: 1, fill: true)
->cell(30, 7, $row[1], border: 1, fill: true)
->cell(40, 7, $row[2], border: 1, fill: true, newLine: true);
}Tabella Responsive
php
// Calcola larghezze colonna basate su larghezza pagina
$pageWidth = $pdf->getPageWidth() - 20; // Margini 10mm ciascun lato
$col1 = $pageWidth * 0.50; // 50%
$col2 = $pageWidth * 0.20; // 20%
$col3 = $pageWidth * 0.30; // 30%
$pdf->cell($col1, 8, 'Descrizione', border: 1)
->cell($col2, 8, 'Q.tà', border: 1)
->cell($col3, 8, 'Totale', border: 1, newLine: true);