# Сырой текст → плоская карточка Простой скрипт, который берёт **сырой текст** задания (например, из PDF‑файла) и преобразует его в **плоскую карточку** – готовый к использованию шаблон для обучения. В проекте реализованы два основных файла: | Файл | Что делает | |------|------------| | `extract_text.py` | Извлекает текст из PDF‑файла (или другого источника) и сохраняет его в `.txt`. | | `flatten_card.py` | Читает сырой текст, разбивает его на логические блоки (описание, условия, примеры), форматирует и выводит «плоскую карточку» в консоль или в файл. | --- ## 📦 Установка зависимостей ```bash # Создайте виртуальное окружение (рекомендуется) python -m venv .venv source .venv/bin/activate # Windows: .\.venv\Scripts\activate # Установите зависимости из requirements.txt pip install -r requirements.txt ``` `requirements.txt` содержит: ```text PyPDF2==3.0.1 python-docx==0.8.11 # если понадобится работа с DOCX ``` --- ## 🚀 Запуск файлов ### 1️⃣ Извлечение текста из PDF ```bash python extract_text.py --input path/to/assignment.pdf --output assignment.txt ``` - `--input` – путь к исходному файлу (PDF, DOCX и т.д.). - `--output` – куда сохранить извлечённый текст. ### 2️⃣ Форматирование в плоскую карточку ```bash python flatten_card.py --input assignment.txt --output card.txt ``` - `--input` – файл с сырым текстом. - `--output` – путь, где будет сохранена «плоская» карточка. Если опция не указана, результат выводится в консоль. --- ## 📄 Пример использования ### Исходный PDF (`assignment.pdf`) ``` Задание: Написать программу, которая считает сумму двух чисел. Условие: - Вводятся два целых числа. - Вывести их сумму. Пример: Ввод: 3 5 Вывод: 8 ``` ### Команды ```bash python extract_text.py --input assignment.pdf --output raw.txt python flatten_card.py --input raw.txt --output card.txt ``` ### Полученная карточка (`card.txt`) ``` Задание: Написать программу, которая считает сумму двух чисел. Условие: - Вводятся два целых числа. - Вывести их сумму. Пример: Ввод: 3 5 Вывод: 8 ``` --- ## 📚 Что дальше? * Добавить поддержку Markdown‑форматирования (`--format markdown`). * Интегрировать с Anki для автоматической импорта карточек. * Расширить парсер, чтобы корректно обрабатывать таблицы и списки. --- ### Контрибьюторы Если хотите помочь – откройте issue или pull request. Пожалуйста, соблюдайте стиль кода из `PEP8` и добавляйте тесты в папку `tests/`. --- **Автор:** *[Ваше имя]* **Дата создания:** 2026‑05‑26