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)}"}