一、纯文档XML解析流派
特点:不加载AI视觉模型,直接解析文档原生OOXML结构;速度快、资源占用低,适合Office类电子文档。
python-docx
直接底层解析docx压缩包内OOXML,仅支持docx格式,无pptx/xlsx/PDF解析能力。
可读取表格合并单元格标记、提取文本与图片,但不存在文档阅读顺序语义,合并单元格需要自行编码处理,无法直接输出规整Markdown。
适合简单文档文本提取、Word二次编辑;不建议作为RAG主链路解析器。Docling【Office文档首选】
底层docx模块基于python-docx封装,在上层构建统一文档语义树,自动规整合并单元格、维护图文阅读顺序、原生支持图片提取,开箱输出标准化Markdown/JSON。
支持格式:
✅ docx(Word 2007+)
✅ pptx(PowerPoint 2007+)
✅ xlsx / xlsm(Excel 2007+)
重要区分:Docling解析docx/pptx/xlsx无需AI模型;当解析PDF时,才会加载布局检测、表格识别等视觉模型。
二、AI版面分析流派
特点:依托深度学习模型做版面检测、表格识别、OCR;擅长扫描件、多栏排版、图文混排PDF,算力消耗更高、解析速度会慢很多(CPU环境解析一个30页PDF大概需要2分钟)。
1. MinerU(中文PDF场景标杆)
✅ 优势:中文标书、财报、论文、多栏PDF、图片、跨页复杂合并表格解析能力突出;内置OCR、页眉页脚自动清洗,输出整洁Markdown;扫描影印类文档表现业内第一梯队。
❌ 短板:核心能力聚焦PDF;推荐GPU运行,纯CPU解析速度一般;全程依赖AI模型。
补充说明:MinerU ≥3.0 版本新增docx/pptx/xlsx原生解析接口,但Office文档解析属于附加功能,复杂图文、文本框场景稳定性较差,生产环境不建议依靠它处理Word。
🎯 适用场景:以中文PDF为主,包含大量扫描件、工程合同、研报、多栏技术文档。
2. Unstructured
支持60+种文件格式,生态完善,深度对接LangChain/LlamaIndex。
短板:中文文档适配一般,复杂合并单元格表格还原效果偏弱;很多格式底层依靠LibreOffice中转,部署链路较重。
三、选型落地小结
推荐工程分流架构(建筑业/企业文档RAG最优实践)
.pdf→ MinerU(发挥中文PDF、扫描件、复杂表格强项).docx/.pptx/.xlsx→ Docling(轻量化XML解析,不抢占GPU资源,自动处理合并单元格)- 极端复杂 Word(大量浮动文本框、浮动图片)兜底方案:docx 通过 LibreOffice 无头模式转 PDF → MinerU
选型误区:
很多人追求一套库处理全部文件,直接全量使用 Docling 或者 Unstructured。该方案开发简单,但在中文扫描 PDF、复杂表格情况下,解析质量会明显弱于分流方案。