网易首页 > 网易号 > 正文 申请入驻

PDF转word自制免费小程序

0
分享至

各位朋友,大家好。PDF转word功能应该是大多数新时代打工人需要的,但是现在市面上多数软件都是付费的,免费的软件效果也不太好。所以本人自己手搓了一个(当然是借助了 豆包AI 的神力),现在将程序简介,源python代码,转换好的exe程序放到文中,有需要的小伙伴欢迎自取,也欢迎大家给出宝贵修改意见,如果点个关注那就太好啦,我会感激涕零的!

《PDF 转 Word 程序说明》

一、程序概述

本程序是一个基于 Python 的图形用户界面(GUI)应用程序,使用 tkinter 库创建用户界面,主要功能是将用户选择的 PDF 文件转换为 Word 文档(.docx 格式)。该程序结合了 pdf2docx 和 fitz(PyMuPDF)库,前者用于实现 PDF 到 Word 的转换,后者用于检查 PDF 文件的可读性。

二、撰写思路

1. 需求分析

程序需要提供一个简单的用户界面,让用户能够方便地选择要转换的 PDF 文件。

程序需要对选择的 PDF 文件进行检查,确保文件可读。

程序需要将 PDF 文件转换为 Word 文档,并将转换结果反馈给用户。

2. 模块选择

tkinter:Python 的标准 GUI 库,用于创建用户界面,包括窗口、按钮和标签等组件。

filedialog:tkinter 的子模块,用于打开文件选择对话框,方便用户选择 PDF 文件。

os:Python 的标准库,用于处理文件路径和文件名,生成转换后的 Word 文件路径。

pdf2docx:第三方库,用于将 PDF 文件转换为 Word 文档。

fitz(PyMuPDF):第三方库,用于检查 PDF 文件的可读性,确保文件可以正常读取。

3. 功能实现

pdf_to_word 函数:

该函数接受一个 PDF 文件路径作为参数,负责将 PDF 文件转换为 Word 文档。

在转换前,更新界面状态为 “PDF 在转换中...”,并强制更新 UI 以实时显示状态。

使用 os.path.splitext 函数生成与输入 PDF 文件同路径的 Word 文件路径。

使用 fitz.open 函数打开 PDF 文件,逐页读取文本内容,以检查文件的可读性。如果检查失败,更新界面显示错误信息并返回。

创建 Converter 对象,调用 convert 方法将 PDF 文件转换为 Word 文档。

转换完成后,关闭转换器,并更新界面显示转换成功的信息和保存的 Word 文件路径。如果转换过程中出现异常,更新界面显示错误信息。

select_pdf_file 函数:

该函数用于打开文件选择对话框,只允许用户选择 PDF 文件。

如果用户选择了文件,调用 pdf_to_word 函数进行转换。

主程序部分:

创建主窗口,设置窗口标题和大小。

创建 “选择 PDF 文件” 按钮,绑定 select_pdf_file 函数,用户点击按钮时触发文件选择操作。

创建用于显示转换结果的标签,初始文本为 “请选择一个 PDF 文件”。

运行主循环,使窗口保持显示并响应用户操作。

三、使用说明

运行程序后,会弹出一个名为 “PDF 转 Word 应用” 的窗口。

点击 “选择 PDF 文件” 按钮,会弹出文件选择对话框。

在文件选择对话框中,选择要转换的 PDF 文件,然后点击 “打开” 按钮。

程序会开始检查 PDF 文件的可读性,并进行转换。转换过程中,界面会显示 “PDF 在转换中...”。

转换完成后,界面会显示转换结果。如果转换成功,会显示保存的 Word 文件路径;如果转换失败,会显示错误信息。

源代码:

import tkinter as tk

from tkinter import filedialog

import os

from pdf2docx import Converter

import fitz # PyMuPDF

def pdf_to_word(pdf_path):

将PDF文件转换为Word文档

:param pdf_path: 输入的PDF文件路径

try:

