用python將pdf轉(zhuǎn)化為有聲讀物
現(xiàn)在看小說已經(jīng)有了聽書這個功能了,但是有時候你想看的書的聽書功能收費,這時候可能大家就只能老老實實選擇看或者付費聽。

(還能拿來練英語聽力欸嘿嘿)
于是我想到,可不可以用python來實現(xiàn)語言播報呢,說干就干,通過上網(wǎng)搜索,發(fā)現(xiàn)python中pyttsx3這個模塊可以實現(xiàn)語音播報,而pdfplumber或PyPDF2模塊實現(xiàn)pdf轉(zhuǎn)化為文字,我采用的是pdfplumber這個模塊。
首先我們先下載模塊,可以自己pip install 模塊名,或者通過清華源下載(會更快)
清華源地址:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
然后我們將所需要的pdf文件添加到代碼同一個文件夾下(方便調(diào)用,也可以使用絕對路徑)
代碼
# @Time:2022/2/120:29
# @Author:中意灬
# @File:有聲讀物.py
# @ps:tutu qqnum:2117472285
import pyttsx3
import pdfplumber
pdf=pdfplumber.open(input('請輸入書名:'))
pg_no=int(input("請輸入你想從第幾頁讀著走:"))
#總頁數(shù)
numpages=len(pdf.pages)
for num in range((pg_no-1),numpages):
#獲取指定文章頁數(shù)位置的內(nèi)容
first_page=pdf.pages[num]
#獲取文本內(nèi)容
text=first_page.extract_text()
#初始化
speaker=pyttsx3.init()
#去掉文章中的換行符
text=text.replace('\n','')
#調(diào)整人聲類型,voice[0]為中文女聲,可自己切換其他的,但注意英文女聲無法讀取中文
voices=speaker.getProperty('voices')
speaker.setProperty('voice',voices[0].id)
#調(diào)整語速
rate=speaker.getProperty('rate')
speaker.setProperty('rate',150)
#調(diào)整音量,單位為0-1
volume=speaker.getProperty('volume')
speaker.setProperty('volume',1)#欸嘿,我沒調(diào)
#讀
speaker.say(text)
#保存音頻
# speaker.save_to_file(text, 'T1.mp3')
speaker.runAndWait()運行結(jié)果:

![]()
無法上傳音頻,所以大家聽不到了,就是機械女生的聲音,沒啥好聽的

但是大家可以自己下載語言包,下載自己喜歡的語言包,比如甜美彎彎腔。
到此這篇關(guān)于用python將pdf轉(zhuǎn)化為有聲讀物的文章就介紹到這了,更多相關(guān)python pdf轉(zhuǎn)為mp3內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pytorch中節(jié)約顯卡內(nèi)存的方法和技巧
顯存不足是很多人感到頭疼的問題,畢竟能擁有大量顯存的實驗室還是少數(shù),而現(xiàn)在的模型已經(jīng)越跑越大,模型參數(shù)量和數(shù)據(jù)集也越來越大,所以這篇文章給大家總結(jié)了一些pytorch中節(jié)約顯卡內(nèi)存的方法和技巧,需要的朋友可以參考下2023-11-11
python使用collections模塊的容器數(shù)據(jù)類型高效處理數(shù)據(jù)
這篇文章主要為大家介紹了python使用collections模塊的容器數(shù)據(jù)類型高效處理數(shù)據(jù)的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
Python獲取中國節(jié)假日數(shù)據(jù)記錄入JSON文件
項目系統(tǒng)內(nèi)置的日歷應(yīng)用為了提升用戶體驗,特別設(shè)置了在調(diào)休日期顯示“休”的UI圖標功能,那么問題是這些調(diào)休數(shù)據(jù)從哪里來呢?我嘗試一種更為智能的方法:Python獲取中國節(jié)假日數(shù)據(jù)記錄入JSON文件2025-04-04
Python內(nèi)置函數(shù)hex()的實現(xiàn)示例
這篇文章主要介紹了Python內(nèi)置函數(shù)hex()的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Django集成Redis數(shù)據(jù)庫的操作指南
本文將詳細介紹如何在 Django 項目中集成 Redis 數(shù)據(jù)庫,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
python實現(xiàn)linux下使用xcopy的方法
這篇文章主要介紹了python實現(xiàn)linux下使用xcopy的方法,可實現(xiàn)模仿windows下的xcopy命令功能,需要的朋友可以參考下2015-06-06

