Качество PNG и размер файла PDF
PNG — формат без потерь: при сохранении PNG детали не выбрасываются, как при сохранении JPG, поэтому скриншоты, диаграммы и схемы обычно и бывают в PNG. Вот что PNG to PDF хранит на самом деле.
В разделе Параметры страницы есть два варианта: Качество важнее (выбран по умолчанию) и Файл меньше. Пункт Подробнее под ними кратко пересказывает эту статью.
«Качество важнее»: без потерь и никогда не JPEG
С вариантом Качество важнее пиксели каждого PNG хранятся в PDF со сжатием без потерь (Flate — так в PDF называется тот же метод Deflate, которым пользуется PNG). Ни одно изображение не превращается в JPEG ни в одном из вариантов.
- 8-битные PNG — цветные, с палитрой, в оттенках серого и чересстрочные — сохраняют пиксели в точности в браузерах на основе Chromium, например Chrome и Edge. Измеренная разница — ноль.
- 16-битные PNG браузер декодирует до 8 бит на канал, и в PDF попадает именно это. Наибольшая разница, которую мы измерили, — 1 уровень из 255 в Chromium и 3 в WebKit, движке Safari. На вид то же самое, но это не побитовая копия 16-битного файла.
- Прозрачность сохраняется как отдельная мягкая маска — точно в браузерах на основе Chromium и с отклонением не более чем на 1 незаметный уровень в Safari для PNG в оттенках серого и 16-битных PNG; почему на странице она всё равно выглядит белой, объясняет статья прозрачность PNG в PDF.
Замечание о Safari
В Safari PNG в оттенках серого получаются с крошечными отклонениями — до 2–3 уровней из 255, глазом не различить — и хранятся как цветные, а не серые. Из-за этого PDF может заметно вырасти: серый градиент 400 × 300 занял 2 KB в Chromium и 151 KB в WebKit. Если у вас много PNG в оттенках серого и размер важен, браузер на основе Chromium сделает PDF меньше.
Очень большие изображения
Браузер декодирует каждое изображение, и у устройства есть предел: изображения больше 16 777 216 пикселей (4096 × 4096) уменьшаются, чтобы в него уложиться, — изображение 6000 × 4000, 24 мегапикселя, становится 5016 × 3344. На его карточке появляется пометка Уменьшено до предела устройства, а после сохранения полоса результата считает такие изображения, например 1 изображение уменьшено.
Большинство скриншотов намного меньше этого предела. Высокий скриншот 1170 × 12000 (14 мегапикселей) и панорама 12000 × 1000 (12 мегапикселей) попадают в PDF в полном размере.
«Файл меньше»
| Изображение | Качество важнее | Файл меньше |
|---|---|---|
| Длинная сторона ≤ 2000 px | без изменений | без изменений |
| Длинная сторона > 2000 px | полный размер* | длинная сторона 2000 px† |
| Длинный скриншот или панорама | полный размер* | короткая сторона ≥ 600 px† |
| Сжатие | без потерь | без потерь |
| Прозрачность | мягкая маска | мягкая маска |
* Изображения больше предела устройства уменьшаются в обоих вариантах.
† Только если изображение от этого становится меньше в байтах; иначе остаётся его версия Качество важнее, включая размер в пикселях.
Для каждого изображения длиннее 2000 px по длинной стороне вариант Файл меньше готовит кандидата: обычно его длинная сторона становится 2000 px, по-прежнему без потерь, прозрачность по-прежнему сохранена. Кандидат используется, только если он действительно меньше версии Качество важнее. Изображения в 2000 px и меньше вообще не трогаются, и ни одно изображение не увеличивается. Насколько уменьшится ваш PDF, целиком зависит от ваших изображений: фиксированного процента нет, и он может не уменьшиться вовсе.
Длинные скриншоты и панорамы
Если уменьшить длинную сторону до 2000 px, длинное изображение стало бы очень узким: прокручиваемый скриншот 1170 × 12000 превратился бы в 195 × 2000, и его текст уже нельзя было бы прочитать. Поэтому, когда это правило сделало бы короткую сторону меньше 600 px, вариант Файл меньше оставляет короткую сторону равной 600 px и пропорционально уменьшает длинную. Изображение, у которого короткая сторона и так меньше 600 px, не увеличивается и не уменьшается: у него остаётся версия Качество важнее. В таком случае полоса под изображениями сообщает, что читаемость длинного изображения сохранена.
В наших тестах в Chrome изображение 6000 × 4000 стало 2000 × 1333, а его PDF уменьшился со 175 KB до 58 KB. Скриншот 1170 × 12000 стал 600 × 6154, его PDF уменьшился с 404 KB до 104 KB, а текст по-прежнему можно было прочитать. Панорама 12000 × 1000 стала 7200 × 600, а её PDF уменьшился со 122 KB до 65 KB.
Почему PDF из PNG такого размера
Размер PDF почти целиком складывается из данных изображений, которые хранятся без потерь. Скриншоты и диаграммы с большими однотонными областями хорошо сжимаются, поэтому PDF из них часто получается небольшим. Фото, сохранённое в PNG, требует много байтов, чтобы хранить его без потерь, и PDF остаётся большим; здесь уменьшить его можно только вариантом Файл меньше.
Узнайте реальный размер
После нажатия Сохранить PDF полоса внизу показывает число страниц, реальный размер файла и уменьшенные изображения, если они есть. Чтобы сравнить, сохраните один раз с вариантом Качество важнее, переключитесь на Файл меньше и сохраните снова.
Что выбрать
- Оставьте «Качество важнее» для скриншотов с мелким шрифтом, диаграмм, которые будете увеличивать или печатать, и всего, что отправляется в архив.
- Выберите «Файл меньше», когда большие изображения — больше 2000 px — упираются в ограничение размера и потеря пикселей на них допустима. У длинных скриншотов по короткой стороне остаётся не меньше 600 px, поэтому обычный текст можно прочитать; очень мелкий шрифт всё же может стать трудночитаемым.