# 更新状态为转换中

result_label.config(text="PDF在转换中...")

root.update() # 强制更新UI

# 生成输出Word文件路径(与输入PDF同路径,扩展名改为.docx)

docx_path = os.path.splitext(pdf_path)[0] + ".docx"

# 尝试使用PyMuPDF检查PDF文件

try:

doc = fitz.open(pdf_path)

text = ""

for page in doc:

text += page.get_text()

doc.close()

except Exception as pdf_error:

result_label.config(text=f"PDF文件检查失败: {pdf_error}")

return

# 创建转换器对象

cv = Converter(pdf_path)

# 转换PDF到Word

cv.convert(docx_path, start=0, end=None)

# 关闭转换器

cv.close()

result_label.config(text=f"转换成功!Word文档已保存为: {docx_path}")

except Exception as e:

result_label.config(text=f"转换失败: {e}")

def select_pdf_file():

# 打开文件选择对话框,只允许选择PDF文件

file_path = filedialog.askopenfilename(filetypes=[("PDF files", "*.pdf")])

if file_path:

pdf_to_word(file_path)

# 创建主窗口

root = tk.Tk()

root.title("PDF转Word应用")

# 设置窗口大小

root.geometry("400x200")

# 创建选择文件按钮

select_button = tk.Button(root, text="选择PDF文件", command=select_pdf_file)

select_button.pack(pady=20)

# 创建用于显示转换结果的标签

result_label = tk.Label(root, text="请选择一个PDF文件", wraplength=300)

result_label.pack(pady=20)

# 运行主循环

root.mainloop()

通过网盘分享的文件:pdf2word2.exe

链接: https://pan.baidu.com/s/1xPeccPEywlnTgb7PmfAtUw?pwd=bfvi 提取码: bfvi 复制这段内容后打开百度网盘手机App,操作更方便哦

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
为什么失业严重,社会却安静的可怕,没有乱起来?答案扎心又现实

为什么失业严重,社会却安静的可怕,没有乱起来?答案扎心又现实

王姐懒人家常菜
2026-06-04 13:00:46
《温晚星薄忱》小说:温晚星这辈子最幸福快乐的时光。

《温晚星薄忱》小说:温晚星这辈子最幸福快乐的时光。

隔壁老王爱生活
2026-04-21 14:58:58
刘浩存现实长什么样?路人镜头暴露真实颜值,突然理解张艺谋了

刘浩存现实长什么样?路人镜头暴露真实颜值,突然理解张艺谋了

真的八卦小学弟
2026-06-20 17:00:08
两性关系:男人必看,别怕肉麻,女人无论多大年纪,都吃这一套

两性关系:男人必看,别怕肉麻,女人无论多大年纪,都吃这一套

风起见你
2026-06-22 01:26:42
骨科认证:这项运动对膝盖很友好,还能养护心脑

骨科认证:这项运动对膝盖很友好,还能养护心脑

猫大夫医学科普
2026-06-17 06:47:17
欧美女神为艺术献身的5部电影,一部比一部惊艳,越看越上头

欧美女神为艺术献身的5部电影,一部比一部惊艳,越看越上头

小微看电影
2026-06-21 16:01:53
从36跌到3.5,跌了整整8年,好不容易等到一个涨停,结果炸板了!

从36跌到3.5,跌了整整8年,好不容易等到一个涨停,结果炸板了!

丁丁鲤史纪
2026-05-30 17:08:34
央视首播,40集刑侦大剧来袭!真实案件改编,实力派阵容,要爆

央视首播,40集刑侦大剧来袭!真实案件改编,实力派阵容,要爆

动物奇奇怪怪
2026-06-11 13:02:38
时光服:P5新增3颗毕业宝石,钓鱼宝藏先别开,等更新才是正解

时光服:P5新增3颗毕业宝石,钓鱼宝藏先别开,等更新才是正解

