POST JSON, get a pixel-perfect PDF back.

A self-hosted document generation API. Design a template once in Liquid, render invoices, receipts, certificates, reports and og-images from any app. MIT, no per-document pricing.

View on GitHub Quick start Buy me a coffee
Terminal demo: one curl request returns a rendered invoice PDF

One call

curl -X POST https://pdf.yourserver.com/api/v1/render \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"template":"invoice","data":{"customer":"Acme Co","total":"$462.00"}}' \
  -o invoice.pdf

One command to run it

# app + queue worker + scheduler + sandboxed Chromium
git clone https://github.com/andyshrx/pdfpost.git && cd pdfpost
cp .env.example .env
docker compose run --rm app php artisan key:generate
docker compose up -d

What you get