用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內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: