| Solution | Reason |
|---|---|
| pdfkit | More verbose than pdfmake; use as fallback if layout control needed |
| Invoice Ninja / Crater | Laravel / PHP — separate stack, too heavy |
| Kill Bill | Java enterprise — far exceeds requirements |
| Puppeteer | Node.js only, can’t run in Deno; use Gotenberg instead |
Open-Source Solutions Analysis