# Phase 17 — PDF Generation

No database migration is required.

Install dependencies:

```bat
composer install
```

Dompdf is already declared in `composer.json` as `dompdf/dompdf`.

Routes:

- `/invoices/{id}/pdf` — invoice PDF (`invoice.view`)
- `/payments/{id}/receipt/pdf` — receipt PDF (`receipt.view`)
- `/reports/{id}/pdf` — approved clinical report PDF (`reports.generate`)

PDFs are generated server-side and streamed inline. They are not placed under `public/`, so customers cannot guess a public file URL.

Clinical reports can only be rendered as official PDFs after approval.
