aside
PDF Optimizer GUI — настольное приложение на Python + PyQt6 для оптимизации PDF-файлов с использованием Ghostscript. Программа поддерживает обработку больших каталогов, рекурсивный поиск, сохранение структуры директории и позволяет регулировать качество сжатия через параметры DPI.

Описание

PDF Optimizer GUI — настольное приложение на Python + PyQt6 для оптимизации PDF-файлов с использованием Ghostscript. Программа поддерживает обработку больших каталогов, рекурсивный поиск, сохранение структуры директории и позволяет регулировать качество сжатия через параметры DPI.

Основные возможности

Оптимизация PDF через Ghostscript

Приложение использует Ghostscript для уменьшения размера PDF-файлов при сохранении читаемости и структуры документа.

Сохранение структуры папок

Оптимизированные PDF сохраняются в выбранной выходной директории, полностью дублируя структуру исходной папки.

Пример:

Исходная: /input/docs/ch1/file.pdf
Выходная: /output/docs/ch1/file.pdf

В отчете содержатся:

  • имя файла
  • исходный размер
  • размер после оптимизации

Интерфейс

Приложение предоставляет:

  1. выбор исходной директории
  2. выбор директории сохранения
  3. переключатель рекурсивного поиска
  4. настройки DPI
  5. список найденных PDF
  6. прогресс-бар
  7. окно логов
  8. кнопки:
  9. Старт
  10. Стоп

Требования

  • Python 3.8+
  • PyQt6
  • Ghostscript
  • rich

Установка зависимостей:

pip install PyQt6 rich

Принцип работы

  1. Пользователь выбирает исходную и выходную директории.
  2. Программа сканирует папку (при необходимости рекурсивно).
  3. Для каждого PDF формируется целевой путь с сохранением структуры директорий.
  4. Запускается Ghostscript с параметрами, заданными пользователем.
  5. Создаются временные файлы (tmp_*.pdf) — они удаляются после оптимизации.
  6. Логи пишутся в интерфейс и CSV-отчёт.
  7. Прогресс рассчитывается на основе суммарного размера обработанных файлов.

Возможные улучшения

  • [ ] По запросу можно добавить:
  • [ ] Очистку выходной папки
  • [ ] Пресеты качества оптимизации
  • [ ] Расширенные настройки Ghostscript
  • [ ] Многопоточность
  • [ ] Oтображение процента экономии дискового пространства
  • [ ] сохранение/загрузка настроек

Ссылка на проект

gitlab:PDF Optimizer GUI

Поделиться ссылкой: