Programmatic document generation at Rust speed

Generate 1000-page DOCX and PDF files in under a second.

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

Built for document generation work that usually becomes slow, brittle, or painful.

RusDox is useful when documents are too important to build manually and too large or too frequent for slow office-based pipelines.

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.

Client document automation

Proposals, invoices, launch briefs, and polished outward-facing files.

Keep formatting consistent across customer deliverables while generating both Word and PDF from the same structured source.

High-volume internal generation

Large exports and template-driven jobs without office runtime overhead.

Use Rust speed where document size and generation frequency make slower stacks painful in CI, backend jobs, and internal tooling.

Documentation and API

Learn the system, then automate it.

Read the authoring model, configuration, CLI surface, examples, and Rust API in one place.

Documentation workspace

Open the full docs and work from the real project material.

Browse getting started, YAML blocks, configuration, CLI usage, examples, Rust API guidance, and the community pages in one focused reading surface.

Go to docs

Key reading

How it stays usable

Keep content, style, and generation separate.

01

Write blocks in order

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.
02

Move design into config

Typography, spacing, colors, output folders, and PDF behavior stay in config instead of being repeated in every file.

  • `[typography]`
  • `[spacing]`
  • `[colors]`
  • `[output]`
03

Render with CLI or Rust

Start with the CLI. Move to `DocumentSpec`, `Studio`, or the low-level document model only when the content becomes dynamic or highly custom.

CLI DocumentSpec Studio Document

Examples

Real specs, real outputs, no mockups.

The cards below link directly to the YAML specs, DOCX files, and PDF previews.

Benchmark

1000 pages. DOCX plus PDF. Still under one second in release mode.

RusDox 1000 page stress benchmark chart
Release total
679.86 ms
DOCX render
234.32 ms
PDF preview
284.91 ms
Parse stage
132.78 ms

Reproduce it with `scripts/generate_stress_yaml.sh` and `scripts/run_stress_yaml.sh --release`.