PDF 转 Word 工具
PDF 转 Word —— 用 Python 打造简易图形化工具
发布日期:2025-09-22
标签:Python文件转换GUI
分类:编程工具点击下载 通过网盘分享的文件:pdf转word.exe
链接: https://pan.baidu.com/s/1mzEhaDtuAZiSpOmkLuS8Pw 提取码: dcyq
平时工作和学习中,经常会遇到需要将 PDF 转换成 Word 的情况。虽然有很多在线工具,但有时文件隐私敏感、或网络环境受限,使用在线工具并不方便。
今天分享一个使用 Python + Tkinter + pdf2docx 开发的小工具,支持图形界面操作,让你轻松实现 PDF 转 Word 转换。
🛠 工具功能概览
- ✅ 支持选择本地 PDF 文件
- ✅ 自定义保存 Word 文件路径
- ✅ 图形化界面,操作简单直观
- ✅ 转换过程自动提示成功或失败
- ✅ 可打包为 EXE,方便分发使用
💻 图形界面展示
运行工具后,你将看到一个简洁的窗口:
- 选择 PDF 文件:点击按钮即可选择需要转换的 PDF。
- 设置 Word 输出路径:指定保存位置和文件名。
- 开始转换按钮:一键启动转换,完成后会提示结果。
🧩 核心代码实现
以下是工具的核心实现代码(基于 tkinter 搭建 GUI,pdf2docx 完成格式转换):
```python
import tkinter as tk
from tkinter import filedialog, messagebox
from pdf2docx import Converter
import os
def pdf_to_word(pdf_file, word_file):
try:
cv = Converter(pdf_file)
cv.convert(word_file, start=0, end=None)
cv.close()
messagebox.showinfo("成功", f"转换完成:{word_file}")
except Exception as e:
messagebox.showerror("错误", f"转换失败:{e}")
def select_pdf():
file_path = filedialog.askopenfilename(
title="选择 PDF 文件",
filetypes=[("PDF 文件", "*.pdf")]
)
if file_path:
pdf_path_var.set(file_path)
def select_word():
file_path = filedialog.asksaveasfilename(
title="保存 Word 文件",
defaultextension=".docx",
filetypes=[("Word 文件", "*.docx")]
)
if file_path:
word_path_var.set(file_path)
def start_convert():
pdf_file = pdf_path_var.get()
word_file = word_path_var.get()
if not os.path.exists(pdf_file):
messagebox.showwarning("提示", "请选择有效的 PDF 文件!")
return
if not word_file:
messagebox.showwarning("提示", "请选择 Word 输出路径!")
return
pdf_to_word(pdf_file, word_file)
# GUI 主界面
root = tk.Tk()
root.title("PDF 转 Word")
root.geometry("500x200")
pdf_path_var = tk.StringVar()
word_path_var = tk.StringVar()
# PDF 文件选择
tk.Label(root, text="PDF 文件路径:").pack(anchor="w", padx=10, pady=5)
tk.Entry(root, textvariable=pdf_path_var, width=50).pack(anchor="w", padx=10)
tk.Button(root, text="选择 PDF", command=select_pdf).pack(anchor="w", padx=10, pady=5)
# Word 保存路径
tk.Label(root, text="Word 保存路径:").pack(anchor="w", padx=10, pady=5)
tk.Entry(root, textvariable=word_path_var, width=50).pack(anchor="w", padx=10)
tk.Button(root, text="选择保存路径", command=select_word).pack(anchor="w", padx=10, pady=5)
# 开始转换按钮
tk.Button(root, text="开始转换", command=start_convert, bg="lightgreen").pack(pady=15)
root.mainloop()
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 TAT东云川TAT!
评论

