一、示例的场景应用描述:
1、相当于微信公众号推送的文字内容的机器人阅读器。个人很喜欢微信的语音阅读功能。因为对于希望阅读但文字多的文章,读下来既费眼又费时!用语音阅读功能完全可以彻底地解放双眼!
2、可以将未掌握的英语词汇汇总制作为PDF文档。然后让标准语音人声读出来单词发音,助力英语词汇听说读写的学习。
二、示例完整代码:
import pyttsx3
import PyPDF2
def extract_text(filename):
pdfFileObj = open(filename, "rb")
pdfReader = PyPDF2.PdfReader(pdfFileObj)
mytext = ""
for pageNum in range(len(pdfReader.pages)):
pageObj = pdfReader.pages[pageNum]
mytext += pageObj.extract_text()
pdfFileObj.close()
return mytext
def speak_text(text):
engine = pyttsx3.init()
engine.setProperty('rate', 150)
engine.setProperty('voice', 'zh+m7')
engine.say(text)
engine.runAndWait()
if __name__ == "__main__":
text = extract_text("E://计算机科学速成课//15. 阿兰·图灵-Alan Turing.pdf")
speak_text(text)
三、主要函数的解读:
函数extract_text()完成了提取PDF文档中的文本内容。函数speak_text()首先通过调用pyttsx3库的初始化方法,生成了语音引擎对象engine,于是调用了设置属性的方法,分别设置了阅读速率、汉语女声的属性。