Skip to main content

rdocx_layout/
lib.rs

1#![doc = include_str!("../README.md")]
2#![allow(non_camel_case_types)]
3#![allow(clippy::too_many_arguments)]
4
5pub mod block;
6mod convert;
7pub mod engine;
8pub mod input;
9pub mod notes;
10pub mod paginator;
11pub mod style_resolver;
12pub mod table;
13
14pub use input::{ImageData, LayoutInput, MediaRegistry};
15pub use oxml_layout::{
16    Color, DocumentMetadata, FontData, FontFile, FontId, GlyphRun, LayoutError, LayoutResult,
17    PageFrame, Point, PositionedElement, Rect, Result,
18};
19
20/// Lay out a complete DOCX document, producing positioned page frames.
21pub fn layout_document(input: &LayoutInput) -> Result<LayoutResult> {
22    engine::Engine::new().layout(input)
23}
24
25/// Lay out a DOCX using bundled fonts without system font discovery.
26pub fn layout_document_deterministic(input: &LayoutInput) -> Result<LayoutResult> {
27    engine::Engine::new_deterministic()?.layout(input)
28}