import platform if platform.system() == "Windows": print("Windows detected. Assigning cache directory to Transformers in AppData\Local.") transformers_cache_directory = os.path.join(os.getenv('LOCALAPPDATA'), 'transformers_cache') if not os.path.exists(transformers_cache_directory): try: os.mkdir(transformers_cache_directory) print(f"First launch. Directory '{transformers_cache_directory}' created successfully.") except OSError as e: print(f"Error creating directory '{transformers_cache_directory}': {e}") else: print(f"Directory '{transformers_cache_directory}' already exists.") os.environ['TRANSFORMERS_CACHE'] = transformers_cache_directory print("Environment variable assigned.") del transformers_cache_directory else: print("Windows not detected. Assignment of Transformers cache directory not necessary.") import io import os from fastapi import FastAPI, File, HTTPException, UploadFile from fastapi.responses import JSONResponse from starlette.responses import FileResponse from starlette.middleware.cors import CORSMiddleware from PIL import Image from pdftoword import convertPDFtoWORD from model import inference app = FastAPI() origins = ["http://localhost:3000"] # Replace with your frontend origin URL app.add_middleware( CORSMiddleware, allow_origins=["*"], # Allows all origins allow_credentials=True, allow_methods=["*"], # Allows all methods allow_headers=["*"], # Allows all headers ) @app.post("/upload") async def extract_table_data(image: UploadFile = File(...)): # return f"table ocr is disabled 😔" try: # Read image data image_data = await image.read() # Open image in memory image = Image.open(io.BytesIO(image_data)) rgb_img = image.convert("RGB") rgb_img.save('output.jpg') image = Image.open('output.jpg') table_fram= inference(image) if table_fram.empty: return "