PDF Optimizer GUI

Описание
PDF Optimizer GUI — настольное приложение на Python + PyQt6 для оптимизации PDF-файлов с использованием Ghostscript. Программа поддерживает обработку больших каталогов, рекурсивный поиск, сохранение структуры директории и позволяет регулировать качество сжатия через параметры DPI.
Основные возможности
Оптимизация PDF через Ghostscript
Приложение использует Ghostscript для уменьшения размера PDF-файлов при сохранении читаемости и структуры документа.
Сохранение структуры папок
Оптимизированные PDF сохраняются в выбранной выходной директории, полностью дублируя структуру исходной папки.
Пример:
Исходная: /input/docs/ch1/file.pdf Выходная: /output/docs/ch1/file.pdf
В отчете содержатся:
- имя файла
- исходный размер
- размер после оптимизации
Интерфейс
Приложение предоставляет:
- выбор исходной директории
- выбор директории сохранения
- переключатель рекурсивного поиска
- настройки DPI
- список найденных PDF
- прогресс-бар
- окно логов
- кнопки:
- Старт
- Стоп
Требования
- Python 3.8+
- PyQt6
- Ghostscript
- rich
Установка зависимостей:
pip install PyQt6 rich
Принцип работы
- Пользователь выбирает исходную и выходную директории.
- Программа сканирует папку (при необходимости рекурсивно).
- Для каждого PDF формируется целевой путь с сохранением структуры директорий.
- Запускается Ghostscript с параметрами, заданными пользователем.
- Создаются временные файлы (tmp_*.pdf) — они удаляются после оптимизации.
- Логи пишутся в интерфейс и CSV-отчёт.
- Прогресс рассчитывается на основе суммарного размера обработанных файлов.
Возможные улучшения
- [ ] По запросу можно добавить:
- [ ] Очистку выходной папки
- [ ] Пресеты качества оптимизации
- [ ] Расширенные настройки Ghostscript
- [ ] Многопоточность
- [ ] Oтображение процента экономии дискового пространства
- [ ] сохранение/загрузка настроек
Ссылка на проект
gitlab:PDF Optimizer GUI
