当前位置: 首页 > news >正文

Python制作PDF转Word工具(Tkinter+pdf2docx)

一、效果样式

pdf转word

二、核心点

1. 使用pdf2docx完成PDF转换Word
安装pdf2docx可能会报错,安装完成引入from pdf2docx import Converter运行也可能报错,可以根据报错提示看缺少那些库,先卸载pip uninstall xxx,使用pip install python-docx -i https://pypi.douban.com/simple/进行指定下载路径安装。

2. text组件禁止键盘鼠标点击编辑
使用bind<Key><Button-1>进行事件绑定

tipText.bind("<Key>",lambda event:"break")
tipText.bind("<Button-1>",lambda event:"break")

3. tkinter页面实时输出显示,并且定位到最下面

#更新text组件
tipText.update() 
#实时定位到下面
tipText.see(END)

4. 打开文件夹路径
使用filedialog

from tkinter import filedialog# 打开文件夹选择对话框
folder_path = filedialog.askdirectory()

三、完整代码

import os
from pdf2docx import Converter
from tkinter import *
import time
from tkinter import filedialog# 批量转换word
def pdf_docx():# 遍历所有文件file_path = folderInput.get("1.0", "end-1c")i = 0for file in os.listdir(file_path):# 获取文件后缀suff_name = os.path.splitext(file)[1]# 过滤非pdf格式文件if suff_name != '.pdf':continue# 获取文件名称i+=1file_name = os.path.splitext(file)[0]# pdf文件名称pdf_name = file_path + '\\' + file# 要转换的docx文件名称docx_name = file_path + '\\' + file_name + '.docx'# 加载pdf文档tipText.insert(INSERT,"正在转换文件:\n")tipText.insert(INSERT,f"{file_name}.pdf\n")time.sleep(0.1)tipText.insert(END,"正在转换,请稍等... \n")tipText.see(END)folderInput.update()cv = Converter(pdf_name)cv.convert(docx_name)cv.close()tipText.insert(END,"转换完成!  \n \n")tipText.see(END)tipText.insert(END,f"一共转换了{i}个PDF文件,请返回文件夹目录进行查看转换的Word文件!")
# 选择文件夹的逻辑
def choose_folder():# 打开文件夹选择对话框folder_path = filedialog.askdirectory()# 更新标签文本# print(folder_path)folderInput.insert(END,folder_path)# GUI页面
root = Tk()
root.title("PDF转Word工具")
root.geometry("600x400")
root.resizable(False, False)# 布局框架
fr = Frame(root).pack(anchor = 'nw')
folderInput = Text(fr,width=30,height=1, font=('Arial', 14))
folderInput.place(x=40,y=20)
folderInput.bind("<Key>",lambda event:"break")
folderInput.bind("<Button-1>",lambda event:"break")
folder = Button(fr,text='选择文件夹', command=choose_folder).place(x=400,y=18)
conver = Button(fr,text='批量转换', command=pdf_docx).place(x=500,y=18)
tipText = Text(fr,width=74,height=22,padx=2, pady=2)
tipText.place(x=40,y=80)
tipText.bind("<Key>",lambda event:"break")
tipText.bind("<Button-1>",lambda event:"break")
tipText.insert(INSERT,'欢迎使用PDF转换Word工具! \n\n')mainloop()

**使用pyinstaller打包时建议使用 pyinstaller -w .\pdftoword.py 命令,这样打开运行程序不显示终端窗口,更加友好

相关文章:

Python制作PDF转Word工具(Tkinter+pdf2docx)

一、效果样式 二、核心点 1. 使用pdf2docx完成PDF转换Word 安装pdf2docx可能会报错&#xff0c;安装完成引入from pdf2docx import Converter运行也可能报错&#xff0c;可以根据报错提示看缺少那些库&#xff0c;先卸载pip uninstall xxx,使用pip install python-docx -i htt…...

有哪些手段可以优化 CSS, 提高性能

CSS优化是Web开发中提高性能和用户体验的关键部分。下面详细解释一些CSS优化的方法&#xff0c;以提高性能&#xff1a; 合并和压缩CSS文件: 合并文件&#xff1a;将多个CSS文件合并成一个&#xff0c;以减少HTTP请求次数。这可以通过构建工具&#xff08;如Webpack&#xff09…...

ARM可用的可信固件项目简介

安全之安全(security)博客目录导读 目录 一、TrustedFirmware-A (TF-A) 二、MCUboot 三、TrustedFirmware-M (TF-M) 四、TF-RMM 五、OP-TEE 六、Mbed TLS 七、Hafnium 八、Trusted Services 九、Open CI 可信固件为Armv8-A、Armv9-A和Armv8-M提供了安全软件的参考实现…...

信创办公–基于WPS的Word最佳实践系列 (图文环绕方式)

信创办公–基于WPS的Word最佳实践系列 &#xff08;图文环绕方式&#xff09; 目录 应用背景操作步骤1、 打开布局选项中图文环绕方式的方法2、 图文环绕三大类型 应用背景 在Word中&#xff0c;对文字和图片进行排版时&#xff0c;采用各种不同的图片与文字组合效果能够使页面…...

