oxml-drawing 0.12.1

DrawingML models and serialization for OOXML documents
Documentation

oxml-drawing

Parse, edit, resolve, and serialize reusable DrawingML content without depending on a document format.

Capabilities

  • Typed colors with theme and color-map resolution.
  • Solid, gradient, pattern, image, and no-fill models.
  • Preset and custom geometry, lines, transforms, text bodies, and tables.
  • Schema-ordered writing with ordered preservation of unmodelled children.

Use it when

Use this crate when reading or writing DrawingML shared by DOCX and PPTX packages. Use rpptx or rdocx for complete documents.

Relationship

It consumes format-neutral OOXML primitives and supplies drawing models to presentation and rendering crates. Format-specific anchors, wrappers, packaging, and rendering belong elsewhere. Effects and DrawingML elements that are not typed remain preserved rather than being interpreted.

Example

use oxml_drawing::fill::Fill;

let fill = Fill::from_xml(
    br#"<a:noFill xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>"#,
)?;
assert!(matches!(fill, Fill::NoFill(_)));
# Ok::<(), oxml_drawing::fill::FillError>(())

Add oxml-drawing = "0.12.1" to your dependencies. Browse the typed DrawingML API before constructing schema-level values directly.