-
Notifications
You must be signed in to change notification settings - Fork 780
Expand file tree
/
Copy pathpdf_to_audiobook.py
More file actions
26 lines (20 loc) · 832 Bytes
/
pdf_to_audiobook.py
File metadata and controls
26 lines (20 loc) · 832 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Importing the required packages.
import PyPDF2
import pyttsx3
text = None
# Reading a PDF file from your computer by specifying the path and setting the read mode to binary.
pdf_reader = PyPDF2.PdfFileReader(open(r"D:\MyPdf.pdf", "rb"))
# Getting the handle to speaker i.e. creating a reference to pyttsx3.Engine instance.
speaker = pyttsx3.init()
# Splitting the PDF file into pages and reading one at a time.
for page_number in range(pdf_reader.numPages):
text = pdf_reader.getPage(page_number).extractText()
# Generating speech.
speaker.say(text)
speaker.runAndWait()
# Stopping the speaker after the complete audio has been created.
speaker.stop()
# Saving the audiobook to your computer.
engine = pyttsx3.init()
engine.save_to_file(text, r"D:\MyAudio.mp3")
engine.runAndWait()