使用Python提取并解析Word文档中的图片内容

作者:zhilong · 2025-09-01 · 阅读时间:4分钟

借助Python提取并解析DOC文件内容,包括环境准备、依赖库安装以及具体的代码实现,帮助开发者快速上手这一实用技能。

1. 环境准备

在开始编写代码之前,我们需要确保开发环境已经配置好。Python作为主要编程语言,建议使用版本3.8或以上以确保兼容性。此外,为了实现DOC文件的解析,我们需要安装一些第三方库来简化操作。

1.1 安装依赖库

本文使用python-docx库来提取DOCX文件内容。对于老版本的DOC文件,可以借助python-docx结合其他工具进行处理。安装方法如下:

pip install python-docx

如果需要处理老版本的.doc文件,建议安装antiword工具或使用pywin32库(适用于Windows系统)。本文以python-docx为主演示DOCX文件的解析。如果需要转换.doc.docx,可以参考后续扩展建议。

2. 提取图片代码示例

以下是一个完整的代码示例,展示了如何使用Python提取并解析DOC文件内容,并特别突出从DOCX文件中提取文字和图片的功能。代码中添加了详细的中文注释,确保易于理解和复现。

调用函数提取内容

text_content = extract_docx_content(docx_file, "output_images")
print("提取的文字内容如下:")
print(text_content)
print("提取完成!")
def extract_docx_content(file_path, output_dir="output"):
"""
提取DOCX文件中的文字和图片内容
:param file_path: DOCX文件路径
:param output_dir: 图片保存的输出目录
:return: 提取的文字内容
"""

# 检查输出目录是否存在,不存在则创建
if not os.path.exists(output_dir):
os.makedirs(output_dir)

# 加载DOCX文件
doc = Document(file_path)
full_text = []

# 存储所有段落文字

# 遍历文档中的段落,提取文字
for para in doc.paragraphs:
if para.text.strip():

# 忽略空段落
full_text.append(para.text)

# 提取图片
image_count = 0
for rel in doc.part.rels.values():

# 检查是否为图片类型的关联
if "image" in rel.target_ref:
image_count += 1

# 获取图片数据
image_data = rel.target_part.blob

# 生成图片保存路径
image_path = os.path.join(output_dir, f"image_{image_count}.png")

# 保存图片到本地
with open(image_path, "wb") as f:
f.write(image_data)
print(f"已保存图片: {image_path}")

# 返回提取的文字内容
return "n".join(full_text)

# 示例调用
if __name__ == "__main__":

# 指定DOCX文件路径
docx_file = "example.docx"

# 调用函数提取内容
text_content = extract_docx_content(docx_file, "output_images")
print("提取的文字内容如下:")
print(text_content)
print("提取完成!")

代码说明:

  • 依赖库:使用python-docx加载和解析DOCX文件,os模块用于文件路径操作。
  • 功能:代码不仅提取文档中的文字,还能遍历文档的关联对象,提取嵌入的图片并保存到指定目录。
  • 关键词应用:通过此代码实现了“Python提取并解析DOC文件内容”的核心需求,文字和图片的提取过程清晰可见。

运行这段代码前,请确保example.docx文件存在于代码运行目录中,且文件中包含文字和图片。执行后,文字会打印在控制台,图片将保存到output_images文件夹。

结论

通过本文的介绍,我们详细讲解了如何利用Python提取并解析DOC文件内容。从环境准备到具体的代码实现,读者可以快速掌握这一技能。python-docx库的使用极大简化了操作流程,无论是提取文字还是图片,都能高效完成。未来如果需要扩展功能,可以结合其他工具处理老版本DOC文件,或者增加对表格和样式的解析。