File size: 859 Bytes
5e52bd7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import io
from fastapi import APIRouter, File, UploadFile
from pypdf import PdfReader
router = APIRouter()
@router.post("/upload-document")
async def upload_document(file: UploadFile = File(...)):
if not file.filename.lower().endswith(".pdf"):
return {"error": "Solo se admiten archivos PDF por ahora."}
try:
content = await file.read()
pdf_file = io.BytesIO(content)
reader = PdfReader(pdf_file)
extracted_text = ""
for page in reader.pages:
extracted_text += page.extract_text() + "\n"
return {
"filename": file.filename,
"text": extracted_text[:100000], # Limit to 100k chars for context
"length": len(extracted_text)
}
except Exception as e:
return {"error": f"Error al procesar el PDF: {str(e)}"}
|