Naive UI数据表格分页pageCount配置没效果

吐槽&#xff1a;因为naive-ui是基于vue3&#xff0c;所以目前的组件资料是少之又少啊&#xff0c;虽然好用&#xff0c;但感觉没有特别的普及。 背景&#xff1a;记得1年前我第一次碰到了这个问题&#xff0c;在列表里使用:pagination分页&#xff0c;怎么都不显示页码&#…...

Kibana Discover数据查询

步骤1&#xff1a;打开管理页面(Management) 步骤2&#xff1a; 因为前面的章节导入航班数据的时候&#xff0c;自动创建了一个名字叫kibana_sample_data_flights的航班数据索引&#xff0c;如果我们只想搜索kibana_sample_data_flights索引的数据&#xff0c;则不需要通配符&…...

笔记 | 编程经验谈:如何正确的使用内存

笔记 | 编程经验谈:如何正确的使用内存 首先我们要了解内存的分配方式。一般来说,内存的分配方式有三种: 1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 2.在栈上创建。在执行函数时,函数内…...

C语言入门-1.1 C语言概述

想要学好一门计算机编程语言&#xff0c;就和谈一个女朋友是一样的&#xff0c;需要对其深入了解。 1、计算机语言 &#xff08;1&#xff09;什么是计算机语言&#xff1f; 顾名思义&#xff0c;就是计算机之间交流的语言&#xff0c;就和人一样&#xff0c;咱们都是使用普通…...

周记之学习总结

你在人群中看到的每一个耀眼的女孩&#xff0c;都是踩着刀尖过来的。你如履平地般地舒适坦然&#xff0c;当然不配拥有任何光芒&#xff1b; 10.11-10.12 思来想去还是不舍得&#xff0c;搞了一下这个jwt&#xff0c;看了很多视频和博客&#xff0c;一直没看懂&#xff0c;两…...

程序设计:C++ 一个可以放入共享内存的string模板

共享内存由于是多进程共享的&#xff0c;里面的数据不适合包含指针&#xff0c;因为共享内存在不同进程里的地址并不相同。尽管可以在连接共享内存时指定连接地址&#xff0c;但是&#xff0c;这样做限制太多&#xff1a; 不同硬件、系统这个地址可能不一样&#xff0c;没有通…...

【EI会议征稿】第三届应用力学与先进材料国际学术会议(ICAMAM 2024)

第三届应用力学与先进材料国际学术会议&#xff08;ICAMAM 2024&#xff09; 2024 3rd International Conference on Applied Mechanics and Advanced Materials&#xff08;ICAMAM 2024&#xff09; 第三届应用力学与先进材料国际学术会议&#xff08;ICAMAM 2024&#xff09…...

Python -- I/O编程

文章目录 一、文件读写1. 读文件2. 二进制文件3. 字符编码4. 写文件 二、StringIO和BytesIO三、操作文件和目录1. 操作系统命令2. 操作文件 四、序列化五、 JSON六、异步IO1. 协程2. asyncioasync/awaitaiohttp 一、文件读写 Python内置了读写文件的函数&#xff0c;用法和C是…...

langchain入门指南和实战

简单介绍 LangChain 是一个开源的语言模型集成框架&#xff0c;旨在简化使用大型语言模型&#xff08;LLM&#xff09;创建应用程序的过程。 利用它可以让开发者使用语言模型来实现各种复杂的任务&#xff0c;例如文本到图像的生成、文档问答、聊天机器人、 调用特定的SaaS服务…...

群晖synology DSM 7.2设置钉钉Webhooks通知

现在越来越多的小伙伴都有了自己的Nas系统&#xff0c;为了更加方便的接收Nas的消息&#xff0c;这篇文章带着大家一起配置一个钉钉&#xff08;机器人&#xff09;即时消息通知 首先登录钉钉的开放平台&#xff1a;开发者后台统一登录 - 钉钉统一身份认证 1.创建一个机器人&…...

STP生成树协议详解

一、STP作用 如果链路断开或节点故障&#xff0c;那么互联的设备就无法正常通信了&#xff0c;这类网络问题叫做单点故障。没有备份的链路或节点&#xff0c;出现故障会直接断网。如果要提供 724 小时不间断的服务&#xff0c;那就需要在网络中提前部署冗余。避免出现单点故障…...

CentOS 6/7/8 操作系统镜像下载

CentOS Mirrors List ​编辑 DownloadAbout About CentOS Frequently Asked Questions (FAQs) Special Interest Groups (SIGs) CentOS Variants Governance Community Contribute Forums Mailing Lists IRC Calendar & IRC Meeting List Planet Submit a Bug Stories Doc…...

中国社科院与美国杜兰大学金融管理硕士---不将就的人生

“万般皆下品&#xff0c;惟有读书高”、“书中自有颜如玉&#xff0c;书中自有黄金屋”&#xff0c;古往今来&#xff0c;读书的好处为人们所重视。从而想拿到学历没有知识的沉淀&#xff0c;没有一定的学识水平&#xff0c;又怎么能拿到含金量颇高的学历呢&#xff1f;退一步…...

