План разработки PDF to EPUB Converter
Фаза 1: Фундамент (Foundation) — ЗАВЕРШЕНО ✅
- Создать
pdf_to_epub/core/utils.py(общие утилиты) - Создать
pdf_to_epub/core/text_segmenter.py(сегментация текста) - Создать
pdf_to_epub/validation/text_canonicalizer.py(нормализация текста) - Протестировать базовую сегментацию и канонизацию текста.
Фаза 2: Экстракция (Extraction) — ЗАВЕРШЕНО ✅
- Создать
pdf_to_epub/core/pdf_extractor.py(извлечение данных из PDF)- Реализовать умное удаление шума (колонтитулы, номера страниц).
- Создать
pdf_to_epub/core/epub_extractor.py(извлечение данных из EPUB) - Протестировать извлечение на реальных файлах.
Phase 3: Validation & Checking (Status: COMPLETED)
- Completeness Checker
- Comparison Algorithm (Sliding Window + Fuzzy Match).
- Robustness Tests (Sensitivity checks).
- Order Checker
- LIS Algorithm for sequence validation.
- Integration into Completeness Checker.
- Validator Orchestrator
- Integrate Completeness and Order checkers.
- Comprehensive validation on real fixtures.
Phase 4: Content Analysis (Structure Analyzer) - COMPLETED
- Goal: Intelligent structure detection (Chapters, Footnotes).
- Tasks:
- Implement Heading Detection (Font size & weight analysis). (Implemented probabilistic scoring).
- Implement Reading Order (XY-Cut algorithm).
- Implement Footnote/Citation detection baseline.
- Создать
pdf_to_epub/conversion/detectors/reading_order.py(алгоритмы порядка чтения) - Создать
pdf_to_epub/conversion/detectors/heading_detector.py(определение заголовков) - Создать
pdf_to_epub/conversion/pdf_analyzer.py(анализ PDF и генерация конфига) - Протестировать автоматический анализ структуры PDF.
Фаза 5: Конвертация (Conversion) — ЗАВЕРШЕНО ✅
- Создать
pdf_to_epub/conversion/strategies/base_strategy.py(базовый класс стратегий) - Создать
pdf_to_epub/conversion/strategies/simple_strategy.py(стратегия для художественной литературы) - Создать
pdf_to_epub/conversion/converter.py(главный оркестратор конвертации) - Создать
pdf_to_epub/core/epub_builder.py(EPUB3 builder) - Создать все 12 data models (models.py)
- Протестировать полный цикл конвертации PDF -> EPUB.
Фаза 6: Интерфейс и Интеграция (CLI) — ЗАВЕРШЕНО ✅
- Создать
scripts/analyze.py(CLI для анализа) - Создать
scripts/convert.py(CLI для конвертации) - Создать
scripts/validate.py(CLI для валидации)