#docs #office #powerpoint #docx #ppt

oox

Open Office XML file format deserializer

1 unstable release

0.1.0 Feb 15, 2020

#3 in #powerpoint

MIT license

1.5MB
29K SLoC

oox-rs

A library to deserialize Open Office Xml files in Rust.

Latest version Documentation

Overview

oox-rs is a low level deserializer for Microsoft's OfficeOpen XML file formats. It's still WIP, so expect API breaking changes.

The Office Open XML file formats are described by the ECMA-376 standard. The types represented in this library are generated from the Transitional XML Schema's, which is described in ECMA-376 4th edition Part 4.

Documentation is generated from the "Ecma Office Open XML Part 1 - Fundamentals And Markup Language Reference.pdf" file, found in ECMA-376 4th edition Part 1

Usage

Oox-rs has no high level interface to access objects and their attributes in a page/slide yet. It only provides access to the elements in various xml files as in-memory objects. If you want to import a document into your application you should look up the documentations above. A high level interface is planned.

Load a docx file

use oox::docx::package::Package as DocxPackage;

let package = DocxPackage::from_file(&PathBuf::from("path/to/example/file.docx")).unwrap();
let main_document = package.main_document.as_ref().unwrap(); // Access the main document

Dependencies

~6.5–8.5MB
~146K SLoC