胖哥游戏说
2026-06-21 16:10:41
100个做肠镜的人,95个都查出息肉,但只有不到3个的息肉会变成癌

100个做肠镜的人,95个都查出息肉,但只有不到3个的息肉会变成癌

路医生健康科普
2026-06-17 17:05:03
王晶没说谎,58岁久居“日本农村”的郑伊健,现状印证了他的评价

王晶没说谎,58岁久居“日本农村”的郑伊健,现状印证了他的评价

小兰聊历史
2026-05-25 07:41:20
雷来了,周末22股利空,有的被st有的终止上市,有的重大风险提示

雷来了,周末22股利空,有的被st有的终止上市,有的重大风险提示

媛来这样
2026-06-21 11:17:50
绝了!中国七大甲种集团军,一支战力能抵一个国,到底有多强?

绝了!中国七大甲种集团军,一支战力能抵一个国,到底有多强?

万物知识圈
2026-06-21 19:27:05
为什么女性会有比男性更高的性快感,从进化论的角度分析?

为什么女性会有比男性更高的性快感,从进化论的角度分析?

宇宙时空
2026-05-29 18:00:14
中国脑梗发病率世界第一!医生苦劝:罪魁祸首已揪出,这4物少吃

中国脑梗发病率世界第一!医生苦劝:罪魁祸首已揪出,这4物少吃

医学科普汇
2026-06-17 18:55:13
iPhone 18 Pro 发布时间定档 苹果搅动安卓阵营棋局

iPhone 18 Pro 发布时间定档 苹果搅动安卓阵营棋局

环球网资讯
2026-06-21 08:56:17
杨绛:人的一生,要闯三关,第一关,送父母终老;第二关,把孩子抚育成人;第三关,守好自己的命,这三道关卡,关关难过,但也得关关过

杨绛:人的一生,要闯三关,第一关,送父母终老;第二关,把孩子抚育成人;第三关,守好自己的命,这三道关卡,关关难过,但也得关关过

犀利强哥
2026-06-13 06:58:30
万斯:美伊谈判“过去几个小时取得巨大进展”

万斯:美伊谈判“过去几个小时取得巨大进展”

新京报
2026-06-21 21:19:19
一个婚姻人性铁律:要想让伴侣不敢背叛你,下下策是查手机,中策是经济控制,上上策只有两个字让他离不开你

一个婚姻人性铁律:要想让伴侣不敢背叛你,下下策是查手机,中策是经济控制,上上策只有两个字让他离不开你

心理观察局
2026-06-06 08:08:15
山姆超市 大妈拿桶接免费可乐,购物车上还有几个空桶,少年看呆

山姆超市 大妈拿桶接免费可乐,购物车上还有几个空桶,少年看呆

凡知
2026-05-25 13:54:50
2026-06-22 02:32:49
小哥聊FinTech
小哥聊FinTech
一个从事云计算研发的管理学博士,陪你聊金融科技前沿
43文章数 0关注度
往期回顾 全部

头条要闻

媒体:两大核武国家“水仗”升级 巴基斯坦陷入恐慌

头条要闻

媒体:两大核武国家“水仗”升级 巴基斯坦陷入恐慌

体育要闻

德国的超级替补,10年前还在工厂上班

娱乐要闻

原来她就是张颂文老婆

财经要闻

“床垫界的特斯拉”破产了

科技要闻

马斯克拿下7800亿元天价薪酬 2028年可兑现

汽车要闻

惊出冷汗!重庆实测奥迪A5L,华为智驾这波操作绝了…

态度原创

亲子
手机
房产
公开课
军事航空

亲子要闻

阿宝表演单杠,考考小姨们帮我数6分钟荡了多少圈?老妈数晕了

手机要闻

消息称供应链公司已向苹果首款折叠屏iPhone小批量供货

房产要闻

商业清零式退潮,大量住宅登场!三亚又要大规模调规!

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

时隔44年试射洲际导弹 现场照片传递三个重磅信息

无障碍浏览 进入关怀版