Typdf
Drupal PDFs, compiled in milliseconds by a Rust typesetter.
What the editor writes. What Typst gets.
The middle column is the part nobody has to learn. Content goes in as it always did; Typst markup comes out; the Rust compiler turns that into the document.
1 — In CKEditor
Invoice 2026-114
Prepared for Northwind Trading. Terms: net 30.
Total due: $12,480.00
2 — Translated to Typst
= Invoice 2026-114
Prepared for Northwind
Trading. Terms: net 30.
*Total due:* $12,480.003 — Compiled document
Invoice 2026-114
Prepared for Northwind Trading. Terms: net 30.
Total due: $12,480.00
Illustrative document — not a real invoice
How it works
Five steps, in the order they happen.
- 01
Editors change nothing
Content is written in CKEditor exactly as it always was. Nobody on the team has to learn Typst syntax.
- 02
Drupal speaks Typst
Typdf translates that editor content into Typst markup on the way through, which is where the markdown-first workflow comes from.
- 03
Rust does the typesetting
The Typst compiler renders complex, multi-page documents in milliseconds, without the memory strain that traditional HTML-to-PDF tooling puts on a web server.
- 04
Images arrive safely
Media Library integration with SSRF-protected fetching, so pulling an image into a document is not a way into your network.
- 05
Then it is just a file
Generated PDFs cache and serve statically through a CDN in under five milliseconds. Templates are managed in the UI, so shipping a new layout is not a deployment.
The facts
Everything below is verifiable. Nothing is rounded up.
- Engine
- Typst, Rust-based
- Drupal
- 10.3+, 11, 12 (varies by release)
- Integrations
- Webform, Views Bulk Operations, ECA
- Static serve
- Under 5 ms via CDN
- Code quality
- PHPCS clean, PHPSTAN level 8
- Latest release
- 1.2.0-alpha6 — 27 July 2026
- Reported installs
- 3 sites
- Licence
- GPL-2.0
- Maintainers
- mayankguptadotcom, jaykandari