File size: 563 Bytes
785fe24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from fastapi import FastAPI, File, UploadFile
import fitz  # PyMuPDF
import uvicorn

app = FastAPI()

@app.post("/extract-text")
async def extract_text(file: UploadFile = File(...)):
    try:
        contents = await file.read()
        doc = fitz.open(stream=contents, filetype="pdf")

        extracted_text = ""
        for i, page in enumerate(doc):
            extracted_text += f"\n\n--- Page {i + 1} ---\n\n" + page.get_text()

        return {"filename": file.filename, "text": extracted_text}

    except Exception as e:
        return {"error": str(e)}