1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/// Office Open XML (OOXML) format implementation.
///
/// This module provides parsing and manipulation of Office Open XML documents,
/// including Word (.docx), Excel (.xlsx, .xlsb), and PowerPoint (.pptx) files.
///
/// The implementation is based on the Open Packaging Conventions (OPC) and
/// follows the structure of the python-docx library, adapted for Rust with
/// performance optimizations.
///
/// # Architecture
///
/// The module is organized into several layers:
///
/// 1. **OPC Layer** (`opc`): Low-level package handling (ZIP, parts, relationships)
/// 2. **Shared Utilities** (`shared`, `error`): Common types used across formats
/// 3. **Format-Specific Modules**:
/// - `docx`: Word documents
/// - `xlsx`: Excel spreadsheets
/// - `xlsb`: Excel binary spreadsheets
/// - `pptx`: PowerPoint presentations (placeholder)
/// - `metadata`: Core properties/metadata extraction
///
/// # Example: Working with Word Documents
///
/// ```rust,no_run
/// use litchi::ooxml::docx::Package;
///
/// // Open and read a document
/// let pkg = Package::open("document.docx")?;
/// let doc = pkg.document()?;
///
/// // Extract text content
/// let text = doc.text()?;
/// println!("Document contains {} paragraphs", doc.paragraph_count()?);
/// # Ok::<(), Box<dyn std::error::Error>>(())
/// ```
// Re-export commonly used types from OPC layer
pub use ;
// Re-export shared utilities
pub use ;
// Re-export error types
pub use ;