Конвертация PDF в JPG или PNG: что меняет DPI и как экспортировать одну страницу
«PDF в изображения» отрисовывает каждую страницу в ZIP, по умолчанию в PNG, если не выбрать JPEG. В форме браузера есть только формат и DPI; поля API для выбора страниц и WebP игнорируются. Измеренные размеры файлов при 150 и 300 DPI и способ экспортировать одну страницу.
PDF в изображения превращает каждую страницу PDF в отдельный файл изображения и возвращает их в ZIP. В форме браузера две настройки, формат (PNG или JPEG) и DPI, а выбрать страницы или WebP нельзя. Обе настройки сильно меняют размер результата, и в разделах ниже показано, насколько.
Разбор на примере: шесть страниц, четыре настройки
Тестовый файл: 6-страничный документ формата US Letter, только текст, сгенерированный в Ghostscript: 32 строки шрифта Times 11 pt на странице, 5 593 байта. Его отправляли на эндпоинт /api/v1/convert/pdf/img локальной сборки сервера, по разу на каждую настройку. Числа получены в одном прогоне 2026-10-04; другой документ даст другие размеры.
| DPI | Формат | Пикселей на страницу | Страница 1 | ZIP, все 6 страниц |
|---|---|---|---|---|
| 150 | PNG | 1275 x 1650 | 53 400 байт | 195 476 байт |
| 300 | PNG | 2550 x 3300 | 127 391 байт | 494 897 байт |
| 150 | JPEG | 1275 x 1650 | 252 280 байт | 1 340 684 байта |
| 300 | JPEG | 2550 x 3300 | 685 891 байт | 3 272 299 байт |
Размеры в пикселях следуют из размера страницы: страница Letter — 8,5 на 11 дюймов, поэтому 150 DPI даёт 1275 на 1650, а 300 DPI — 2550 на 3300. Удвоение DPI учетверяет число пикселей, но ZIP с PNG здесь вырос примерно в 2,5 раза, потому что ровные белые области хорошо сжимаются.
Для этого файла JPEG оказался больше PNG: страница 1 при 150 DPI была примерно в 4,7 раза больше. Обычный совет, что JPEG — компактный формат, верен для фотографий. Текстовая страница — это в основном ровный белый фон с чёткими краями: PNG сжимает такое хорошо, JPEG плохо. Для фотографической или отсканированной страницы может быть наоборот, поэтому проверьте одну характерную страницу, прежде чем конвертировать сотню.
ZIP называется по PDF (contract.zip для contract.pdf) и содержит page.1.png ... page.6.png или файлы .jpg, если вы выбрали JPEG.
Параметры, которые API принимает, но игнорирует
Форма в браузере их не предлагает, но скрипт, который их отправит, не получит ни ошибки, ни эффекта:
- Выбор страниц. Отправка
pageNumbers=2вернула все шесть страниц, а не одну. Всегда отрисовываются все страницы. - WebP.
imageFormat=webpвернул файлы PNG с теми же именами и размерами, что иpng. JPEG выбирают толькоjpegиjpg; любое другое значение сводится к PNG.
Если нужен WebP, конвертируйте файлы PNG потом в графическом редакторе.
Как получить одну страницу
Сначала вырежьте страницу, затем конвертируйте одностраничный PDF:
- Откройте Извлечь страницы, загрузите PDF и введите
2как страницу, которую нужно оставить. В тесте получился PDF из 1 страницы. - Загрузите этот PDF в PDF в изображения, задайте DPI 150 и оставьте PNG. В ZIP оказался один файл,
page.1.png.
Файл называется page.1.png, хотя это страница 2 исходного документа, потому что нумерация в извлечённом PDF начинается заново. Переименуйте его, если важен исходный номер страницы.
DPI: где форма и API расходятся
Веб-форма подставляет 300. Прямой вызов API без dpi отрисовывает в 150. Если скрипт даёт изображения меньше, чем браузер, причина в этом; передавайте dpi явно в обоих случаях. Нечисловое значение отклоняется с 400 и сообщением «dpi must be a number».
Ориентир, основанный на таблице выше, а не на каком-либо тесте качества: 150 DPI достаточно, чтобы читать страницу целиком на экране; 300 DPI нужны для печати или для увеличения мелкого шрифта. В этом прогоне ZIP с PNG при 300 DPI был примерно в 2,5 раза больше, чем при 150 DPI, а в длинном документе со сканами эта разница умножается.
Что не сохраняется
Результат — это пиксели, поэтому:
- Текст больше нельзя выделить или найти поиском. Для текста используйте PDF в текст, а для скана — OCR.
- Ссылки перестают работать.
- Векторные логотипы и схемы растеризуются с выбранным вами DPI и при последующем увеличении станут размытыми. Вместо этого перезапустите с более высоким DPI.
Храните исходный PDF рядом с изображениями. Если вернуться через Изображения в PDF, получится PDF из картинок с текстом, а не исходный документ.
PDF с паролем отклоняется с 400, This PDF is password-protected. Enter its password., и поле password, отправленное на этот эндпоинт, ничего не меняет. Сначала снимите пароль через Снять пароль.
Проверьте перед массовым использованием набора
Откройте одну страницу из ZIP в масштабе 100% и проверьте мелкий текст и тонкие линии. Если она мягкая, увеличьте DPI и запустите заново; если ZIP слишком велик, уменьшите DPI или переключитесь на JPEG, только убедившись, что для ваших страниц он действительно меньше.