用python将pdf转化为有声读物

现在看小说已经有了听书这个功能了,但是有时候你想看的书的听书功能收费,这时候可能大家就只能老老实实选择看或者付费听。

(还能拿来练英语听力欸嘿嘿)

于是我想到,可不可以用python来实现语言播报呢,说干就干,通过上网搜索,发现python中pyttsx3这个模块可以实现语音播报,而pdfplumber或PyPDF2模块实现pdf转化为文字,我采用的是pdfplumber这个模块。

首先我们先下载模块,可以自己pip install 模块名,或者通过清华源下载(会更快)

清华源地址:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

然后我们将所需要的pdf文件添加到代码同一个文件夹下(方便调用,也可以使用绝对路径)

代码

# @Time:2022/2/120:29
# @Author:中意灬
# @File:有声读物.py
# @ps:tutu qqnum:2117472285
import pyttsx3
import pdfplumber
pdf=pdfplumber.open(input('请输入书名:'))
pg_no=int(input("请输入你想从第几页读着走:"))
#总页数
numpages=len(pdf.pages)
for num in range((pg_no-1),numpages):
    #获取指定文章页数位置的内容
    first_page=pdf.pages[num]
    #获取文本内容
    text=first_page.extract_text()
    #初始化
    speaker=pyttsx3.init()
    #去掉文章中的换行符
    text=text.replace('\n','')
    #调整人声类型,voice[0]为中文女声,可自己切换其他的,但注意英文女声无法读取中文
    voices=speaker.getProperty('voices')
    speaker.setProperty('voice',voices[0].id)
    #调整语速
    rate=speaker.getProperty('rate')
    speaker.setProperty('rate',150)
    #调整音量,单位为0-1
    volume=speaker.getProperty('volume')
    speaker.setProperty('volume',1)#欸嘿,我没调
    #读
    speaker.say(text)
    #保存音频
    # speaker.save_to_file(text, 'T1.mp3')
    speaker.runAndWait()

运行结果:

无法上传音频,所以大家听不到了,就是机械女生的声音,没啥好听的

但是大家可以自己下载语言包,下载自己喜欢的语言包,比如甜美弯弯腔。

