docparser-office
DOCX / XLSX / PPTX 后端:zip + quick-xml 流式解析(无全局锁、无 libexpat),
解析路径为单线程流式,不引入 rayon。
安装
# 或 cargo add docparser-sdk --no-default-features --features docx
特性
| feature | 默认 | 作用 |
|---|---|---|
docx |
✅ | Word:正文段落、w:tbl 表格、文本框(w:txbxContent)、w:tab/w:br |
xlsx |
✅ | Excel:多 sheet 分页、共享字符串、numFmt 数字/日期、逐单元格 |
pptx |
✅ | PowerPoint:多 slide 分页、文本框/表格/组合形状递归/图表框 |
被裁掉的格式不注册,解析该扩展名返回 unsupported。三种格式共用同一套 zip +
quick-xml,所以依赖树相同(26 个),差别在编译进来的代码量:只开 docx 时
rlib 487 KB,三格式全开 938 KB。docparser_office::FORMATS 反映实际编译进来的格式。
用法
use ;
let mut reg = new;
register_defaults;
register_defaults;
let doc = new.parse?;
println!;
覆盖范围
当前是 raw 文本模式:以段落为单位输出 BlockKind::Paragraph,不还原标题层级与列表结构。
| 格式 | 提取内容 |
|---|---|
.docx |
正文段落、w:tbl 表格单元格文本、文本框(w:txbxContent)、w:tab/w:br |
.xlsx |
多 sheet(每 sheet 一页)、共享字符串、numFmt 数字/日期格式化、逐单元格文本 |
.pptx |
多 slide(每 slide 一页)、文本框、表格单元格、组合形状递归、图表框文本 |
legacy .doc/.xls/.ppt(OLE)不解析:router 会识别为 ole,没有对应插件时返回
unsupported。加密件(OLE 容器包 OOXML)在嗅探阶段即判定为 encrypted。
许可
MIT OR Apache-2.0