Self-hosted PDF generation for your tech stack
One template format, seven integrations. Templates are plain Typst projects and compile to print-ready PDFs inside your own application. No headless Chrome, no per-document fees, no data leaving your servers.
Pick your integration
Section titled “Pick your integration”The same packed template works across all integrations. Each page below shows a complete example for one stack, from JSON input to finished PDF.
Node.jsGenerate PDF invoices in Node.js without Puppeteer.
PythonGenerate PDF invoices in Python without a headless browser.
JavaGenerate PDF invoices on the JVM without layout code.
C#Generate PDF invoices in .NET without a headless browser.
RustGenerate PDF invoices in Rust with Typst templates.
PHPGenerate PDF invoices in PHP with a native extension.
BrowserGenerate PDFs on your users' devices with WebAssembly.
Something else?Tell us which integration you are missing. It helps us prioritize.
How it compares
Section titled “How it compares”Gotenberg vs OicanaDocker plus Chromium document conversion vs in-process Typst compilation.
All comparisonsHTML-to-PDF, PDF libraries, LaTeX, and metered PDF APIs.