
PDF 转 Word 神器:用 PyQt5 + pdf2docx 做一个好用的桌面工具
一款轻量的 PDF 批量转 Word 桌面应用,支持拖拽、文件夹扫描、进度展示,转换结果与原文件同目录保存。
Github源代码请点击我
Github源代码请点击我
Github源代码请点击我
背景与目标
- 日常办公中,常需要将 PDF 转为可编辑的 Word(
.docx)。 - 在线网站存在文件体积限制、隐私风险、速度慢等问题。
- 目标:做一个本地、易用、可批量转换的桌面小工具。
技术栈
- Python 3.8+
- PyQt5:构建桌面 GUI
- pdf2docx:将 PDF 转换为
.docx - QThread:后台执行,避免界面卡死
功能一览
- 拖拽添加:支持将文件或文件夹拖拽到窗口
- 多选与文件夹扫描:一次性批量添加 PDF
- 进度条与状态提示:实时了解转换进度
- 批量转换:逐个生成同名
.docx文件到原目录
界面与交互
- 顶部操作区:
选择文件、选择文件夹、清空列表 - 中间列表:待转换文件列表
- 底部:进度条、状态文字、
开始转换按钮 - 拖拽支持:窗口接收文件/文件夹拖拽(
PDF_2_Word.py:57)
核心代码解析
- 工作线程:
ConversionWorker负责后台转换(PDF_2_Word.py:12)- 进度与状态通过信号通知界面(
PDF_2_Word.py:14-16) - 逐个调用 pdf2docx 完成转换(
PDF_2_Word.py:33-35)
- 进度与状态通过信号通知界面(
- 拖拽添加:
dragEnterEvent与dropEvent识别文件/文件夹(PDF_2_Word.py:127-146) - 文件夹扫描:递归找到所有 PDF(
PDF_2_Word.py:160-169) - 转换入口:点击
开始转换启动线程(PDF_2_Word.py:182-199) - 完成回调:恢复界面状态,提示成功(
PDF_2_Word.py:206-217)
使用方法
-
安装依赖:
pip install -r requirements.txt -
运行应用:
python PDF_2_Word.py -
添加文件:
- 直接拖拽 PDF 或文件夹到窗口;或使用顶部按钮选择
-
点击
开始转换:- 生成的
.docx与原 PDF 同目录、同名
- 生成的
打包为 Windows 可执行文件
- 依赖已在
requirements.txt中包含pyinstaller - 命令示例:
pyinstaller --noconsole --onefile --windowed --icon Pdf.png PDF_2_Word.py - 打包后生成的
PDF_2_Word.exe位于dist/
常见问题
- 扫描版/图片型 PDF:转换结果可读性有限,建议先做 OCR
- 复杂排版:极端复杂的表格与公式可能需要人工微调
- 权限问题:无写权限目录会导致保存失败,建议选择可写路径
致谢
- 作者署名见窗口标题:
作者:小庄-Python办公(PDF_2_Word.py:55)
代码入口
- 程序入口位于(
PDF_2_Word.py:219-223):创建应用、显示窗口并启动事件循环。
