A comprehensive PDF editing tool with dark mode conversion and advanced editing capabilities.
- Dark Mode Conversion: Convert PDFs to dark theme (black background, white text)
- Page Manipulation: Rotate, delete, reorder pages
- Text Operations: Add, replace, highlight text
- Image Operations: Insert and manipulate images
- Batch Processing: Process multiple files
- Rich CLI: Beautiful command-line interface with progress bars
- Configuration Management: Flexible YAML-based configuration
- Install system dependencies:
macOS:
brew install popplerUbuntu/Debian:
sudo apt-get install poppler-utilsWindows: Download and install poppler from poppler releases
- Install Python dependencies:
pip install -r requirements.txt
pip install -e .python main.py dark-mode input.pdf output_dark.pdf --dpi 300 --quality 95python main.py rotate input.pdf output.pdf --page 0 --angle 90python main.py add-text input.pdf output.pdf --page 0 --text "Hello World" --x 100 --y 100python main.py delete-pages input.pdf output.pdf --pages "0,2,5"python main.py info input.pdfpython main.py config-show
python main.py config-set dpi 200For simple dark mode conversion, you can still use the original command:
python init.py input.pdf output_dark.pdfdarker-pdf/
├── src/pdf_editor/ # Main package
│ ├── core/ # Core classes and abstractions
│ ├── operations/ # PDF editing operations
│ ├── cli/ # Command-line interface
│ ├── utils/ # Utilities (logging, validation)
│ └── config/ # Configuration management
├── tests/ # Test suite
├── docs/ # Documentation
├── examples/ # Usage examples
└── init.py # Legacy dark mode converter
pytestblack src/ tests/
ruff check src/ tests/
mypy src/The tool uses YAML configuration files. Create ~/.pdf_editor_config.yaml:
dpi: 300
quality: 95
compression: true
output_dir: "./output"
backup_enabled: true
log_level: "INFO"See docs/roadmap.md for the complete development plan.
- Modular project structure
- Configuration management
- Logging system
- Rich CLI interface
- Error handling and validation
- Enhanced text operations
- Advanced page manipulation
- Image processing
- Batch operations
- OCR integration
- Form operations
- Security features
- Annotation system
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
MIT License - see LICENSE file for details.