File size: 1,350 Bytes
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
import os
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)