Spaces:
Runtime error
Runtime error
import gradio as gr | |
from doctr.io import DocumentFile | |
from doctr.models import ocr_predictor | |
# Cargar el modelo preentrenado | |
model = ocr_predictor(pretrained=True) | |
def process_file(file): | |
"""Procesa un archivo (PDF o imagen) con docTR y retorna el texto extraído.""" | |
if file is None: | |
return "Por favor, sube un archivo." | |
# Leer el archivo subido | |
doc = DocumentFile.from_pdf(file.name) if file.name.endswith('.pdf') else DocumentFile.from_images(file.name) | |
# Realizar OCR | |
result = model(doc) | |
# Extraer el texto y retornarlo | |
extracted_text = "\n".join([block['text'] for page in result.pages for block in page['blocks']]) | |
return extracted_text | |
# Configuración de la interfaz de Gradio | |
with gr.Blocks() as demo: | |
gr.Markdown("## OCR con docTR") | |
gr.Markdown("Sube un archivo PDF o una imagen para extraer texto utilizando un modelo preentrenado de docTR.") | |
with gr.Row(): | |
input_file = gr.File(label="Subir archivo (PDF o imagen)") | |
output_text = gr.Textbox(label="Texto extraído", lines=10) | |
process_button = gr.Button("Procesar archivo") | |
process_button.click(fn=process_file, inputs=[input_file], outputs=[output_text]) | |
# Ejecutar la app | |
if __name__ == "__main__": | |
demo.launch() | |