Добавлены скрипты сборки для кроссплатформенных двоичных файлов и лицензия GPL.
- Добавлен файл LICENSE с лицензией GNU General Public License версии 3.0. - Создан скрипт PowerShell (build-all.ps1) для сборки двоичных файлов Windows и Linux из Windows с использованием кросс-компиляции. - Разработан скрипт сборки Linux (build-linux.sh) для сборки двоичных файлов Linux. - Реализован скрипт PowerShell (build-windows.ps1) для сборки двоичных файлов Windows. - Каждый скрипт сборки включает упаковку и генерацию контрольной суммы SHA256 для двоичных файлов.
This commit is contained in:
@@ -1,19 +1,33 @@
|
||||
# PDF Compressor {{VERSION}}
|
||||
# Universal File Compress {{VERSION}}
|
||||
|
||||
Мощный инструмент для сжатия PDF-файлов с интуитивным текстовым интерфейсом.
|
||||
Высокопроизводительный инструмент на Go для массового сжатия PDF и изображений (JPEG/PNG) с удобным TUI-интерфейсом, гибкой конфигурацией и модульной архитектурой.
|
||||
|
||||
## ✨ Новые возможности
|
||||
- Рекурсивное сканирование директорий для поиска PDF-файлов
|
||||
- Улучшенный пользовательский интерфейс с прогресс-индикатором
|
||||
- Оптимизация производительности при обработке больших файлов
|
||||
- Атомарная замена файлов с резервным копированием
|
||||
- Поддержка конфигурационных файлов YAML
|
||||
## ✨ Ключевые возможности
|
||||
|
||||
## 🐛 Исправления и улучшения
|
||||
- Исправлена обработка файлов с нестандартными именами
|
||||
- Улучшена стабильность при работе с поврежденными PDF
|
||||
- Оптимизирован расход памяти при сжатии больших документов
|
||||
- Исправлены проблемы с кодировкой имен файлов
|
||||
**Сжатие файлов:**
|
||||
- 📄 **PDF** — два алгоритма на выбор: PDFCPU (скорость) и UniPDF (качество)
|
||||
- 🖼️ **Изображения** — JPEG (10–50% качество), PNG (адаптивная оптимизация)
|
||||
- 🔄 **Интеллектуальное сжатие** — автоматический выбор оригинала при неэффективном сжатии
|
||||
|
||||
**Производительность и обработка:**
|
||||
- 🚀 Параллельная обработка с настраиваемым количеством воркеров
|
||||
- 📁 Рекурсивное сканирование с сохранением структуры папок
|
||||
- ⚡ Пакетная обработка больших коллекций файлов
|
||||
- 🔁 Повторы при ошибках (retry) и таймауты
|
||||
|
||||
**Интерфейс и управление:**
|
||||
- 🎨 TUI (Text User Interface) — настройка, запуск и мониторинг прогресса
|
||||
- ⚙️ YAML конфигурация — гибкое управление параметрами сжатия
|
||||
- 📊 Детальное логирование в файл и консоль с ротацией
|
||||
- 🔧 Clean Architecture — расширяемая модульная структура
|
||||
|
||||
## 🆕 Что нового в этом релизе
|
||||
- Реализован выбор между алгоритмами PDFCPU и UniPDF для PDF
|
||||
- Добавлена поддержка сжатия изображений (JPEG, PNG)
|
||||
- Улучшен TUI с прогресс-индикатором и статистикой обработки
|
||||
- Оптимизирована параллельная обработка больших файлов
|
||||
- Добавлена атомарная замена файлов с резервным копированием
|
||||
- Расширена конфигурация через YAML-файлы
|
||||
|
||||
## 📦 Установка и запуск
|
||||
|
||||
@@ -31,43 +45,46 @@
|
||||
|
||||
| Платформа | Архитектура | Файл для скачивания |
|
||||
|-----------|-------------|---------------------|
|
||||
| **Windows** | x64 | `pdf-compressor-{{VERSION}}-windows-amd64.zip` |
|
||||
| **Linux** | x64 | `pdf-compressor-{{VERSION}}-linux-amd64.zip` |
|
||||
| **Linux** | ARM64 | `pdf-compressor-{{VERSION}}-linux-arm64.zip` |
|
||||
| **macOS** | Intel x64 | `pdf-compressor-{{VERSION}}-darwin-amd64.zip` |
|
||||
| **macOS** | Apple Silicon | `pdf-compressor-{{VERSION}}-darwin-arm64.zip` |
|
||||
| **Windows** | x64 (amd64) | `compress-{{VERSION}}-windows-amd64.zip` |
|
||||
| **Windows** | ARM64 | `compress-{{VERSION}}-windows-arm64.zip` |
|
||||
| **Linux** | x64 (amd64) | `compress-{{VERSION}}-linux-amd64.tar.gz` |
|
||||
| **Linux** | ARM64 | `compress-{{VERSION}}-linux-arm64.tar.gz` |
|
||||
|
||||
## 🚀 Использование
|
||||
|
||||
После установки программу можно запустить несколькими способами:
|
||||
|
||||
**Интерактивный режим:**
|
||||
**Интерактивный режим (TUI):**
|
||||
```bash
|
||||
./pdf-compressor
|
||||
./compress
|
||||
# Windows: .\compress.exe
|
||||
```
|
||||
|
||||
**Пакетная обработка:**
|
||||
**Пакетная обработка директории:**
|
||||
```bash
|
||||
./pdf-compressor -input /path/to/pdfs -output /path/to/compressed
|
||||
./compress --input /path/to/files --output /path/to/compressed --config config.yaml
|
||||
```
|
||||
|
||||
**Обработка одного файла:**
|
||||
**Обработка с выбором алгоритма:**
|
||||
```bash
|
||||
./pdf-compressor -file document.pdf
|
||||
# PDF через PDFCPU (быстрее)
|
||||
./compress --input ./pdfs --algorithm pdfcpu
|
||||
|
||||
# PDF через UniPDF (выше качество)
|
||||
./compress --input ./pdfs --algorithm unipdf
|
||||
```
|
||||
|
||||
**Сжатие изображений:**
|
||||
```bash
|
||||
./compress --input ./images --output ./compressed --format jpeg --quality 85
|
||||
```
|
||||
|
||||
## 📖 Документация
|
||||
|
||||
- **README.md** - основная документация
|
||||
- **config.yaml.example** - пример конфигурационного файла
|
||||
- **RELEASE_GUIDE.md** - руководство по релизам
|
||||
|
||||
## 🆘 Поддержка
|
||||
|
||||
Если у вас возникли вопросы или проблемы:
|
||||
1. Проверьте документацию в репозитории
|
||||
2. Создайте Issue с описанием проблемы
|
||||
3. Приложите лог-файлы для диагностики
|
||||
- **README.md** — полное руководство по использованию и конфигурации
|
||||
- **config.yaml.example** — пример конфигурационного файла с комментариями
|
||||
- Документация по архитектуре — описание Clean Architecture подхода
|
||||
- Примеры использования — различные сценарии обработки файлов
|
||||
|
||||
---
|
||||
**Благодарим за использование PDF Compressor!** 🙏
|
||||
**Благодарим за использование Compress!** 🙏
|
||||
|
||||
Reference in New Issue
Block a user