到此这篇关于用python将pdf转化为有声读物的文章就介绍到这了,更多相关python pdf转为mp3内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python实现批量向PDF文件添加中文水印

    目录 前言 实现步骤 完整代码 前言 可以通过设置批量PDF文件所在的路径及需要添加的水印名称可以实现批量添加PDF水印的效果. 实现思路是这样的,通过在批量PDF文件路径下面生成一个带有水印的PDF模板.最后,将批量文件的每个PDF页面和水印模板进行合并完成批量添加水印的效果. 需要注意的是批量PDF文件必须和PDF模板水印文件的大小尺寸保持一致,这个可以在代码里面调节一下就成了. 实现步骤 首先将需要添加水印的PDF文件准备好放在一个文件夹下面. 在代码中设置好PDF批量文件的路径及水印名称

  • python为图片和PDF去水印详解

    目录 安装模块 获取图片的 RGB 图片去水印 PDF 去水印 图片转为 pdf 总结 网上下载的 pdf 学习资料有一些会带有水印,非常影响阅读.比如下面的图片就是在 pdf 文件上截取出来的. 安装模块 PIL:Python Imaging Library 是 python 上非常强大的图像处理标准库,但是只能支持 python 2.7,于是就有志愿者在 PIL 的基础上创建了支持 python 3的 pillow,并加入了一些新的特性. pip install pillow pymupdf

  • 用python将pdf转化为有声读物

    现在看小说已经有了听书这个功能了,但是有时候你想看的书的听书功能收费,这时候可能大家就只能老老实实选择看或者付费听. (还能拿来练英语听力欸嘿嘿) 于是我想到,可不可以用python来实现语言播报呢,说干就干,通过上网搜索,发现python中pyttsx3这个模块可以实现语音播报,而pdfplumber或PyPDF2模块实现pdf转化为文字,我采用的是pdfplumber这个模块. 首先我们先下载模块,可以自己pip install 模块名,或者通过清华源下载(会更快) 清华源地址:https:

  • Python实现pdf文档转txt的方法示例

    本文实例讲述了Python实现pdf文档转txt的方法.分享给大家供大家参考,具体如下: 首先,这是一个比较粗糙的版本,因为已经够用了,而且对pdf的格式不熟悉,所以暂时没有进一步优化. 还有,这是转成txt的,所以如果是有图片的pdf是无法保存图片的. 至于本来就是图片的文本,这里是无法分析出来的.那些图片的pdf,估计要用图形匹配的方式来处理,类似于超速拍摄的车牌识别. 不过这样的程度,已经不是文本处理了.扯远了... 转出来的文字,好像按照pdf里面的所展示的来换行了,看不到有什么规则还原

  • 如何使用Python进行PDF图片识别OCR

    使用场景 使用图片识别可以快速提取图片中的信息,方便高效. Python并不能直接对PDF进行识别,所以如果是识别PDF的话,需要先将PDF转化为图片,然后再进行识别. 必备工具 Python 可以安装3.7及以上版本 tesseract-ocr 下载地址: https://github.com/UB-Mannheim/tesseract/wiki 使用最新版本即可 需要用到的库 pip install pillow pip install opencv-python pip install f

  • 详解用Python把PDF转为Word方法总结

    先讲一下为啥要写这个文章,网上其实很多这种PDF转化的代码和软件.我一直想用Python做,但是网上搜到的代码很多都不能用,很多是2.7版本的代码,再就是PDF需要用到的库在导入的时候,很多的报错,解决起来特别费劲,而且自从2021年初以来,似乎网上很少有关PDF转化的代码出现了.我在研究了很多代码和pdfminer的用法后,总结了几个方法,目前这几种方法可以解决大多数格式的转化,后面我也专门放了提取PDF表格的代码,文末有高效的免费在线工具推荐. 下面这个是我最最推荐的方法 ,简单高效 ,只要

  • Python实现PDF扫描件生成DOCX或EXCEL功能

    目录 1.问题描述 2.实现流程 3.功能代码 3.1pdf转为图片 3.2表格图片文字识别到excel 4.案例说明 1.问题描述 应项目需求需要获取PDF扫描文件的内容,但寻遍整个网络能达到这种功能的产品,都要会员充值.苦于囊中羞涩也只好编写功能代码来实现了. 如PDF中表格图片图-1效果生成图-2 图-1 图-2 2.实现流程 整个步骤为:读取PDF文件->生成图片->ORC获取图片内容->写入Excel 3.功能代码 3.1 pdf转为图片 import fitz # pdf转为

  • Python实现小数转化为百分数的格式化输出方法示例

    本文实例讲述了Python实现小数转化为百分数的格式化输出方法.分享给大家供大家参考,具体如下: 比如将 0.1234 转化为 12.34% 的形式: rate = .1234 print('%.2f%%' % (rate * 100)) 第一个百分号和 .2f 相连,表示浮点数类型保留小数点后两位格式化输出: 然后的两个连续的%%,则最终会输出一个%号出来,有对%进行转义的含义: 将小数(数值)转化为字符串,并赋给其他变量: rate = .1 res = format(res, '.0%')

  • Python生成pdf文件的方法

    本文实例演示了Python生成pdf文件的方法,是比较实用的功能,主要包含2个文件.具体实现方法如下: pdf.py文件如下: #!/usr/bin/python from reportlab.pdfgen import canvas def hello(): c = canvas.Canvas("helloworld.pdf") c.drawString(100,100,"Hello,World") c.showPage() c.save() hello() di

  • 浅谈Python处理PDF的方法

    处理pdf文档 第一. 从文本中提取文本 第二. 创建PDF 两种方法 #使用PdfFileWriter import PyPDF2 pdfFiles = [] for filename in os.listdir('.'): if filename.endswith('.pdf'): pdfFiles.append(filename) print(pdfFiles) pdfWriter = PyPDF2.PdfFileWriter() pdfFileObj = open(pdfFiles[0]

  • 利用python将pdf输出为txt的实例讲解

    一个礼拜前一个同学问我这个事情,由于之前在参加华为的比赛,所以赛后看了一下,据说需要用到pdfminer这个包.于是安装了一下,安装过程很简单: sudo pip install pdfminer; 中间也没有任何的报错.至于如何调用,本人也没有很好的研究过pdfminer这个库,于是开始了百度-- 官方文档:http://www.unixuser.org/~euske/python/pdfminer/index.html 完全使用python编写. (适用于2.4或更新版本) 解析,分析,并转

  • python 把列表转化为字符串的方法

    如下所示: >>> list1=['ak','uk',4] >>> list2=[str(i) for i in list1] #使用列表推导式把列表中的单个元素全部转化为str类型 >>> list2 #查看转化后的列表 ['ak', 'uk', '4'] >>> list3=' '.join(list2) #把列表中的元素放在空串中,元素间用空格隔开 >>> list3 #查看生成的长串 'ak uk 4' 用p

随机推荐