Skip to main content

easydoc_core/
lib.rs

1//! easydoc-rust 核心数据模型与扩展点。
2//!
3//! 对应 Java: `com.alibaba.excel` (`EasyExcel` 4.0.3 核心层)
4
5#![deny(unsafe_code)]
6
7pub mod converter;
8pub mod document;
9pub mod error;
10pub mod metadata;
11#[cfg(feature = "serde")]
12pub mod serde_bridge;
13pub mod style;
14pub mod traits;
15pub mod types;
16
17pub use converter::{ConverterRegistry, ErasedConverter};
18pub use document::{
19    DocumentBlock, DocumentContent, DocumentImage, DocumentList, DocumentListItem, DocumentTable,
20    DocumentTableCell, DocumentTableRow, DocumentTextRun,
21};
22pub use error::{DocError, Result};
23pub use metadata::{DocumentMeta, TableColumn};
24pub use style::{Color, FontConfig, ParagraphStyle, TableStyle};
25pub use traits::{
26    CellContext, ContentCollector, DocConverter, DocReadContext, DocReadListener, DocWriteContext,
27    DocWriteHandler, DocumentEvent, DocumentReader, DocxRow, EventSink, ParagraphContext,
28    TableWriteContext,
29};
30pub use types::{
31    CellData, DocValue, ErrorAction, HeadingLevel, HorizontalAlignment, ImageData, RichRun,
32    RowData, TableData,
33};
34
35/// 文档分区类型,用于 Section 块。
36#[derive(Clone, Debug, PartialEq, Eq)]
37#[non_exhaustive]
38pub enum DocumentSection {
39    /// 连续分区(不换页)。
40    Continuous,
41    /// 下一页开始新分区。
42    NextPage,
43    /// 下一列开始新分区。
44    NextColumn,
45    /// 偶数页开始新分区。
46    EvenPage,
47    /// 奇数页开始新分区。
48    OddPage,
49}