Конвертер и очередь Про
Два контура «Оттиска»: бесплатный конвертер, который целиком выполняется в браузере, и облачная очередь «Оттиск Про» для тиражных задач — с собственным API для клиентов по заявке.
Бесплатный конвертер
Конвертер на главной странице работает локально: файл читается в браузере, изображение перерисовывается на canvas с нужными параметрами, результат собирается в новый файл и скачивается на ваше устройство. На сторону не уходит ни байта — это можно проверить в инструментах разработчика: во время конвертации сетевых запросов нет.
Вход и выход
- Вход: PNG, JPEG, WebP — растровые макеты и иллюстрации.
- Выход: PNG (без потерь), JPEG и WebP (с настраиваемым качеством 10–100 %).
- Размер: в пикселях или в миллиметрах с указанием DPI; пропорции можно держать зафиксированными.
- Предел браузера: до 8000 px по стороне. Больше — в очередь Про.
Миллиметры в пиксели
Размер в пикселях считается по классической препресс-формуле:
px = mm ÷ 25.4 × DPI
// визитка 90×50 мм при 300 DPI:
90 ÷ 25.4 × 300 ≈ 1063 px
50 ÷ 25.4 × 300 ≈ 591 px
«Оттиск Про»: облачная очередь
Про принимает то, что браузер не тянет: пакеты из сотен макетов, распознавание сканов (OCR), приведение офисных документов к печатному PDF, работу с цветовыми профилями и хранение джоб. Задача встаёт в очередь, выполняется на стороне бюро, прогресс и результат видны в кабинете.
Доступ к очереди — по заявке: условия на странице тарифов, вход — через кабинет.
API очереди
Клиентам Про доступен программный интерфейс очереди. Он построен на GET-запросах: длинный запрос держит поток прогресса, короткие досылают данные задачи. Ниже — справочная форма интерфейса; реквизиты и точные лимиты выдаются вместе с доступом.
Поток прогресса джобы — одно длинное соединение на задачу, ответ в формате text/event-stream (Server-Sent Events). События: постановка в очередь, доли выполнения по этапам, готовность результата, ошибка.
event: queued
data: {"job":"8f2c","position":3}
event: progress
data: {"job":"8f2c","percent":42,"stage":"raster"}
event: done
data: {"job":"8f2c","result":"ready","pages":12}
Досылка исходника в джобу: тело запроса несёт очередной фрагмент файла или JSON-команду для очереди. Идентификатор джобы — в пути, смещение и контрольные суммы — в полях команды. Так кабинет передаёт крупные макеты, не открывая отдельных загрузочных эндпоинтов.
// тело запроса — JSON-команда очереди: {"op":"append","offset":65536,"crc32":"9b2f41ac"} // либо двоичный фрагмент исходника — как есть
Авторизация
- Сессионная cookie кабинета — выдаётся при входе после одобрения заявки.
- CSRF-токен кабинета — передаётся в заголовке каждого запроса к API; защищает очередь от подделанных обращений.
- Очередь персональная: джобы и результаты одной заявки не видны другим.
/api/v1/jobs/… не обслуживаются.
Заявка на доступ — через кабинет.
Поддержка форматов
- Бесплатно, в браузере: PNG, JPEG, WebP — сжатие, смена формата, точный размер.
- В очереди Про: PDF (склейка, разрез, печать-раскладка), офисные документы в печатный PDF, сканы с распознаванием, файлы с ICC-профилями.