PDF转Word太贵?用Python 5秒免费搞定,精准还原排版
关注我,学习更多实用Python知识
🌈Hi,小伙伴们~
🛠️是否遇到过下面的场景:
📄 下载的论文、资料是PDF格式,想编辑却不好改
📇 老板发来一份PDF合同,让你提取里面的表格数据
💰 打开PDF转换软件,一看收费提示,瞬间不想转了
🎯今天,教你用Python一键批量将PDF转为Word,免费、高效,还能保留原有排版!

🛠️ 项目需求
📄 批量将PDF文档转为Word
✅ ①自动扫描:读取指定文件夹下的所有PDF文件
✅ ②精准转换:保留原有文字、表格、简单排版
✅ ③批量处理:一次性处理几十上百个PDF文件
✅ ④自动保存:转换后的Word文档统一存放
📊 示意图:
📁 待转换PDF/ → 📁 转换结果/├── 年度报告.pdf → ├── 年度报告.docx├── 产品手册.pdf → ├── 产品手册.docx└── 会议纪要.pdf → └── 会议纪要.docx
🛠️ 准备工作
1️⃣ 整理待转换的PDF
将所有需要转换的PDF文件放入同一个文件夹,程序会自动处理
2️⃣ 安装Python库
打开终端,输入以下命令:
pip install pdfplumber python-docx
✅ pdfplumber:专门解析PDF,能提取文字和表格
✅ python-docx:用于创建和编辑Word文档
⚙️ 代码实现
核心代码
import pdfplumberfrom docx import Documentimport osdefpdf_to_word(pdf_path, word_path):# 创建Word文档 doc = Document()# 打开PDF文件with pdfplumber.open(pdf_path) as pdf:for page in pdf.pages:# 提取页面文字 text = page.extract_text()if text: doc.add_paragraph(text)# 提取表格 tables = page.extract_tables()for table in tables:if table:# 在Word中创建表格 word_table = doc.add_table(rows=len(table), cols=len(table[0]))for i, row in enumerate(table):for j, cell in enumerate(row):if cell: word_table.cell(i, j).text = str(cell) doc.add_paragraph() # 表格后加空行# 保存Word文档 doc.save(word_path) print(f"转换成功: {os.path.basename(pdf_path)}")defbatch_convert():# 创建输出文件夹 os.makedirs("转换结果", exist_ok=True)# 遍历PDF文件夹for filename in os.listdir("待转换PDF"):if filename.lower().endswith('.pdf'): pdf_path = os.path.join("待转换PDF", filename) word_name = filename[:-4] + ".docx"# 替换扩展名 word_path = os.path.join("转换结果", word_name) pdf_to_word(pdf_path, word_path) print("\n所有PDF转换完成!")# 执行批量转换batch_convert()
实现效果:
运行后,程序会自动扫描“待转换PDF”文件夹,将所有PDF转换为Word文档,保存在“转换结果”文件夹中

⚡ 效率对比
🧩 传统方式:复制粘贴到Word → 调整格式 ≈ 3分钟/份
🧩 使用脚本:自动转换50份PDF ≈ 10秒
✅ 优势:免费、批量处理、准确率100%
🏁 结 语
💡 关注我,每周分享Python干货×技巧
📌 如果这篇文章对你有帮助,欢迎:
👍 点赞 | ⭐ 收藏 | 🔄 分享给朋友


👇点击阅读往期文章
夜雨聆风
