JournalClubAssistant is an AI-powered tool that automatically converts academic papers (PDF) into structured PowerPoint presentations while maintaining technical accuracy and logical flow. It leverages OpenAI's GPT-4 for content analysis and generates comprehensive presentations with proper figure integration.
- Automatic extraction of paper structure and content
- Comprehensive figure analysis and integration
- Maintains technical accuracy and paper's logical flow
- Rich content summarization with evidence and implications
- Automatic PowerPoint generation with proper formatting
- Support for multi-panel figures and technical details
- Clone the repository:
git clone https://github.com/yourusername/JournalClubAssistant.git
cd pdf2ppt
- Create and activate a virtual environment:
python -m venv pdf2ppt
source pdf2ppt/bin/activate # On Windows: pdf2ppt\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
Create a
.env
file in the project root directory with the following content:
# OpenAI API Configuration
OPENAI_API_KEY=your_api_key_here
# Output Configuration (optional)
OUTPUT_DIR=output
FIGURE_DIR=output/figures
# Logging Configuration (optional)
LOG_LEVEL=INFO
Example project structure with .env:
pdf2ppt/
├── .env # Environment variables file
├── src/
│ ├── __init__.py
│ ├── content_analyzer.py
│ ├── document_processor.py
│ ├── figure_extractor.py
│ └── presentation_generator.py
├── output/
│ └── figures/
├── main.py
├── requirements.txt
└── README.md
Run the script with your PDF file:
python main.py
When prompted, enter the path to your PDF file or a URL. The script will:
- Extract figures from the PDF
- Analyze the paper's content and structure
- Generate a comprehensive PowerPoint presentation
- Save the presentation in the
output
directory
pdf2ppt/
├── src/
│ ├── __init__.py
│ ├── content_analyzer.py
│ ├── document_processor.py
│ ├── figure_extractor.py
│ └── presentation_generator.py
├── output/
│ └── figures/
├── main.py
├── requirements.txt
└── README.md
- Python 3.8+
- OpenAI API key
- Dependencies listed in requirements.txt:
- PyMuPDF
- opencv-python-headless
- python-pptx
- openai
- python-dotenv
- Pillow
- numpy
- Requires OpenAI API access and credits
- Processing time depends on paper length
- Figure extraction quality depends on PDF format
- May require manual verification for complex technical content
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for GPT-4 API
- PyMuPDF for PDF processing
- python-pptx for presentation generation
- All contributors and users of this project
If you use this tool in your research, please cite:
@software{JournalClubAssistant2024,
author = {Your Name},
title = {JournalClubAssistant: Academic Paper to Presentation Converter},
year = {2024},
url = {https://github.com/yourusername/pdf2ppt}
}