又是一款刚需神器,付费?不存在的
Posted 微笑很纯洁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了又是一款刚需神器,付费?不存在的相关的知识,希望对你有一定的参考价值。
文 | 豆豆
来源:Python 技术「ID: pythonall」
类似得到电子书或者樊登读书会等平台,现在都可以直接听书了,而且声音方面听起来非常舒服,但无一例外,这些平台都需要购买会员,作为技术人的我简直不能忍,于是尝试自己动手丰衣足食。
既然要将电子书转换为语音文件,那么第一步要解决的问题就是将电子书中的文字解析出来,这个可以用 pdfplumber 库来解决。
安装
pip3 install pdfplumber
读取 PDF 内容
Python 之所以强大就是因为有很多各种各样的库给你用,读取 PDF 内容只需三行代码即可搞定,刚好手里有本「欺骗的艺术」一起来看看。
重点看第四页的内容即可,接下来就直接用 pdfplumber 来读取第四页内容。
with pdfplumber.open("欺骗的艺术.pdf") as pdf:
page = pdf.pages[3]
text = page.extract_text()
print(text)
看下输出日志:
从日志中可以看出转换还是相当精准的。
文字转音频
文字转音频是使用的 pyttsx3 库,直接安装使用即可。
pip3 install pyttsx3
正式转换之前呢先做一个简单的测试,看看是否可以正确将文字朗读出来。
import pyttsx3
def read_by_mp3(text):
engine = pyttsx3.init() # 初始化语音引擎
text = text.replace('\\n', '') # 去掉换行符
engine.say(text) # 读文本
engine.runAndWait()
if __name__ == '__main__':
read_by_mp3('一些黑客毁坏别人的文件甚至整个硬盘,他们被称为电脑狂人')
该函数会直接将文本内容读出来,当然你也可以选择下载保存音频文件到本地。
import pyttsx3
def read_by_mp3(text):
engine = pyttsx3.init() # 初始化语音引擎
text = text.replace('\\n', '') # 去掉换行符
engine.save_to_file(text, 'text.mp3') # 保存音频文件到本地
engine.runAndWait()
效果如下:
音频整体听起来还是非常流畅的,只是少了些许感情,剩下的流程派森酱就不再赘述啦,无非就是获取到 PDF 所有的内容,然后调用 read_by_mp3 函数就可以啦。
总结
今天派森酱带领大家试着通过语音朗读的方式来读取 PDF 内容,整体流程已经跑通,而且效果比较顺畅,商业化估计有点不够要求,但还是可以考虑做一些小工具的,毕竟免费嘛。
PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!
老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!
【代码获取方式】
识别文末二维码,回复:豆豆
以上是关于又是一款刚需神器,付费?不存在的的主要内容,如果未能解决你的问题,请参考以下文章
一款开源的截图神器,支持 macOS/Windows/Linux