今天不想看文档了,搞了个简易版本的朗读PDF程序,效果一般般,和microsoft自带的那个朗读功能一样。
需要安装pyttsx3和PyPDF2:
如需配置国内镜像源请参考:Pycharm配置镜像源(长期有效)_蓝多多的小仓库-CSDN博客
代码如下:
import pyttsx3,PyPDF2
# 打开需要读取的PDF
pdfreader = PyPDF2.PdfFileReader(open('../source/paper.pdf','rb'))
# 初始化获取语音引擎
speaker = pyttsx3.init()
for page_num in range(pdfreader.numPages):
# 从PDF中提取文本
text = pdfreader.getPage(page_num).extractText()
# 去掉文本中的换行符
cleaned_text = text.strip().replace('\n',' ')
# 调整人声类型
voices = speaker.getProperty('voices')
speaker.setProperty('voice', voices[1].id)
# 调整语速
rate = speaker.getProperty('rate')
speaker.setProperty('rate', 100)
# 调整声量
volume = speaker.getProperty('volume')
speaker.setProperty('volume', 0.8)
# 将格式为mp3的音频保存
speaker.save_to_file(cleaned_text,'../source/paper.mp3')
speaker.runAndWait()
speaker.stop()
结果(可以凑活听,效果一般):