import PyPDF3 import pyttsx3 import pdfplumber import os pdf_file_path = r"path_to_pdf_file.pdf" root, ext = os.path.splitext(pdf_file_path) output_audio_file = root + ".mp3" # get num of pages book = open(pdf_file_path, "rb") pdf_reader = PyPDF3.PdfFileReader(book) pages_num = pdf_reader.numPages # extract text from the textual file extracted_text = "" with pdfplumber.open(pdf_file_path) as pdf: for i in range(0, pages_num): page = pdf.pages[i] extracted_text += page.extract_text() # tts part engine = pyttsx3.init() engine.save_to_file(extracted_text, output_audio_file) engine.runAndWait()