pdf-text-api / app.py
Rivalcoder
Add application file
785fe24
raw
history blame
563 Bytes
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)}