用python将pdf转化为有声读物
作者:中意灬 时间:2021-02-02 10:06:46
现在看小说已经有了听书这个功能了,但是有时候你想看的书的听书功能收费,这时候可能大家就只能老老实实选择看或者付费听。
(还能拿来练英语听力欸嘿嘿)
于是我想到,可不可以用python来实现语言播报呢,说干就干,通过上网搜索,发现python中pyttsx3这个模块可以实现语音播报,而pdfplumber或PyPDF2模块实现pdf转化为文字,我采用的是pdfplumber这个模块。
首先我们先下载模块,可以自己pip install 模块名,或者通过清华源下载(会更快)
清华源地址:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
然后我们将所需要的pdf文件添加到代码同一个文件夹下(方便调用,也可以使用绝对路径)
代码
# @Time:2022/2/120:29
# @Author:中意灬
# @File:有声读物.py
# @ps:tutu qqnum:2117472285
import pyttsx3
import pdfplumber
pdf=pdfplumber.open(input('请输入书名:'))
pg_no=int(input("请输入你想从第几页读着走:"))
#总页数
numpages=len(pdf.pages)
for num in range((pg_no-1),numpages):
#获取指定文章页数位置的内容
first_page=pdf.pages[num]
#获取文本内容
text=first_page.extract_text()
#初始化
speaker=pyttsx3.init()
#去掉文章中的换行符
text=text.replace('\n','')
#调整人声类型,voice[0]为中文女声,可自己切换其他的,但注意英文女声无法读取中文
voices=speaker.getProperty('voices')
speaker.setProperty('voice',voices[0].id)
#调整语速
rate=speaker.getProperty('rate')
speaker.setProperty('rate',150)
#调整音量,单位为0-1
volume=speaker.getProperty('volume')
speaker.setProperty('volume',1)#欸嘿,我没调
#读
speaker.say(text)
#保存音频
# speaker.save_to_file(text, 'T1.mp3')
speaker.runAndWait()
运行结果:
无法上传音频,所以大家听不到了,就是机械女生的声音,没啥好听的
但是大家可以自己下载语言包,下载自己喜欢的语言包,比如甜美弯弯腔。
来源:https://blog.csdn.net/qq_55977554/article/details/122891477
标签:Python,PDF,MP3
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python星号(*)和双星号(**) 函数动态参数匹配及解包操作方法
2023-04-09 19:55:03
用javascript实现的汉字简繁转换功能
2008-05-04 13:15:00
讲解数据库管理系统必须提供的基本服务
2009-01-04 14:33:00
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2023-10-13 13:15:13
python基于pyppeteer制作PDF文件
2021-09-28 20:56:24
![](https://img.aspxhome.com/file/2023/7/89077_0s.png)
Web 2.0 框架发布
2008-03-25 09:40:00
![](https://img.aspxhome.com/file/UploadPic/20083/25/200832595359766s.jpg)
关于鼠标、键盘的几个事件的例子
2008-07-27 17:00:00
Python绘制词云图之可视化神器pyecharts
2023-02-23 01:35:25
![](https://img.aspxhome.com/file/2023/9/69449_0s.png)
php session处理的定制
2023-11-15 18:38:12
PHP 巧用数组降低程序的时间复杂度
2023-11-15 09:40:02
长文章自动分页类
2008-09-10 12:11:00
Windows 7下Python Web环境搭建图文教程
2023-06-12 07:10:51
![](https://img.aspxhome.com/file/2023/7/71487_0s.png)
ORACLE客户端连接服务器的注意事项
2007-08-17 09:57:00
python 使用OpenCV进行简单的人像分割与合成
2021-06-16 20:46:39
![](https://img.aspxhome.com/file/2023/8/75128_0s.png)
Python实现多张图片合成一张马赛克图片
2022-02-15 21:09:46
![](https://img.aspxhome.com/file/2023/7/68287_0s.gif)
python语言元素知识点详解
2023-07-30 03:33:08
详解Python中datetime库的使用
2021-03-31 20:14:13
几个好用的Asp自定义函数
2007-09-26 14:28:00
在Dreamweaver MX中应用“占位图形”
2009-07-10 13:16:00
![](https://img.aspxhome.com/file/UploadPic/20072/200723113314790s.gif)
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2023-07-19 01:03:48
![](https://img.aspxhome.com/file/2023/5/55895_0s.jpg)