SuperAPI AI 工具集

docx-parse-resilient

办公与效率

查看项目

更新于 10-15 22:13

技能介绍

用途:从 Microsoft Word(.docx)文件中提取纯文本,面向容器、精简镜像、CI/CD 等环境不稳定或缺少 python-docx 依赖的场景,提供 shell 与 Python 双路径的容错抽取。

主要能力:DOCX 本质是包含 XML 的 ZIP 压缩包。技能首先用 shell 方式(unzip -p 加 sed 去标签)快速提取 word/document.xml;当 shell 命令报错或返回空内容时,自动改用 Python 标准库 zipfile 读取同一 XML 并清理标签,无需任何第三方包。两种方式均可用函数封装或独立脚本形式调用,支持输出到标准输出或文件。

使用方式:先确认文件存在,如 ls -la document.docx;主命令为 unzip -p document.docx word/document.xml 2>/dev/null | sed -e 's/<[^>]*>//g'。可将其封装为 parse_docx_resilient 函数,接受文件路径与可选输出路径,shell 成功则写文件,否则回退 Python。也可使用提供的 Python 脚本,按参数传入 .docx 路径,脚本会先尝试 shell,再回退 zipfile,并在 stderr 标注所用方法。

适用场景:只需抽取正文文本、环境可能缺少 unzip 或 python-docx、需要自动降级保证流程不中断的批量处理与流水线任务。可先用 command -v unzip 和 command -v python3 预判可用方法。

限制:不保留格式、图片和表格结构,可能残留少量 XML 实体引用,适合简单文本抽取;文件须为有效的 Office Open XML 格式,Python 回退需 Python 3 标准库。验证时可查看输出前若干行、统计行数或用 grep -c 检查是否含字符。故障排查包括 file 命令确认文件类型、unzip -t 检查是否损坏、python3 --version 确认版本。