使用 pdf2docx 库将 PDF 文件转换为 Word 文档
在数据处理和文档自动化场景中,经常需要将 PDF 格式的文件转换为可编辑的 Word (docx) 格式。虽然 Adobe Acrobat 等商业软件提供了转换功能,但对于开发者而言,通过 Python 脚本实现批量、自动化的转换更为高效。
pdf2docx 是一个基于 Python 的开源库,它利用 PyMuPDF 提取 PDF 内容,并结合 python-docx 重构文档布局。该工具能够较好地保留原文档的段落、图片、表格及样式信息。
核心功能
pdf2docx 支持以下主要功能的解析与重建:
- 页面布局:支持页边距设置、章节分栏(目前最多支持两栏)、页眉页脚解析。
- 文本处理:支持水平或竖直方向文本、字体样式(字号、粗细、颜色)、文本样式(高亮、下划线、删除线)以及段落对齐方式。
- 图片嵌入:支持内联图片、灰度/RGB/CMYK 色彩空间图片、透明通道图片以及浮动图片。
- 表格还原:支持边框样式、单元格背景色、合并单元格、嵌套表格及部分隐藏边框线的表格。
- 多进程支持:提供多进程转换选项以提升大文件处理效率。
注意:该工具主要用于解析已有文本内容的 PDF。对于扫描版 PDF(纯图片),由于缺乏 OCR 支持,无法直接提取文字。
安装与环境配置
在使用 pdf2docx 之前,请确保已安装 Python 环境(建议版本 3.6+)。
1. 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
2. 安装依赖包
pip install pdf2docx
该命令会自动安装底层依赖 PyMuPDF 和 python-docx。
基础用法
最简单的转换只需调用 parse 函数,传入源 PDF 路径和目标 DOCX 路径即可。
from pdf2docx import parse
pdf_file = '/path/to/sample.pdf'
docx_file = 'output/sample.docx'
# 执行转换
parse(pdf_file, docx_file)
运行上述代码后,当前目录下将生成一个名为 sample.docx 的文件。
高级配置
parse 函数支持多个参数,允许用户自定义转换行为。
1. 指定转换范围
如果只需要转换 PDF 中的特定页面,可以使用 start_page 和 end_page 参数。
from pdf2docx import Converter
pdf_file = 'document.pdf'
docx_file =
cv = Converter(pdf_file)
cv.convert(docx_file, start=, end=)
cv.close()


