原创 菜鸟哥 菜鸟学Python 2020-12-18
收录于话题
#趣味Python
105个
最近小编忙着给项目做文档,需要阅读大量的文献资料,长时间的阅读让本就不喜欢看书的我是又困又乏,所以想着,要是能有小姐姐在旁边读给我听该有多好。
说干就干,小编整理了一下思路,晚上熬夜花了几个小时就完成了整个小程序,一起来跟小编学习一下吧。
01
代码的构思
要完成该任务的设计,首先我们需要明确思路,整体的设计方案如下图所示:
上图中,我们首先需要实现的是将PDF文章中,我们想要提取的文字提取出来,然后再将提取的文本内容,通过小姐姐文本朗读转化为MP3文件,保存到本地当中。明确思路之后,接下来我们就来看一下程序是如何实现的吧。
02
文字提取
对于PDF文档中文字的提取,这里我们采用的是pdfplumber库进行提取,pdfplumber可以处理PDF中,包括文本、表格、格式在内的各种信息,小巧但是功能十分的强大。
但是需要注意版本的使用,这里我们使用的python3.5环境下的版本号为0.5.25的pdfplumber。对于文本的提取,其程序如下所示:
上述的程序中,我们首先打开pdf文件,并返回一个pdf的类对象,然后根据指定的pages数据,来提取指定页码的文本信息。我们来运行一下程序,看一下提取的结果如何吧。
上述的红框中,左侧的是程序提取的结果,而右侧是PDF的文本,通过提取的结果来看,pdfplumber能够准确的提取出PDF中的文本信息。
03
文本转语音
提取到文本信息之后,接下来就是将文本信息,转化为语音信息,并保存到本地,这里,小编采用了两种方式进行实现,第一种方式采用的是pyttsx3库进行转换,而另一种方式采用的则是百度AI进行实现。程序如下所示:
程序首先采用判断的方式,如果形参baidu == True
,则采用百度AI,否则就采用pyttsx3库。
对于百度AI的调用,想必大家都非常的熟悉,大家需要到百度的AI开发者平台,进行接口的申请,然后通过申请的信息来进行百度AI接口的调用。
对于pyttsx3库,首先需要初始化语音引擎,然后设置语音的声音类型、语速和音量的信息。就可以进行引擎的调用。
结果展示
以上就是对于程序部分的讲解,下面小编通过视频展示的方式来看一下程序的运行效果。
最后来听一下小姐姐阅读pdf,是什么感觉!有点酥麻!
用Python把pdf转小姐姐语音朗读来自菜鸟学Python00:0002:25
以上的内容就是小编今天为大家带来的分享,通过这样的处理,小编可以解放双眼,直接”听文档“,大家也赶快下载程序,一起学习起来吧!