Basic project structure for this tutorial:

<?php require_once __DIR__ . '/../vendor/autoload.php'; use Laminas\Pdf\PdfDocument; use Laminas\Pdf\Page; use Laminas\Pdf\Color\Rgb; use Laminas\Pdf\Font;

// Grayscale (0 = black, 1 = white) $page->setFillColor(new GrayScale(0.5)); $page->drawText('Gray text', 100, 600);

function generateInvoice($invoiceNumber, $date, $customer, $items, $total) { $pdf = new PdfDocument(); $page = $pdf->newPage(Page::SIZE_A4); $pdf->pages[] = $page;

// Customer info $page->setFont($fontBold, 12); $page->drawText('Bill To:', 50, $y); $page->setFont($fontNormal, 11); $page->drawText($customer, 50, $y - 20); $y -= 60;