拖放WORD文件朗读全文

ops/2024/9/23 4:23:45/

把WORD拖放到tkinter的窗口,就可以朗读整改word文件的内容。

代码:

# -*- coding: utf-8 -*-
"""
Created on Tue Sep 10 17:09:35 2024@author: YBK
"""
import pyttsx3
import comtypes.client
import os
import tkinter as tk
import windnd
from tkinter.messagebox import showinfodef get_file_extension(file_path):return os.path.splitext(file_path)[-1]def read_doc_file(file_path):# 创建一个Word应用程序对象word = comtypes.client.CreateObject('Word.Application')word.Visible = 0  # 不显示Word界面# 打开Word文档doc = word.Documents.Open(file_path)# 读取文档内容for paragraph in doc.Paragraphs:# 声明文本text = paragraph.Range.Text# 执行朗读engine.say(text)engine.runAndWait()# 关闭文档并退出Word应用程序doc.Close()word.Quit()def dragged_files(files):fileurl = ''if len(files) > 1:# 这里想使用os.path.splitext(fileurl)[1] == '.doc' 但发现wps也能朗读showinfo("提示","请拖放一个WORD文件!")else:print(files[0].decode('gbk'))fileurl = files[0].decode('gbk')read_doc_file(fileurl)if __name__ == '__main__':# 初始化tts引擎engine = pyttsx3.init()     # 设置声音对象voices = engine.getProperty('voices')engine.setProperty('voice', voices[0].id)  # 可以通过修改索引来更换声音     # 设置语速rate = engine.getProperty('rate')engine.setProperty('rate', 220)     # 设置音量volume = engine.getProperty('volume')engine.setProperty('volume', volume)rootWindow = tk.Tk()rootWindow.title("拖放WORD文件朗读全文")rootWindow.geometry("300x120")windnd.hook_dropfiles(rootWindow , func=dragged_files)rootWindow.mainloop()

要注意word文件没有被打开。


http://www.ppmy.cn/ops/110697.html

相关文章

初识c++:入门基础

打字不易,留个赞再走吧~~ 目录 一.第一个c程序二.命名空间 namespace三.C输⼊&输出四.缺省参数 C兼容C语⾔绝⼤多数的语法,所以C语⾔实现的hello world依旧可以运⾏,C中需要把定义⽂件 代码后缀改为.cpp 一.第一个c程序 做好准备我们来写…

干货 | Selenium+chrome自动批量下载地理空间数据云影像

1.背景介绍 1.1地理空间数据云 由中国科学院计算机网络信息中心科学数据中心成立的地理空间数据云平台是常见的下载空间数据的平台之一。其提供了较为完善的公开数据,如LANDSAT系列数据,MODIS的标准产品及其合成产品,DEM数据(SR…

SpringBoot框架下的房产销售系统开发

第一章 绪 论 1.1背景及意义 房产销售也都将通过计算机进行整体智能化操作,对于房产销售系统所牵扯的管理及数据保存都是非常多的,例如管理员;首页、个人中心、用户管理、销售经理管理、房源信息管理、房源类型管理、房子户型管理、交易订单管…

立足本土,面向全球 | 全视通闪耀亮相Medical Fair Asia新加坡医疗展

Medical Fair Asia是亚洲地区最大的医疗设备、医疗器械和医疗技术展览会之一,自1997年创办以来,每两年在新加坡举办一次。该展会不仅是新加坡医疗行业交流的龙头平台,也是亚洲乃至全球医疗企业和专业人士共聚一堂、展示最新产品和技术的重要舞…

WebShell流量特征检测_菜刀篇

什么是一句话木马? 1、定义 顾名思义就是执行恶意指令的木马,通过技术手段上传到指定服务器并可以正常访问,将我们需要服务器执行的命令上传并执行 2、特点 短小精悍,功能强大,隐蔽性非常好 3、举例 php一句话木…

‌汽车的舒适进入功能是什么意思?

移动管家汽车的舒适进入系统是指无钥匙进入功能,它允许驾驶者在距离车辆一定范围内自动感应解锁车辆,并具备无钥匙启动功能‌。舒适进入系统的核心优势包括: ‌智能化操作‌:无需传统钥匙,通过智能感应实现车门解锁和…

【Qt 编程入门】如何用 Qt 实现一个基本的计算器

前言 QT中实现一个简单的计算器是一个比较好的练手项目,下面是源码: Calculator计算器 设计界面 待实现的界面主要包含两个部分: 输入输出栏用户点击的按钮 输入输出栏通过QLabel类实现,而用户点击按钮通过QPushButton或QToo…

基于JavaWeb开发的java springboot+mybatis电影售票网站管理系统前台+后台设计和实现

基于JavaWeb开发的java springbootmybatis电影售票网站管理系统前台后台设计和实现 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获…