Executive reporting
Board packs, dashboards, and recurring operating reviews.
Generate leadership documents quickly enough to keep them in regular automation flows instead of turning them into manual formatting work.
Programmatic document generation at Rust speed
RusDox is a pure Rust engine for creating Word and PDF files programmatically. It turns YAML into large reports, dashboards, proposals, invoices, and internal document packs without Microsoft Word, LibreOffice, or slow office conversions.
Why teams use it
RusDox is useful when documents are too important to build manually and too large or too frequent for slow office-based pipelines.
Executive reporting
Generate leadership documents quickly enough to keep them in regular automation flows instead of turning them into manual formatting work.
Client document automation
Keep formatting consistent across customer deliverables while generating both Word and PDF from the same structured source.
High-volume internal generation
Use Rust speed where document size and generation frequency make slower stacks painful in CI, backend jobs, and internal tooling.
Documentation and API
Read the authoring model, configuration, CLI surface, examples, and Rust API in one place.
Documentation workspace
Browse getting started, YAML blocks, configuration, CLI usage, examples, Rust API guidance, and the community pages in one focused reading surface.
Go to docsKey reading
How it stays usable
Titles, paragraphs, bullets, metrics, and tables are declared top to bottom in YAML so the source reads like the document.
blocks:
- type: title
text: Weekly Brief
- type: body
text: Pipeline grew 14% week over week.
Typography, spacing, colors, output folders, and PDF behavior stay in config instead of being repeated in every file.
Start with the CLI. Move to `DocumentSpec`, `Studio`, or the low-level document model only when the content becomes dynamic or highly custom.
Examples
The cards below link directly to the YAML specs, DOCX files, and PDF previews.
Benchmark
Reproduce it with `scripts/generate_stress_yaml.sh` and `scripts/run_stress_yaml.sh --release`.