A web application that extracts content from PDF and PowerPoint files using a Python Flask backend and HTML/JavaScript frontend.
- File Upload: Drag & drop interface for PDF and PowerPoint files
- Content Extraction: Extracts text, pages, slides, and speaker notes
- Multiple Export Formats: JSON, Markdown, or plain text
- Real-time Processing: Immediate feedback during file processing
- Fallback Processing: Client-side demo processing if backend is unavailable
pip install -r requirements.txt-
Start the Backend Server:
python app.py
The server will run on
http://localhost:5000 -
Open the Frontend:
- Open
index.htmlin your web browser, or - Navigate to
http://localhost:5000/if you want to serve it through Flask
- Open
/upload- Handles file uploads and processes them immediately/process- Processes uploaded files (currently returns success status)/download/<filename>- Downloads processed files (placeholder implementation)
- Drag & Drop Interface: Modern, responsive UI for file uploads
- Real-time Processing: Shows progress and results immediately
- Format Selection: Choose output format (JSON, Markdown, Text)
- Download Options: Download results in your preferred format
- PDF: Extracts text from all pages using pdfplumber
- PowerPoint: Extracts text from slides and speaker notes
{
"file_type": "PDF|PowerPoint",
"file_name": "filename.ext",
"full_text": "Complete extracted text",
"pages": [...], // For PDFs
"slides": [...] // For PowerPoint
}Frontend (HTML/JS) ←→ Backend (Flask)
↓
File Processing
↓
Content Extraction
↓
JSON Response
- Backend not running: Frontend will fall back to demo processing
- File upload errors: Check file type and size
- Processing errors: Check console for detailed error messages
- Backend: Modify
app.pyto add new routes or processing logic - Frontend: Edit
index.htmlto change the UI or add features - File Processing: Extend the
LectureScraperclass inapp.py
- Files are processed in memory and cleaned up after processing
- The system currently doesn't persist processed files
- Download functionality creates files on-the-fly from processed content