pdf_renamer
Описание
Массовое переименовывание pdf файлов в соответствии с их содержимым
Языки
- Python100%
10 месяцев назад
10 месяцев назад
10 месяцев назад
10 месяцев назад
README.md
PDF Organizer
Скрипт для организации PDF файлов: поиск дубликатов и автоматическое переименование на основе содержимого.
Функциональность
- Поиск PDF файлов в указанной директории и поддиректориях
- Удаление дубликатов на основе MD5-хеша
- Автоматическое переименование файлов на основе их содержимого:
- Извлечение заголовка из метаданных PDF
- Если метаданные отсутствуют, используется текст с наибольшим размером шрифта
- Если не удалось определить заголовок, используется первая строка документа
- Поддержка различных кодировок (UTF-8, CP1251, KOI8-R, ISO-8859-5)
- Очистка имен файлов от недопустимых символов
- Добавление числового суффикса в случае конфликта имен
- Логирование процесса в файл с возможностью вывода в консоль
Требования
- Python 3.7+ (для поддержки типизации)
- PyPDF2==3.0.1
- tqdm==4.66.1
Установка
- Клонируйте репозиторий:
- Создайте и активируйте виртуальное окружение:
- Установите зависимости:
Использование
Скрипт можно запустить двумя способами:
- Указав директорию через аргументы командной строки:
- В интерактивном режиме (без аргументов):
Дополнительные опции
- включить подробный вывод информации в консоль-v, --verbose- показать справку по использованию-h, --help
Логирование
- По умолчанию все действия и ошибки записываются в файл лога в директории logs
- Имя файла лога формируется автоматически и включает дату и время запуска
- При использовании флага
или-vлоги также выводятся в консоль--verbose - Формат лога: YYYY-MM-DD HH:MM:SS - УРОВЕНЬ - СООБЩЕНИЕ
Примечания
- Скрипт поддерживает различные кодировки для корректной работы с русскими символами
- Имена файлов очищаются от недопустимых символов
- В случае конфликта имен добавляется числовой суффикс
- Все ошибки и предупреждения сохраняются в лог-файл для последующего анализа