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 paginator;
10pub mod style_resolver;
11pub mod table;
12
13pub use input::{ImageData, LayoutInput, MediaRegistry};
14pub use oxml_layout::{
15    Color, DocumentMetadata, FontData, FontFile, FontId, GlyphRun, LayoutError, LayoutResult,
16    PageFrame, Point, PositionedElement, Rect, Result,
17};
18
19/// Lay out a complete DOCX document, producing positioned page frames.
20pub fn layout_document(input: &LayoutInput) -> Result<LayoutResult> {
21    engine::Engine::new().layout(input)
22}
23
24/// Lay out a DOCX using bundled fonts without system font discovery.
25pub fn layout_document_deterministic(input: &LayoutInput) -> Result<LayoutResult> {
26    engine::Engine::new_deterministic()?.layout(input)
27}