import gradio as gr import pdf2speech from gtts import gTTS from tempfile import NamedTemporaryFile import os def convert_pdf_to_speech(pdf_file): text = pdf2speech.extract_text_from_pdf(pdf_file.name) tts = gTTS(text=text, lang='en') audio_file = NamedTemporaryFile(suffix=".mp3", delete=False) tts.save(audio_file.name) audio_file.close() return audio_file.name def pdf_to_speech(pdf_file): audio_file_path = convert_pdf_to_speech(pdf_file) return audio_file_path def main(): pdf_input = gr.inputs.File(label="Upload PDF", type="file") audio_output = gr.outputs.Audio(label="Generated Audio") iface = gr.Interface(fn=pdf_to_speech, inputs=pdf_input, outputs=audio_output, title="PDF to Speech Converter") iface.launch() if __name__ == "__main__": main()