Skip to main content

easydoc_reader/
read_document.rs

1//! 读取语义文档模型。
2
3use std::path::Path;
4
5use easydoc_core::{DocumentContent, Result};
6
7/// 读取 DOC 或 DOCX,并转换为不暴露底层解析器类型的语义文档。
8///
9/// # Errors
10///
11/// 文件无法打开或解析时返回错误。
12pub fn read_document(path: &Path) -> Result<DocumentContent> {
13    crate::extractor::semantic::extract_document(path)
14}
15
16/// 从内存字节读取 DOC/DOCX 语义文档模型(不触碰文件系统)。
17///
18/// 通过 magic bytes 自动检测格式。适用于 fuzz 目标、网络/流式数据源等
19/// 无文件路径的场景。
20///
21/// # Errors
22///
23/// 字节不是受支持的文档格式或解析失败时返回错误。
24pub fn read_document_from_bytes(bytes: &[u8]) -> Result<DocumentContent> {
25    crate::extractor::semantic::extract_document_from_bytes(bytes)
26}