200字
PDF 转 Word 神器:用 PyQt5 + pdf2docx 做一个好用的桌面工具
2025-11-25
2025-11-25

image-nRGp.png

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
  • 拖拽添加:dragEnterEventdropEvent 识别文件/文件夹(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

使用方法

  1. 安装依赖:

    pip install -r requirements.txt
    
  2. 运行应用:

    python PDF_2_Word.py
    
  3. 添加文件:

    • 直接拖拽 PDF 或文件夹到窗口;或使用顶部按钮选择
  4. 点击 开始转换

    • 生成的 .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):创建应用、显示窗口并启动事件循环。

image-giWK.png

PDF 转 Word 神器:用 PyQt5 + pdf2docx 做一个好用的桌面工具
作者
一晌小贪欢
发表于
2025-11-25
License
CC BY-NC-SA 4.0

评论