Most 'HTML to PDF' APIs spin up headless Chromium — heavy, slow, and painful to host. For structured documents like invoices and receipts you don't need a browser at all. InvoicePDF takes JSON and returns a clean PDF in one call.
curl -X POST https://invoicepdf-app.azurewebsites.net/invoice \
-H 'Content-Type: application/json' \
-d '{"number":"INV-1","currency":"USD","seller_name":"Me","buyer_name":"You","items":[{"description":"Work","quantity":1,"unit_price":100}]}' \
--output invoice.pdf
Chromium rendering is great for arbitrary web pages, but it's overkill for a document with a known structure. Skipping it means faster responses, no cold starts, and free hosting (pure Python, no system libraries).