Armando117 commited on
Commit
f7bbca8
·
1 Parent(s): a0a3186

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -0
app.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import PyPDF2
2
+ from gtts import gTTS
3
+ import gradio as gr
4
+ import os
5
+
6
+ def convert_pdf_page_to_audio(pdf_file, page_number):
7
+ """
8
+ Extrae una página específica de un archivo PDF y la convierte en un archivo de audio MP3.
9
+
10
+ :param pdf_file: Archivo PDF subido.
11
+ :param page_number: Número de la página a extraer y convertir a audio.
12
+ """
13
+ try:
14
+ # Leer el PDF desde el archivo subido
15
+ reader = PyPDF2.PdfReader(pdf_file.name)
16
+
17
+ # Verificar si el número de página es válido
18
+ if page_number < 0 or page_number >= len(reader.pages):
19
+ return "Número de página inválido. Por favor, elige una página válida."
20
+
21
+ # Extraer texto de la página específica
22
+ text = reader.pages[page_number].extract_text()
23
+
24
+ # Convertir texto a audio
25
+ tts = gTTS(text=text, lang='es') # Cambiar 'es' a 'en' para inglés, por ejemplo
26
+ output_audio_path = '/tmp/output.mp3'
27
+ tts.save(output_audio_path)
28
+
29
+ return output_audio_path
30
+
31
+ except Exception as e:
32
+ return str(e)
33
+
34
+ # Crear la interfaz de Gradio
35
+ iface = gr.Interface(
36
+ fn=convert_pdf_page_to_audio,
37
+ inputs=[gr.File(type="file"), gr.Number(label="Número de Página")],
38
+ outputs=gr.Audio(type="file"),
39
+ title="Conversor de PDF a Audiobook",
40
+ description="Sube un archivo PDF y selecciona la página que deseas escuchar como audio."
41
+ )
42
+
43
+ iface.launch()