# Audion Image Tools - руководство пользователя

**Содержание**

- [Назначение](#назначение)
- [Быстрый маршрут](#быстрый-маршрут)
- [Окно](#окно)
- [Источник и назначение](#источник-и-назначение)
- [Разделы](#разделы)
- [Служебные кнопки шапки](#служебные-кнопки-шапки)
- [Потоки и память](#потоки-и-память)
- [Основные папки](#основные-папки)
- [Консольная команда](#консольная-команда)
- [Перед выпуском](#перед-выпуском)

## Назначение

Audion Image Tools - портативная программа для пакетной обработки изображений, PDF и картинок внутри документов DOCX, PPTX и PDF. Основные сценарии: конвертация, страницы PDF, сборка PDF из картинок и картинок из PDF, поворот и обрезка, размер, DPI без изменения пикселей, цветовые профили и коррекция, метаданные, печатные листы, контактные листы, разрешение и вес картинок в документах.

Окно открывает `Start.exe`. Каждая кнопка окна - запуск консольной команды `image_cli.cmd` с теми же настройками; ту же работу можно делать из консоли (см. «Консольная команда»).

## Быстрый маршрут

1. Открыть `Start.exe`.
2. Положить файлы в `input\` или выбрать папку (или один файл) в строке `ИСТОЧНИК`.
3. Выбрать раздел в ряду под шапкой, затем операцию - большую кнопку на странице раздела.
4. Проверить `ИСТОЧНИК`, `НАЗНАЧЕНИЕ` и поля формы; для операций с предпросмотром - посмотреть результат на первой картинке.
5. Нажать кнопку запуска в голове формы. Быстрые операции из блока `Быстро` запускаются сразу, без формы.
6. Следить за журналом справа; забрать результат из `НАЗНАЧЕНИЯ`.

Пока `ИСТОЧНИК` и `НАЗНАЧЕНИЕ` не выбраны, операция читает `input\` и пишет в свою подпапку внутри `output\`.

## Окно

**Шапка.** Слева - имя и номер версии, значки возможностей движка на этой машине (`HEIC`, `AVIF`, `RAW`, `WORD`, `POWERPOINT`). Справа - `ПОТОКИ` (сколько картинок обрабатывать одновременно), служебные кнопки `ФОРМАТЫ`, `ИНФОРМАЦИЯ`, `ПРОВЕРКА ОКРУЖЕНИЯ`, язык `RU`/`EN`, тема (Audion Code Dark, Audion Vault Dark, Audion Dark, Audion Light), `SETTINGS` (цвета, шрифты и размеры окна) и `ABOUT`. Язык и тема меняются без перезапуска.

**Разделы.** Ряд крупных кнопок под шапкой: `КОНВЕРТАЦИЯ`, `PDF`, `ТРАНСФОРМАЦИЯ`, `РЕЗКА`, `РАЗМЕР`, `DPI`, `ЦВЕТ`, `ФОТО-ЛИСТ`, `ЛИСТЫ И МЕТКИ`. Под именем раздела - строка о том, что в нём.

**Страница.** Операции раздела - большие кнопки вверху страницы. Операция с настройками открывает форму; кнопка запуска стоит справа в голове формы, рядом - возврат полей к значениям по умолчанию. Операции над документами отмечены своей рамкой и значками форматов, которые они берут: Word - DOCX, PowerPoint - PPTX, Acrobat - PDF. Блок `Быстро` внизу страницы держит операции раздела без настроек: одно нажатие - запуск.

**Поля.** Выбор из нескольких вариантов - ряд кнопок-переключателей; несколько форматов - флажки; числа - поля со стрелками; плавные величины (яркость, контраст, насыщенность) - ползунки, полоса которых окрашена в то, что ползунок делает. Свой цвет задаётся образцом, ползунками R, G, B и полями. Редко нужные поля стоят в блоке `Дополнительно`, на виду. Короткие подписи объясняются подсказками.

**Предпросмотр.** У операций, которые трудно настроить вслепую (цвет, размер, поворот и обрезка, резка, водяной знак), под формой стоит рамка предпросмотра: `До`, `После` или `Рядом`. Она показывает, что операция сделает с одной картинкой источника, на уменьшенной копии; стрелки листают картинки источника. Картинка пересчитывается через мгновение после того, как поле перестало меняться.

**Правая колонка.** Сверху - `ИСТОЧНИК` и `НАЗНАЧЕНИЕ` (см. ниже). Под ними после проверок документов появляется карточка `РЕЗУЛЬТАТ`: итог, таблица, отчёт и папка. Ниже - `ЖУРНАЛ` с кнопками `LOGS` (папка журналов), `REPORT` (папка отчётов), `CONFIG` (папка настроек), копирование, очистка и развёртывание журнала на всю ширину окна. Колонку можно расширить, потянув её край.

**Журнал.** Строки операции идут в своих цветах: что удалось - зелёным, что требует взгляда - янтарным, ошибка - красным, служебные строки - приглушённо. Начало и итог каждого запуска - жирная строка `=====`. Пачка из многих файлов не пишет строку на каждый файл: внизу журнала идёт одна живая строка - доля сделанного, сколько сделано и сколько всего, скорость, сколько осталось по времени (ETA) и текущий файл, каждое своим цветом. Файл, с которым что-то пошло не так, остаётся в журнале строкой с подробностями. Все строки всех файлов лежат в журнале операции в `logs\`.

**Строка статуса.** Внизу окна: что окно делает, полоса хода запуска под журналом на всю его ширину, время запуска и `СТОП`. `СТОП` просит операцию остановиться в ближайшей безопасной точке; повторное нажатие через несколько секунд завершает её сразу. Каждый результат - картинка, PDF, копия документа - пишется рядом с местом назначения и встаёт на место только целым: файл, который писался в момент остановки, не портит прежний результат с тем же именем.

## Источник и назначение

- `ИСТОЧНИК` - папка или один файл. `НАЗНАЧЕНИЕ` - папка результата. Путь можно вписать (Enter применяет) или выбрать кнопкой.
- У каждой строки: выбор папки, у источника - выбор одного файла, прежние пути, закрепление пути, открытие в Проводнике.
- `СБРОСИТЬ` возвращает оба пути на папки программы `input\` и `output\`. История путей очищается, закреплённые остаются, файлы не трогаются.
- `СПИСОК` пишет в журнал, что лежит в источнике, с вложенными папками.
- `В ИСТОЧНИК` делает результат источником следующей операции: источник очищается (в Корзину), затем в него переносится содержимое назначения.
- `ОЧИСТИТЬ` удаляет содержимое источника, назначения или обоих - в Корзину. Сами папки остаются; перед удалением окно спрашивает и называет пути.

Папки внутри источника повторяются в назначении. `НАЗНАЧЕНИЕ` не может совпадать с `ИСТОЧНИКОМ`, лежать внутри него или содержать его - в том числе через ссылку на папку: копии одного прогона оказались бы среди его оригиналов. Такой запуск отклоняется до начала, ничего не тронуто.

## Разделы

### КОНВЕРТАЦИЯ

`Конвертировать` переводит папку в один или несколько форматов: `JPG`, `PNG`, `TIFF`, `WebP`, `AVIF`, `HEIF`, `HEIC`, `ICO`. Если выбрано несколько форматов, результат раскладывается по подпапкам формата. Для JPG и компактных форматов - качество `60%`, `75%`, `90%` и точное поле `1..100` (по умолчанию `83`). Для `JPG`, `PNG` и `TIFF` можно записать DPI, не меняя пиксели. `Фон под прозрачность` - `Белый`, `Чёрный` или `Свой`: им заливается прозрачное там, где формат прозрачности не держит. `Метаданные`: `DPI + цвет`, `Сохранить всё`, `Удалить всё`. `ICO` пишет в один файл все размеры значка, которые просит Windows.

Быстрые операции:

- `JPG 75% качества`, `PNG`, `PNG в оттенках серого`.
- `2160p JPG 90% качества` - под UHD `3840x2160` с центральной обрезкой. Если исходник меньше UHD и картинка увеличивается, после Lanczos применяется мягкая `Unsharp Mask`.
- `16:9 JPG 90% качества` - обрезка под 16:9.

`Анимация из кадров` собирает картинки папки в один GIF, WebP или APNG в порядке имён (2 раньше 10). Паузы берутся из `frames.json`, если его оставил `Разделить на кадры`, или задаются частотой кадров.

### PDF

- `Картинки в PDF` - собирает PDF из изображений: `Все картинки в один PDF` или `В несколько PDF`, `PNG без потерь` или JPG 75/90 %. `Не менять DPI` сохраняет размер страниц по DPI исходников; `Свой DPI` меняет физический размер страниц, но не пиксели.
- `Экспорт страниц PDF` - страницы через встроенные растры или рендеринг с заданным DPI (до 1200).
- `Извлечь из PDF` - встроенные растровые объекты в исходном формате или в выбранных форматах, в одну папку или по папкам имён PDF; рядом с PNG можно писать TIFF.
- `Повернуть страницы` - поворачивает указанные страницы (`1-3, 7`). Страница не перерисовывается: текст остаётся текстом, картинки сохраняют каждый пиксель.
- `Собрать PDF` - все PDF источника в один файл, в порядке имён; страницы переносятся как есть.
- `Разделить PDF` - по одной странице, по N страниц или по диапазонам; файлы называются `имя_001.pdf`, `имя_002.pdf`.
- `Проверить DPI` - таблица картинок каждого PDF: пиксели, размер на странице, разрешение и итог «сколько ниже порога». PDF не меняется. Таблица - в карточке `РЕЗУЛЬТАТ` и в отчёте (CSV и Markdown).
- `Довести до DPI` - копия PDF, где картинки не ниже порога; страницы, текст и место каждой картинки остаются.
- `Сжать картинки` - копия PDF с облегчёнными картинками: что выше целевого разрешения, получает меньше пикселей и пишется в JPEG.
- `Водяной знак` - строка текста через каждую страницу по диагонали, полупрозрачная; знак пишется текстом поверх страницы.
- `Извлечь из DOCX и PPTX` - картинки документов такими, как они хранятся, в папку с именем документа.
- Быстрая `Без свойств PDF` - копия без автора, названия, программы, дат и XMP.

Каждая копия PDF проверяется (страницы, текст, место картинок), прежде чем назвать её готовой. PDF с подписью или шифром программа не меняет и называет его. Копия документа пишется рядом с местом назначения и встаёт на место только целой: `СТОП` посреди записи оставляет прежнюю копию как была.

### ТРАНСФОРМАЦИЯ

- `Повернуть на угол` - любой угол с дробями градуса; холст расширяется, остаётся прежним или углы заливки обрезаются.
- `Обрезать рамку` - удаляет однотонную рамку по угловому цвету.
- `Умный кроп белого` - обрезает белый фон до значимых пикселей.
- `Поля` - поля вокруг картинки в миллиметрах заданного цвета; миллиметры считаются по плотности картинки, а если её нет - по DPI формы.

`Защитное поле, мм = 0` режет ровно по найденному контуру; значение больше нуля оставляет исходный фон вокруг результата по DPI картинки (без DPI - 300). После обрезки можно сразу собрать PDF: `Встроенный PNG` без потерь или `Встроенный JPG 75%` для компактного PDF.

Быстрые операции: `90° по часовой`, `90° против`, `Развернуть на 180°`, `Отразить по горизонтали`, `Отразить по вертикали`. JPEG поворачивается без потерь (jpegtran), если его стороны кратны блокам JPEG; иначе он пишется заново с качеством 95, и журнал это называет.

### РЕЗКА

- `Разрезать...` - ленты или прямоугольники по сетке, до 100 частей: `name_01.png`, `name_02.png` и так далее.
- `Разделить на кадры` - картинку из нескольких кадров (многостраничный TIFF, анимированный GIF, WebP или APNG, MPO) на PNG-кадры без потерь, в папку её имени; анимация оставляет `frames.json` со своими паузами.

### РАЗМЕР

- `Размер файла` - уменьшить или увеличить на процент (до 400 %) или подобрать максимальный процент под целевой размер файла в MB.
- `Под экран` - 1080p, 1440p или 2160p: `Обрезка` заполняет кадр и срезает лишнее, `Вписать` сохраняет всю картинку, `Поля` добавляет фон до целевого размера, `По высоте` и `По ширине` доводят одну сторону до цели с сохранением пропорций.
- `Пропорции` - 16:9, A4 или A3 в тех же режимах подгонки.
- `Точный размер` - точная ширина и высота в пикселях: вписать, вписать с полями (белые, чёрные, прозрачные или своего цвета), заполнить с обрезкой или растянуть.
- `Уменьшить в документе` - картинки DOCX и PPTX до предела (`1920 × 1080`, `2560 × 1440`, `3840 × 2160` или свой) и пережатие. В режиме HARD PNG становится JPEG, если он не легче барьера `Не трогать PNG до, КБ`, не вышел бы в JPEG тяжелее и не прозрачен: гербы, значки и пиктограммы остаются PNG. SAFE трогает только JPEG. Подписанный DOCX или PPTX не меняется: подпись сломалась бы.
- `Документ под размер файла` - уложить каждый DOCX и PPTX в размер в мегабайтах; предел снижается по ступеням, документ, который не уложился, называется.

Быстрые операции: `A4 → A3 · 141%`, `×2`, `×3` - увеличение с сохранением записанной плотности, так что и печать получается во столько же раз крупнее.

Алгоритмы:

- `Lanczos` - лучший для фото и мягких сканов; на PNG-картах может давать ореолы и раздувать файл.
- `Bicubic` - мягкий компромисс для фото и JPG.
- `Box` - сухое усреднение для карт, планов, скриншотов: меньше ореолов, легче PNG.
- `Nearest` - не создаёт новых цветов, часто даёт самый лёгкий PNG, но диагонали и тонкий текст становятся ступенчатыми.

В режиме `Подогнать` `Цель, MB` - лимит на каждый файл; нормальный результат - примерно `0,8-1,0` от цели. Подбирается процент масштаба, а не качество JPG.

### DPI

- `Под рулон` - DPI под физическую сторону в миллиметрах, пиксели не меняются.
- `DPI` - запись DPI без изменения пикселей.
- `Проверить DPI` - для DOCX, PPTX и PDF: строка на каждую вставленную картинку - пиксели, размер вставки, разрешение и число, которое картинка пишет о себе, - и итог «сколько ниже порога». Документы не меняются; таблица - в карточке `РЕЗУЛЬТАТ` и в отчёте.
- `Довести до DPI` - копия документа, картинки в ней не ниже порога. Меняются только картинки: текст, страницы, место и размер вставок остаются. Word и PowerPoint получают запрет сжимать картинки обратно.

### ЦВЕТ

- `Нормализовать профиль` - оставить исходный профиль или привести к `sRGB` (`sRGB 2014` с color.org или встроенный Pillow) или `CMYK` (`Photoshop5DefaultCMYK.icc` или `CoatedFOGRA39.icc`); форматы вывода, качество и метаданные.
- `Коррекция` - автоуровни (по каналам или с тоном), яркость, контраст, насыщенность, гамма, тон (`Ч/б`, `Сепия`, `Тонировать` в свой цвет), инверсия, белое в прозрачное. Прозрачность сохраняется; JPEG, у которого белое стало прозрачным, пишется в PNG.
- `PNG 256 цветов` - PNG не больше чем из заданного числа цветов: чертежи, планы, карты, скриншоты становятся во много раз легче без видимой разницы.
- `Профиль в документе` - картинки DOCX и PPTX в sRGB или CMYK, с профилем ICC внутри картинки или без.

Быстрые операции:

- `Без EXIF и GPS` - копия каждого JPEG, PNG и WebP без EXIF (GPS, камера, дата, миниатюра), XMP, IPTC и комментариев. Картинка не переписывается: копия даёт те же пиксели, и это проверяется; профиль, плотность и поворот снимка остаются.
- `Автоуровни` - растянуть уровни по каналам: уходят тусклость скана и цветной налёт.
- `PNG 256` - PNG из 256 цветов без растра.

### ФОТО-ЛИСТ

- `Экономия бумаги` - плотная раскладка строками без зазоров.
- `Быстрая резка` - группировка по похожей высоте и файл `cut_plan.txt`.

Общие параметры: ширина листа в мм, конечный DPI, чтение подпапок, фон, формат и качество. Исходные пиксели не пересчитываются: ширина и DPI описывают итоговый лист. Если выбранный DPI слишком мал для исходных пикселей при заданной ширине, DPI листа поднимается, и отчёт это называет.

### ЛИСТЫ И МЕТКИ

- `Замостить лист` - одна картинка на A5, A4, A3 или рулон заданной ширины. Размеры `Как есть`, `По ширине`, `По высоте`, `Документ 40x30`, `Документ 60x40`; рамка, поля и зазор в миллиметрах.
- `Водяной знак` - горизонтальная подпись в углу или диагональная защитная надпись.
- `Контактный лист` - осмотровая сетка миниатюр папки: подпись с именем, строкой `px | cm | DPI` и весом в KB. Миниатюра показывает картинку целиком; без DPI сантиметры считаются по 300 dpi, и подпись это называет.

Водяной знак:

- `В углу` - аккуратная техническая подпись: дата, автор, статус черновика; `Кегль в углу` действует только здесь.
- `Диагональный защитный` - текст через всю картинку; `Длина по диагонали, %` задаёт длину надписи относительно диагонали (60 % подходит для коротких слов вроде `КОПИЯ`).
- `Прозрачность` - `0..255`; по умолчанию `64`, около 25 % непрозрачности. Для красного или чёрного текста начинать с `64-96`, для светлого на тёмном - с `96-128`.
- `Цвет` - `Красный`, `Чёрный`, `Белый`, `Жёлтый`, `Серый`, `Синий` или `Свой RGB` (R, G, B от 0 до 255).

## Служебные кнопки шапки

- `ФОРМАТЫ` - какие форматы и адаптеры доступны на этой машине.
- `ИНФОРМАЦИЯ` - пути программы и сведения о среде.
- `ПРОВЕРКА ОКРУЖЕНИЯ` - проверка Python и пакетов движка.

Они не используют `ИСТОЧНИК` и `НАЗНАЧЕНИЕ`.

## Потоки и память

`ПОТОКИ` в шапке - сколько независимых картинок обрабатывать одновременно. Это помогает на пачках, но большие карты, рендер TIFF и PDF и вывод в PNG занимают в памяти намного больше, чем файл на диске: каждый поток может открыть ещё одну тяжёлую картинку.

- `16 GB RAM` - `1-2` потока.
- `32 GB RAM` - обычно `4`.
- `64 GB RAM` - `8-12` после проверки пика памяти.
- `128 GB+ RAM` - можно пробовать `16+`, следя за памятью.

## Основные папки

- `App\` - окно и PowerShell, который программа несёт с собой.
- `input\` - стандартные исходники.
- `output\` - стандартные результаты.
- `logs\` - журнал каждой операции.
- `report\` - отчёты проверок.
- `workspace\` - временная рабочая область.
- `config\` - операции, раскладка окна, умолчания, ICC-профили.
- `docs\` - документация.
- `system_core\` - движок и консольная команда.
- `runtime\`, `wheelhouse\`, `install\download\` - портативное окружение и сборочные файлы.

## Консольная команда

Каждая операция окна запускается и из консоли, с теми же полями:

```bat
image_cli.cmd describe
image_cli.cmd run --operation downscale_percent --set scale_mode=custom --set custom_percent=75
image_cli.cmd run --operation convert_images --source D:\Photos --target D:\Out --set to=jpg,png
```

`describe` выводит все разделы, операции и поля в JSON. Коды выхода: `0` - готово, `1` - ошибка, `130` - остановлено, `2` - неверный вызов, и тогда ничего не запускается. Журнал окна при каждом запуске пишет строку, которой ту же операцию можно повторить из консоли.

Движок можно звать и напрямую:

```bat
runtime\python.exe system_core\main.py plotter-size --input input --output output\plotter_roll_fit --to png --side short --target-mm 900
runtime\python.exe system_core\main.py plotter-dpi-only --input input --output output\plotter_dpi_only --to png --dpi 300
runtime\python.exe system_core\main.py smart-crop-white --input input --output output\smart_crop_white --to png --tolerance 10 --safety-margin-mm 0
runtime\python.exe system_core\main.py images-to-pdf --input input --output output\images.pdf --bundle folders --mode lossless
```

## Перед выпуском

Запустить интерактивную чистку:

```bat
cleanup_project.cmd
```

Скрипт спрашивает `Y/N/Q`. Ответ `Y` очищает рабочие результаты, портативное окружение, wheelhouse, скачанные архивы, кэши и временные файлы. Остаются окно `App\`, исходные скрипты, папки, документация, лицензии и настройки.
