Spaces:
Runtime error
Runtime error
File size: 1,395 Bytes
a7947af 78523c3 a7947af 454ae00 a7947af c5853b7 444e1e4 454ae00 ecd4ea7 a7947af 454ae00 b403db6 f748a22 c5853b7 f748a22 c5853b7 444e1e4 c5853b7 444e1e4 454ae00 444e1e4 6409e7a a800ed1 9ab3163 444e1e4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import os
os.system("pip install -r requirements.txt")
os.system("pip install PyMuPDF")
import gradio as gr
import fitz # PyMuPDF
import tempfile
def pdf_to_xml(pdf_file):
try:
# Verificar si se recibi贸 un archivo
if pdf_file is None:
raise ValueError("No se recibi贸 ning煤n archivo PDF.")
pdf_document = fitz.open(stream=pdf_file, filetype="pdf")
pdf_text = ""
for page in pdf_document:
pdf_text += page.get_text()
# Recortar el texto para evitar nombres de archivo muy largos
max_chars = 30 # Ajusta este valor seg煤n sea necesario
if len(pdf_text) > max_chars:
pdf_text = pdf_text[:max_chars]
# Crear un archivo temporal con extensi贸n .xml para almacenar el texto
temp_dir = tempfile.mkdtemp()
temp_file_path = os.path.join(temp_dir, "converted_text.xml")
with open(temp_file_path, "w") as temp_file:
temp_file.write(pdf_text)
# Devolver la ruta del archivo temporal
return temp_file_path
except Exception as e:
return f"Error al procesar el archivo: {str(e)}"
file_input = gr.File(type="binary", label="Selecciona un archivo PDF")
file_output = gr.File(type="filepath", label="Descargar archivo XML")
iface = gr.Interface(fn=pdf_to_xml, inputs=file_input, outputs=file_output)
iface.launch(share=True)
|