# PDF Tools - ComfyUI Custom Node Package A comprehensive ComfyUI custom node collection for PDF processing with AI-powered analysis. ## 📢 Important Notice: Package Split The **download functionality has moved** to a separate package: - **PDF Tools** (this package): PDF extraction, OCR, AI vision processing - **[Download Tools](../download-tools/)** (new package): gallery-dl and yt-dlp downloaders If you need the download nodes (yt-dlp, gallery-dl), please install the **download-tools** package separately: ```powershell cd ComfyUI/custom_nodes/download-tools .\install.ps1 ``` Both packages work independently and can be installed together or separately. --- ## 🎉 Quick Start ### Just Moved to New Install? 1. **Check Installation:** ```powershell cd A:\Comfy25\ComfyUI_windows_portable powershell -ExecutionPolicy Bypass -File .\ComfyUI\custom_nodes\PDF_tools\check_install.ps1 ``` 2. **Install Dependencies:** - The check script will offer to install everything - Or manually run: `.\python_embeded\python.exe -m pip install -r .\ComfyUI\custom_nodes\PDF_tools\requirements.txt` 3. **Start ComfyUI:** - Run your normal startup script - Nodes will appear in the "Add Node" menu ## 📦 What's Included ### PDF Extraction Nodes - **PDF Extractor v08** - Advanced PDF image extraction with quality assessment and spread detection - **PDF Extractor v09** - Latest version with enhanced image processing - **PDF Extractor v05-v07** - Previous versions for compatibility - **Simple PDF Extractor** - Basic PDF extraction without advanced features ### OCR & Layout Analysis Nodes - **Surya OCR Layout Node** - State-of-the-art multilingual OCR with layout detection - **Surya Layout OCR Hybrid** - Combined layout analysis and text extraction - **Basic Surya** / **Basic Surya v02** - Simplified Surya OCR interfaces - **Enhanced Layout Parser v06** - Advanced document layout understanding - **LayoutLMv3 Node** - Microsoft LayoutLMv3 for document AI ### AI Vision & Detection Nodes - **Florence2 Rectangle Detector** - Microsoft Florence-2 for object detection and vision analysis - **Florence2 Cropper Node** - Crop images based on Florence-2 detections - **Eric Rectangle Detector** - Custom rectangle detection implementation ### Remote Processing Nodes - **PaddleOCR VL Remote** - Remote PaddleOCR processing for Chinese/multilingual documents ### Downloader Nodes (Moved) > **Note:** Download functionality has moved to the [download-tools](../download-tools/) package. > Install it separately if you need gallery-dl or yt-dlp downloaders. ## 🚀 Features ✅ **PDF Extraction** - Extract images from PDFs with quality scoring and duplicate detection ✅ **AI-Powered OCR** - Surya, PaddleOCR, LayoutLMv3 for accurate text extraction ✅ **Layout Analysis** - Understand document structure (headers, paragraphs, tables, figures) ✅ **Vision Models** - Florence-2 for object detection and image understanding ✅ **Spread Detection** - Automatically detect two-page spreads in scanned documents ✅ **Quality Assessment** - Evaluate image sharpness, contrast, and overall quality ✅ **Batch Processing** - Process multiple PDFs or images efficiently ✅ **GPU Acceleration** - Leverage CUDA for faster AI model inference ## 📚 Documentation - **[INSTALLATION_SUCCESS.md](INSTALLATION_SUCCESS.md)** - Installation complete? Read this! - **[INSTALLATION_GUIDE.md](INSTALLATION_GUIDE.md)** - Detailed setup instructions - **[CODE_OVERVIEW.md](CODE_OVERVIEW.md)** - Understanding the codebase - **[requirements.txt](requirements.txt)** - All Python dependencies ### Detailed Guides (in Docs/) - `gallery_dl_node_complete_guide.md` - Gallery-dl usage guide - `yt_dlp_node_complete_guide.md` - Yt-dlp usage guide - `SETUP_COMPLETE.md` - Authentication configuration - Test scripts for all features ## 🔧 Requirements ### Core Dependencies (Auto-installed) - PyMuPDF (fitz) - PDF processing - Pillow - Image processing - numpy - Array operations - opencv-python - Computer vision - transformers - AI models ### Downloader Tools (Auto-installed) - gallery-dl - Web media downloader - yt-dlp - Video/audio downloader - browser-cookie3 - Cookie extraction ### Optional - FFmpeg - For yt-dlp audio extraction (download separately) - Tesseract - For enhanced OCR (download separately) ## � Configuration Files **Important:** This repository uses **template config files** to protect your personal credentials. ### First Time Setup 1. Copy template files: `configs/*.example` → remove `.example` extension 2. Edit with your credentials (usernames, passwords, API keys) 3. Your personal configs are automatically excluded from Git See **[CONFIG_SETUP.md](CONFIG_SETUP.md)** for detailed instructions. Your personal configuration files (without `.example`) will **never** be committed to GitHub! 🔒 ## �💡 Quick Examples ### Download from Instagram ``` Node: Gallery-dl Downloader URL: https://www.instagram.com/username/ Output: ./instagram-downloads Enable: organize_files, use_download_archive ``` ### Download from YouTube ``` Node: Yt-dlp Downloader URL: https://www.youtube.com/watch?v=VIDEO_ID Format: best (or audio-only for music) Output: ./youtube-downloads ``` ### Extract PDF Pages ``` Node: PDF Extractor v08 Input: Your PDF file Output: ./pdf-output Enable: quality_assessment, spread_detection ``` ## 🔐 Authentication Many sites (Instagram, Reddit) require authentication: **Option 1: Browser Cookies** - Log into site in browser - Enable `use_browser_cookies` in node - Select browser (Firefox, Chrome, etc.) **Option 2: Export Cookies** - Install browser extension "Get cookies.txt LOCALLY" - Export cookies while logged in - Save to `configs/instagram_cookies.json` - Set `cookie_file` parameter ## 📁 Project Structure ``` PDF_tools/ ├── nodes/ # ComfyUI node implementations ├── florence2_scripts/ # Florence2 AI vision models ├── sam2_scripts/ # SAM2 segmentation models ├── configs/ # Authentication & config files ├── Docs/ # Comprehensive documentation └── [test directories] # Test output locations ``` ## ⚙️ System Requirements - Windows 10/11 (primary), Linux (should work) - Python 3.10+ (included with ComfyUI) - NVIDIA GPU with CUDA (recommended for AI models) - 8GB+ RAM (16GB+ for AI models) - 5-10GB storage for packages + models ## 🐛 Troubleshooting ### "gallery-dl not found" ✅ **Already installed!** Use: `.\python_embeded\python.exe -m gallery_dl` ### "Chrome cookies not accessible" 💡 **Solution:** Run ComfyUI as admin, or use Firefox, or export cookies ### "Instagram/Reddit downloads fail" 💡 **Solution:** Export cookies from logged-in browser session ### "CUDA out of memory" 💡 **Solution:** Close other GPU apps, reduce batch size, use smaller models See INSTALLATION_GUIDE.md for detailed troubleshooting. ## 🎯 Best Practices 1. **Use Download Archives** - Enable to avoid re-downloading 2. **Enable File Organization** - Keep downloads sorted by type 3. **Export Cookies for Private Content** - More reliable than browser cookies 4. **Start with Public URLs** - Test setup before authenticated downloads 5. **Monitor GPU Usage** - When using AI models ## 📝 Version Info - **Gallery-dl:** 1.30.9 ✅ - **Yt-dlp:** 2025.9.5 ✅ - **PyMuPDF:** 1.26.4 ✅ - **Transformers:** 4.55.0 ✅ - **Torch:** 2.7.1+cu128 ✅ ## 🤝 Contributing This is a working codebase! If you extend it: - Follow existing patterns - Add comprehensive error handling - Include debug output - Update documentation - Test with real data ## 📄 License Copyright (c) 2025 Eric Hiss. All rights reserved. This software is dual-licensed: - **Non-Commercial Use:** Licensed under [Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0)](http://creativecommons.org/licenses/by-nc/4.0/) - **Commercial Use:** Requires a separate commercial license. Contact: eric@historic.camera or eric@rollei.us See [LICENSE.md](LICENSE.md) for full licensing terms. ### Third-Party Dependencies This project relies on numerous open-source libraries, each with its own license. See [CREDITS.md](CREDITS.md) for a comprehensive list of all dependencies and their licenses. **Important License Notes:** - Some dependencies (gallery-dl, PyMuPDF) use GPL/AGPL licenses - Commercial use requires compliance with all dependency licenses - See CREDITS.md for detailed licensing information ## 👥 Contributing Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on: - Code style and standards - Testing requirements - Pull request process - Development setup ## 📧 Contact - **Author:** Eric Hiss - **GitHub:** [EricRollei](https://github.com/EricRollei) - **Email:** eric@historic.camera, eric@rollei.us ## 🙏 Acknowledgments Special thanks to: - The **ComfyUI** community for the amazing platform - **Hugging Face** for hosting models and providing ML tools - **Microsoft Research** for Florence-2 vision models - **Meta AI** for SAM2 (Segment Anything Model 2) - All open-source developers whose libraries make this project possible See [CREDITS.md](CREDITS.md) for detailed acknowledgments. ## 🎉 Getting Started 1. ✅ **Check installation:** Run `check_install.ps1` 2. ✅ **Read:** [INSTALLATION_SUCCESS.md](INSTALLATION_SUCCESS.md) 3. ✅ **Start ComfyUI:** Nodes will appear automatically 4. ✅ **Test:** Try a simple download 5. ✅ **Configure:** Set up authentication if needed --- **Ready to go!** All dependencies are installed. Read INSTALLATION_SUCCESS.md for next steps. ## 📚 Additional Documentation - [LICENSE.md](LICENSE.md) - Full license terms - [CREDITS.md](CREDITS.md) - Third-party libraries and acknowledgments - [CONTRIBUTING.md](CONTRIBUTING.md) - Contribution guidelines