又是一款刚需神器,付费?不存在的

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 天计划!

老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

代码获取方式

识别文末二维码,回复:豆豆

以上是关于又是一款刚需神器,付费?不存在的的主要内容,如果未能解决你的问题,请参考以下文章

匿名如何催生出人们对在线形象付费的意愿?

AMTEmu:一款adobe软件破解神器

一款开源的截图神器,支持 macOS/Windows/Linux

50 万开发者不愿付费使用,Python 代码补全神器 Kite 失败!

iOS观影神器来了!收费,不存在的!

程序员文档编辑神器typora