Every "generate a PDF invoice" ticket ends the same way: you already have the invoice as an HTML template that looks right in the browser, and now you need bytes you can email or store. The usual answer is Puppeteer, which drags a ~300MB Chromium download into your image, needs a pile of shared libraries on slim base images, and falls over on the first serverless deploy that has a 250MB bundle limit. The alternative is rewriting your invoice layout in a PDF drawing library, which means maintaining the same document twice.

A hosted renderer sidesteps both. You keep the HTML template, and the PDF is one HTTP GET.

One request

SnapPDF takes a public URL and returns PDF bytes:

curl -o invoice.pdf \