Excel to PDF converter optimized for Google NotebookLM analysis.
exc-to-pdf is a Python tool that converts Excel files (.xlsx) into PDF documents specifically optimized for AI analysis with Google NotebookLM. The tool preserves all data, maintains structure, and creates navigation-friendly PDFs that AI systems can effectively analyze.
pip install exc-to-pdf
# Clone the repository
git clone https://github.com/fulvian/exc-to-pdf.git
cd exc-to-pdf
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in development mode
pip install -e .
# Convert Excel to PDF
exc-to-pdf input.xlsx output.pdf
# With options
exc-to-pdf input.xlsx output.pdf --bookmarks --preserve-formatting
# Python module alternative
python -m exc_to_pdf input.xlsx output.pdf
from exc_to_pdf.excel_processor import ExcelProcessor
from exc_to_pdf.pdf_generator import PDFGenerator
# Process Excel file
processor = ExcelProcessor("input.xlsx")
sheets_data = processor.extract_all_sheets()
# Generate PDF
generator = PDFGenerator()
generator.create_pdf(sheets_data, "output.pdf")
pip install exc-to-pdfexc-to-pdf/
โโโ src/ # Source code
โ โโโ excel_processor.py # Excel reading logic
โ โโโ pdf_generator.py # PDF generation
โ โโโ table_detector.py # Table identification
โ โโโ main.py # CLI interface
โโโ tests/ # Test suite
โ โโโ unit/ # Unit tests
โ โโโ integration/ # Integration tests
โ โโโ fixtures/ # Test data
โโโ docs/ # Documentation
โ โโโ idee_fondanti/ # Foundational documents
โ โโโ api/ # API documentation
โโโ scripts/ # Utility scripts
โโโ requirements.txt # Dependencies
This project follows the DevStream 7-Step Workflow:
Phase: P1 - Project Foundation โ Next: P2 - Excel Processing Engine
See docs/idee_fondanti/piano_fondante_exc-to-pdf.md for complete development plan.
# Run all tests
pytest
# Run with coverage
pytest --cov=src
# Run specific test file
pytest tests/unit/test_excel_processor.py
Excel File โ openpyxl parsing โ pandas processing โ reportlab rendering โ PDF Output
The PDF output is specifically designed for AI analysis:
MIT License - see LICENSE file for details.
Built with โค๏ธ using DevStream framework