Spaces:
Running
Running
import os | |
os.system("pip install PyMuPDF") | |
import gradio as gr | |
import fitz # PyMuPDF | |
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] | |
# Aquí iría la lógica para convertir el texto del PDF a XML | |
# Por ejemplo, puedes usar una librería como lxml para construir un XML | |
# Por ahora, simplemente devolveré el texto del PDF | |
return pdf_text | |
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) | |