欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

用python将pdf转化为有声读物

时间:2022-06-10 08:26:49|栏目:Python代码|点击:

现在看小说已经有了听书这个功能了,但是有时候你想看的书的听书功能收费,这时候可能大家就只能老老实实选择看或者付费听。

(还能拿来练英语听力欸嘿嘿) 

于是我想到,可不可以用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()

运行结果:

 无法上传音频,所以大家听不到了,就是机械女生的声音,没啥好听的

 但是大家可以自己下载语言包,下载自己喜欢的语言包,比如甜美弯弯腔。

上一篇:python Protobuf定义消息类型知识点讲解

栏    目:Python代码

下一篇:Python单元测试框架unittest使用方法讲解

本文标题:用python将pdf转化为有声读物

本文地址:http://www.codeinn.net/misctech/204319.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有