Перейти к содержимому
pdftools.kz
Популярное

Формат JPG (JPEG)

JPEG режет картинку на квадраты 8×8 пикселей и описывает каждый набором частот, отбрасывая те, что глаз почти не замечает. Отсюда три следствия: файл выходит в разы легче исходных пикселей, прозрачности в нём нет вовсе, а каждое пересохранение отбрасывает новую порцию данных поверх уже отброшенной. Внутри PDF у формата отдельный фильтр DCTDecode, поэтому снимок переносится в документ потоком байтов, а не перерисовывается заново.

Локально в браузередо 100 МБбез регистрации

Коротко о цифрах

Стандарт
ISO/IEC 10918-1, принят в 1992 году
Единица сжатия
блок 8×8 пикселей, дискретное косинусное преобразование
Прозрачность
не поддерживается: альфа-канала в формате нет
Фильтр в PDF
DCTDecode — поток JPEG кладётся в документ как есть
Что делает наш конвертер
пересобирает JPEG через канвас с качеством 0,95 ради поворота по EXIF

Что именно теряется

Квадрат 8×8 превращается в 64 коэффициента: первый описывает среднюю яркость блока, остальные — всё более мелкие детали. Ползунок качества управляет тем, насколько грубо эти коэффициенты округляются. При 95 округление почти не заметно, при 40 мелкие коэффициенты обнуляются целыми группами, и на границе блоков появляется ступенька — та самая «квадратность» на пережатых картинках.

Отдельно страдает цвет. Глаз различает яркость гораздо точнее оттенка, поэтому кодировщик обычно записывает цветовые каналы вчетверо реже яркостного. На фотографии это невидимо, а на красном тексте по белому фону или на тонкой цветной линии — заметно сразу: контур расплывается, хотя буквы остались чёрными и резкими.

Прозрачности нет, и это не настройка

  • В спецификации JPEG альфа-канала не предусмотрено: каждый пиксель обязан иметь цвет.
  • Программа, которая «сохраняет JPG с прозрачностью», на деле заливает прозрачные места белым или чёрным.
  • Наш компрессор изображений делает это явно: перед кодированием в JPEG под картинку подкладывается белый фон, иначе прозрачные пиксели вышли бы чёрными.
  • Нужен прозрачный фон — берите PNG или WebP; JPEG для этого не чинится никакими настройками.

JPG внутри PDF

  • В PDF есть фильтр DCTDecode, то есть JPEG хранится в документе своим родным потоком — распаковывать и переупаковывать его не нужно.
  • Поэтому страница из снимка почти всегда весит примерно столько же, сколько сам снимок, плюс килобайты служебной структуры.
  • Обратная операция не бесплатна: при экспорте PDF в JPG страница сначала рисуется на канвасе, а потом кодируется заново с качеством 0,9.
  • У нас потолок канваса — 4096 пикселей по стороне: A4 при 300 DPI это 2480×3508 и проходит, а A3 в тех же 300 DPI потребовал бы 4961 и будет автоматически прижат примерно к 248 DPI.

Как мы собираем PDF из JPG

  1. Перетащите снимки в окно инструмента — они остаются в браузере, на сервер не уходит ни байта.
  2. Порядок страниц задаётся перетаскиванием миниатюр: имена вида IMG_0421 на слух не различаются, а картинки различаются.
  3. Каждый JPEG декодируется с учётом тега EXIF Orientation и пересобирается через канвас с качеством 0,95 — иначе снимок, сделанный вертикально, лёг бы на страницу боком.
  4. Если браузер не умеет применять этот тег, в документ уходят исходные байты файла без перекодирования.
  5. Выберите размер страницы: A4, Letter или «Авто», где лист принимает пропорции самого снимка.

Частые вопросы

Чем JPG отличается от JPEG?

Ничем: это один и тот же формат. Три буквы остались от MS-DOS, где расширение не могло быть длиннее трёх символов. Байты внутри одинаковые, переименование файла ничего не меняет.

Почему снимок портится, если несколько раз открыть и сохранить его?

Каждое сохранение — новый проход округления коэффициентов, и оно накладывается на результат предыдущего. Даже качество 95 при десятом пересохранении даёт видимую грязь на границах блоков, потому что потери не отменяются.

Можно ли сделать в JPG прозрачный фон?

Нет. Формат физически не хранит канал прозрачности, поэтому любой редактор заменит прозрачные области сплошным цветом. Если фон должен просвечивать, сохраняйте картинку в PNG или WebP.

PDF из фотографий получился тяжелее, чем сами фотографии. Почему?

Скорее всего, снимки были не JPEG. Файлы WebP, HEIC, BMP и GIF наш конвертер декодирует и вкладывает в документ как PNG без потерь, а лёгкое сжатие с потерями при этом теряется — отсюда рост.

Рядом

Частые задачи с этим инструментом