pdf_renamer

0

Описание

Массовое переименовывание pdf файлов в соответствии с их содержимым

Языки

  • Python100%
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

Установка

  1. Клонируйте репозиторий:
  1. Создайте и активируйте виртуальное окружение:
  1. Установите зависимости:

Использование

Скрипт можно запустить двумя способами:

  1. Указав директорию через аргументы командной строки:
  1. В интерактивном режиме (без аргументов):

Дополнительные опции

  • -v, --verbose
    - включить подробный вывод информации в консоль
  • -h, --help
    - показать справку по использованию

Логирование

  • По умолчанию все действия и ошибки записываются в файл лога в директории
    logs
  • Имя файла лога формируется автоматически и включает дату и время запуска
  • При использовании флага
    -v
    или
    --verbose
    логи также выводятся в консоль
  • Формат лога:
    YYYY-MM-DD HH:MM:SS - УРОВЕНЬ - СООБЩЕНИЕ

Примечания

  • Скрипт поддерживает различные кодировки для корректной работы с русскими символами
  • Имена файлов очищаются от недопустимых символов
  • В случае конфликта имен добавляется числовой суффикс
  • Все ошибки и предупреждения сохраняются в лог-файл для последующего анализа