Spaces:
Sleeping
Sleeping
# app.py | |
import gradio as gr | |
from ALNISF import process_pdf as process_alnisf | |
from federal_electric import process_pdf as process_federal_electric | |
from bhel import process_pdf as process_bhel | |
def process_file(pdf_file, extractor): | |
try: | |
if extractor == "ALNISF": | |
return process_alnisf(pdf_file) | |
elif extractor == "Federal Electric": | |
return process_federal_electric(pdf_file) | |
elif extractor == "BHEL": | |
return process_bhel(pdf_file) | |
else: | |
return None, "Invalid extractor selected." | |
except Exception as e: | |
return None, f"An error occurred: {str(e)}" | |
def create_main_interface(): | |
return gr.Interface( | |
fn=process_file, | |
inputs=[ | |
gr.File(label="Upload PDF", file_types=[".pdf"]), | |
gr.Radio( | |
["ALNISF", "Federal Electric", "BHEL"], | |
label="Select Extractor", | |
value="ALNISF" | |
), | |
], | |
outputs=[ | |
gr.File(label="Download Extracted Data"), | |
gr.Textbox(label="Status"), | |
], | |
title="UC3 Unified PO Data Extraction", | |
description="Upload a Purchase Order PDF and select the extractor (ALNISF, Federal Electric, BHEL) to process the file and download the extracted data.", | |
) | |
if __name__ == "__main__": | |
interface = create_main_interface() | |
interface.launch() | |