教程更新 | 持续开源 RK3568驱动指南-驱动基础进阶篇

《iTOP-RK3568开发板驱动开发指南》手册文档更新&#xff0c;手册内容对应视频教程&#xff0c;后续资料会不断更新&#xff0c;不断完善&#xff0c;帮助用户快速入门&#xff0c;大大提升研发速度。 ✦ 第一篇 驱动基础 第1章 前言 第2章 你好&#xff01;内核源码 第3章 …...

Jmeter测试关联接口

Jmeter用于接口测试时&#xff0c;后一个接口经常需要用到前一次接口返回的结果&#xff0c;本文主要介绍jmeter通过正则表达式提取器来实现接口关联的方式&#xff0c;可供参考。 一、实例场景&#xff1a; 有如下两个接口&#xff0c;通过正则表达式提取器&#xff0c;将第一…...

C++之基于Winsock2封装UDPServer与UDPClient

文章目录 Socket过程UDPServer.hUDPServer.cppUDPClient.hUDPClient.cppmain.cppCMakeLists.txt测试截图 Socket过程 UDPServer UDPClient UDPServer.h #ifndef UDPSERVER_H_INCLUDED #define UDPSERVER_H_INCLUDED#include <iostream> #include <string> #inclu…...

coze-loop常见问题解决:页面打不开、优化无响应怎么办?

coze-loop常见问题解决&#xff1a;页面打不开、优化无响应怎么办&#xff1f; 1. 问题概述&#xff1a;为什么我的coze-loop无法正常工作&#xff1f; 当你兴冲冲地部署好coze-loop&#xff0c;准备体验AI代码优化时&#xff0c;却遇到了页面打不开或者优化无响应的情况&…...

电磁 + 散热 + 电路全仿真,看懂新版 ANSYS 2025 详细下载安装教程附安装包

ANSYS Electronics 2025 R1 就是电子行业的 “全能仿真神器” &#xff0c;不管是做手机射频、汽车电机、电脑 PCB 板&#xff0c;还是芯片、5G 基站&#xff0c;只要涉及 “电磁、散热、电路” 相关的设计&#xff0c;用它就能提前模拟效果&#xff0c;不用反复做物理样机&…...

XUnity.AutoTranslator:Unity游戏实时翻译插件的完整配置指南

XUnity.AutoTranslator&#xff1a;Unity游戏实时翻译插件的完整配置指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾因为语言障碍而错过了许多优秀的Unity游戏&#xff1f;XUnity.AutoTrans…...

CSS Grid布局完全指南:构建复杂的响应式布局

CSS Grid布局完全指南&#xff1a;构建复杂的响应式布局 引言 CSS Grid布局是CSS中最强大的布局系统之一&#xff0c;它允许我们创建二维布局&#xff0c;同时控制行和列。CSS Grid的出现彻底改变了Web布局的方式&#xff0c;使我们能够更加灵活、直观地构建复杂的页面结构。本…...

故障仿真与数据驱动融合高速列车轴箱轴承故障识别【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导&#xff0c;毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;查看文章底部二维码&#xff08;1&#xff09;刚柔耦合转向架-轴承多体动力学仿真平台构建&#…...

macOS--brewhome安装镜像

很快&#xff01;咱们给 Homebrew 换成中科大&#xff08;USTC&#xff09;或者阿里的镜像源&#xff0c;这就相当于把“出国路”换成“高速路”。第一步&#xff1a;一键换源&#xff08;直接复制粘贴&#xff09;别关终端&#xff0c;直接把下面这一串命令全部复制&#xff0…...

Shark007 Advanced Codecs

链接&#xff1a;https://pan.quark.cn/s/1ae881a46e4b在版本18中首次推出&#xff0c;结合了ADVANCED和STANDARD版任何“电影和电视应用程序”无法播放的内容&#xff0c;都可以在WMP中使用Shark编解码器播放。 您只需要勾选框&#xff0c;[x] WMP建议的设置。 Windows Media …...

突破JavaScript性能瓶颈:Immutable.js不可变数据结构的终极指南

突破JavaScript性能瓶颈&#xff1a;Immutable.js不可变数据结构的终极指南 【免费下载链接】immutable-js Immutable persistent data collections for Javascript which increase efficiency and simplicity. 项目地址: https://gitcode.com/gh_mirrors/im/immutable-js …...

【AI加持】基于PyQt5+YOLOv8+DeepSeek的老鼠检测系统(详细介绍)

文章目录一&#xff0e;前言二&#xff0e;核心技术&知识1.PyQt52.YOLOv83.DeepSeek4.CSV5.多线程6.关于老鼠1.传播疾病2.污染食物与生活环境3.破坏建筑与设施4.损害农作物与食品库存5.影响公共卫生与心理健康6.竞争生态资源、影响生态平衡三&#xff0e;核心功能1.登录注册…...

PvZ Toolkit:内存注入技术与游戏逆向工程的完美融合

PvZ Toolkit&#xff1a;内存注入技术与游戏逆向工程的完美融合 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 当我们回顾经典游戏《植物大战僵尸》时&#xff0c;总会想起那些充满策略性的关卡设…...