Shojiku
Pre-1.0Write YAML. Get PDFs.
A PDF rendering engine written in Rust: you write a template in YAML and get a PDF. I wrote it in Rust so that it can be driven from any language.
Absolute positioning was what kept tripping me up with PDF documents, so items compose with flow / flex / grid, much like HTML. When the line items run long, the signature block below them is pushed down instead of being overlapped. Vertical Japanese writing is supported too.
Data comes in separately as params, so you can feed it straight out of your database and render a different PDF for every recipient.
It runs anywhere and needs no service: a CLI and Docker image for servers and CI, browser WASM for the Designer, a stdio MCP server for AI agents, and native SDKs for several languages.