Что такое CMYK и RGB
RGB — модель экрана: пиксель светится красным, зелёным и синим, и чем больше всех трёх, тем ближе к белому. CMYK — модель печати: краска не светится, а забирает часть отражённого света, и чем больше краски, тем темнее. PDF умеет хранить цвет в обеих моделях, а также в оттенках серого и через профили. Браузерный канвас понимает только RGB, поэтому любая растеризация конвертирует цвет.
Коротко о цифрах
- RGB
- аддитивная модель экрана, три канала
- CMYK
- субтрактивная модель печати, четыре краски
- Канвас
- всегда RGB — растеризация конвертирует CMYK безвозвратно
- Запасной профиль
- возится вместе с данными просмотрщика для документов без своего
- Требование к политике безопасности
- wasm-декодерам нужно явное разрешение, иначе цвет плывёт
Почему один и тот же цвет выглядит по-разному
У моделей разный охват — множество цветов, которые они вообще способны передать. Насыщенный экранный синий или ядовитый салатовый на бумаге недостижимы: краски столько не дают. При переводе такие цвета «схлопываются» к ближайшим доступным, и картинка на печати выглядит спокойнее, чем на мониторе. Обратный перевод точность не возвращает: информации о том, каким цвет был изначально, в файле уже нет.
Точность перевода зависит от профиля — описания того, как конкретное устройство понимает числа. Профиль может лежать внутри документа, а может отсутствовать, и тогда программа подставляет свой запасной. Именно поэтому один PDF на двух компьютерах иногда печатается разными оттенками.
Что происходит в наших инструментах
- Экспорт страниц в JPG и PNG и сжатие с растеризацией идут через канвас, а он всегда RGB: цвет CMYK конвертируется, и обратно его из результата не достать.
- Просмотрщик, который рисует страницу, использует отдельный модуль преобразования цвета — он собирается как wasm и требует разрешения в политике безопасности сайта; без него страница деградирует на медленный запасной путь, а CMYK выводится искажённым.
- Для документов, которые не несут своего профиля CMYK, мы возим запасной профиль вместе с остальными данными просмотрщика.
- Инструменты, которые не рисуют страницу — объединение, разделение, повороты, оптимизация структуры, — цвет не трогают вообще: объекты копируются как есть.
Как не испортить макет
- Файл, который идёт в типографию, не прогоняйте через растеризацию: отдавайте исходник, каким его сделал дизайнер.
- Если нужно уменьшить такой файл, берите оптимизацию структуры, а не сжатие с перерисовкой страниц.
- Не ориентируйтесь на монитор при оценке печатного цвета: без калибровки экран показывает свою версию, а не типографскую.
- Скриншот или экспорт в JPG годятся для согласования вида, но не как исходник для печати.
Частые вопросы
Почему после сжатия цвета стали другими?
Страницы были перерисованы через канвас, а он работает только в RGB. Цвета CMYK при этом пересчитываются в ближайшие экранные, и часть насыщенных оттенков теряется — вернуть их из результата нельзя.
Можно ли сохранить CMYK при экспорте в JPG?
Нет. Наш экспорт идёт через канвас, а его выход всегда RGB. Если цветоделение важно, готовьте файл в программе допечатной подготовки и не пропускайте его через браузерную растеризацию.
Нужно ли что-то настраивать в браузере?
Нет, все нужные данные страница подгружает сама. Единственное условие уже выполнено на нашей стороне: политика безопасности разрешает компиляцию модулей преобразования цвета, иначе сложные документы выглядели бы хуже.
Почему в PDF цвет иногда описан профилем, а не числами?
Потому что одни и те же числа на разных устройствах дают разный оттенок. Профиль привязывает их к эталону, и программа может пересчитать цвет под конкретный экран или печатную машину.