Armando117 commited on
Commit
549c321
1 Parent(s): 5f29ead

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -12
app.py CHANGED
@@ -6,29 +6,28 @@ 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
- page_number = int(page_number) # Asegurarse de que page_number sea un entero
25
  if page_number < 0 or page_number >= len(reader.pages):
26
  return "Número de página inválido. Por favor, elige una página válida."
27
 
28
  # Extraer texto de la página específica
29
  text = reader.pages[page_number].extract_text()
 
 
30
 
31
- # Convertir texto a audio y guardar en un archivo temporal
32
  with tempfile.NamedTemporaryFile(delete=False, suffix='.mp3') as temp_audio_file:
33
  tts = gTTS(text=text, lang='es')
34
  tts.save(temp_audio_file.name)
@@ -37,8 +36,7 @@ def convert_pdf_page_to_audio(pdf_file, page_number):
37
  return audio_file_path
38
 
39
  except Exception as e:
40
- return str(e)
41
-
42
  # Crear la interfaz de Gradio
43
  iface = gr.Interface(
44
  fn=convert_pdf_page_to_audio,
 
6
  import tempfile
7
 
8
  def convert_pdf_page_to_audio(pdf_file, page_number):
 
 
 
 
 
9
  try:
10
+ # Utilizar un contexto temporal para el archivo PDF
11
  with tempfile.NamedTemporaryFile(delete=False, suffix='.pdf') as temp_pdf_file:
12
+ # Escribir el contenido del archivo subido en el archivo temporal
13
+ temp_pdf_file.write(pdf_file["content"])
14
+ temp_pdf_file.flush() # Asegurarse de que todos los datos se escriban
15
  pdf_file_path = temp_pdf_file.name
16
 
17
  # Leer el PDF desde el archivo temporal
18
  reader = PyPDF2.PdfReader(pdf_file_path)
19
 
20
+ # Convertir page_number a entero y verificar si es válido
21
+ page_number = int(page_number)
22
  if page_number < 0 or page_number >= len(reader.pages):
23
  return "Número de página inválido. Por favor, elige una página válida."
24
 
25
  # Extraer texto de la página específica
26
  text = reader.pages[page_number].extract_text()
27
+ if not text:
28
+ return "No se pudo extraer texto de la página."
29
 
30
+ # Convertir texto a audio
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)
 
36
  return audio_file_path
37
 
38
  except Exception as e:
39
+ return f"Error: {str(e)}"
 
40
  # Crear la interfaz de Gradio
41
  iface = gr.Interface(
42
  fn=convert_pdf_page_to_audio,