Armando117 commited on
Commit
6649408
1 Parent(s): 7c675ea

Update app.py

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