介绍
- 提取 .docx 文档的 纯文本(正文、标题、表格、页眉、页脚、超链接)
- 提取文档中的 图片 并保存到指定目录
- 纯Python实现,无需安装Microsoft Office或LibreOffice
- 可通过 命令行 或 Python代码 调用
适用场景
- 快速批量提取 Word 文档文本用于 NLP 预处理
- 文档内容检索、文本分析、数据清洗
- 自动化办公流程(如合同/报告文本提取)
- 轻量级文档转换,无需依赖大型办公软件
安装
pip 安装
pip install docx2txt
poetry 虚拟环境安装
poetry add docx2txt
conda 安装
conda install conda-forge::docx2txt
使用方法
1. 命令行使用
# 仅提取文本(输出到控制台)
docx2txt input.docx
# 提取文本并保存到文件
docx2txt input.docx output.txt
# 提取文本 + 图片(图片保存到 ./images 目录)
docx2txt -i ./images input.docx
2. Python 代码调用
import docx2txt
# 1. 仅提取文本
text = docx2txt.process("example.docx")
print(text)
# 2. 提取文本 + 图片(图片保存到指定目录)
# 目录不存在会自动创建
text_with_images = docx2txt.process("example.docx", image_dir="./extracted_images")
3. 与 LangChain 集成(文档加载)
from langchain_community.document_loaders import Docx2txtLoader
loader = Docx2txtLoader("example.docx")
documents = loader.load() # 返回 Document 对象列表
与其他工具对比
| 工具 |
特点 |
依赖 |
适用场景 |
| docx2txt |
轻量、纯Python、文本+图片 |
无 |
快速文本提取 |
| python-docx |
功能完整、可读写docx |
无 |
复杂文档编辑/生成 |
| mammoth |
docx→HTML、保留格式 |
无 |
网页展示、格式保留 |
| unstructured |
多格式、结构化解析 |
较多 |
复杂NLP流水线 |
原文出处:/show_1GW2rJffHnPm.html