Фото з телефона в PDF: чому файл виходить величезним, а сторінка лягає набік
«Зображення в PDF» кладе кожне фото на окрему сторінку в повному піксельному розмірі, тож три JPEG по 3,2 МБ з телефона стали PDF на 41,5 МБ, а портретне фото потрапило на альбомну сторінку. Зменшіть фото перед конвертацією, а сторінку набік поверніть після неї.
Зображення в PDF перетворює файли JPEG, PNG, GIF або BMP на один PDF, по одному зображенню на сторінку, у порядку завантаження. Воно нічого не зменшує і ігнорує прапорець повороту, який телефони записують у портретні фото. В одному тестовому прогоні три JPEG по 3,2 МБ повернулися як PDF на 41,5 МБ, а фото з позначкою портретного опинилося на альбомній сторінці. Зменшіть фото перед завантаженням, а сторінку набік виправте потім через «Повернути PDF».
Приклад від початку до кінця
Вхідні дані: три JPEG розміром 4032 × 3024 пікселів, приблизно по 3,2 МБ кожен (разом 9,7 МБ), тобто піксельний розмір типового кадру з камери телефона. Це були синтетичні зображення з дрібним шумом, тож стискаються вони гірше, ніж більшість справжніх фото; усі розміри нижче розглядайте як один прогін 2026-10-04 на локальному сервері зі збіркою з поточного коду, а не як обіцянку. Запит:
curl -s -o IMG_0001.pdf \
-F fileInput=@IMG_0001.jpg -F fileInput=@IMG_0002.jpg -F fileInput=@IMG_0003.jpg \
https://pdf123.xyz/api/v1/convert/img/pdf
| Крок | Результат |
|---|---|
| 3 JPEG, 4032 × 3024 px | разом 9,7 МБ |
| Зображення в PDF | 3 сторінки, 41,5 МБ, кожна сторінка 4032 × 3024 pt |
| Стиснути PDF для цього PDF | 39,9 МБ, приблизно на 4% менше |
| Ті самі 3 фото, спершу зменшені до 1600 px по довшій стороні | разом 1,7 МБ |
| Зображення в PDF для зменшених фото | 3 сторінки, 6,2 МБ, кожна сторінка 1600 × 1200 pt |
| Стиснути PDF для цього PDF | 6,2 МБ, без зменшення |
Результат називається за першим файлом, тому завантаження вище — це IMG_0001.pdf.
Чому 10 МБ фото стають 41 МБ
JPEG зберігає фото як блоки зі стисненням із втратами. «Зображення в PDF» не копіює ці байти в PDF. Воно декодує кожне зображення, перетворює його на 8-бітний RGB і зберігає сирі пікселі зі стисненням Flate без втрат. Один кадр 4032 × 3024 — це 36,6 мільйона байтів RGB (4032 × 3024 × 3). Flate зменшив це приблизно до 13,8 МБ на сторінку, що все одно більш ніж учетверо більше за JPEG, з якого це взято. Дев’ять копій тих самих трьох фото дали PDF на 124,6 МБ.
Це пояснює й рядки зі стисненням. «Стиснути PDF» перестискає потоки й пакує об’єкти; воно не зменшує роздільність і не перекодовує зображення. Пікселі вже стиснуті Flate, тож лишається мало що прибирати (чому так). Шлях до меншого файлу — менше пікселів до того, як PDF побудовано.
Є ще одна ціна. Кожна сторінка набуває розміру свого зображення, один піксель на один пункт, тож фото в 4032 пікселі дає сторінку завширшки 56 дюймів. Переглядачі вписують її у вікно, а принтери масштабують під папір, але розміри сторінки не відповідають A4 чи Letter. У формі немає опцій розміру паперу, вписування, типу кольору чи автоповороту, а сервер не читає поля API fitOption, colorType і autoRotate.
Спершу зменшити, потім конвертувати
Змініть розмір фото перед завантаженням. На Mac це робить sips -Z 1600 IMG_0001.jpg --out small1.jpg. З ImageMagick у будь-якій системі:
magick IMG_0001.jpg -resize 1600x1600 -quality 85 small1.jpg
Обидві команди перетворюють фото 4032 × 3024 на 1600 × 1200. У цьому прогоні три JPEG зменшилися з 9,7 МБ до 1,7 МБ, а тристорінковий PDF із 41,5 МБ до 6,2 МБ. На аркуші Letter 1600 пікселів на 11 дюймів — це приблизно 145 dpi: читабельно для сфотографованої форми, грубо для дрібного шрифту. Обирайте розмір за найдрібнішим текстом, який треба прочитати, а не лише за цільовим розміром файлу.
Розмір важливий двічі, бо наступні інструменти теж мають стелю. Тіло одного запиту обмежене 100 MiB. PDF на 124,6 МБ вище було відхилено з 413 (payload_too_large) при надсиланні в «Стиснути PDF». Як це обійти, див. Коли великий PDF не завантажується.
Сторінка набік
Багато телефонів зберігають портретне фото як альбомні пікселі й додають тег орієнтації EXIF, який велить переглядачу його повернути. Фотододатки зазвичай цей тег виконують. «Зображення в PDF» його не читає: JPEG 1600 × 1200 з орієнтацією 6 (повернути на 90° за годинниковою стрілкою) дав альбомну сторінку 1600 × 1200.
Виправлення — Повернути PDF: введіть номер сторінки, тут 1, і кут 90. У результаті на цій сторінці було встановлено /Rotate 90, тож переглядач показує її прямо. Для фото з протилежним тегом (орієнтація 8) використайте 270, для перевернутих (орієнтація 3) — 180; тут перевіряли лише орієнтацію 6. «Повернути PDF» задає на сторінці абсолютний кут, а не додає до поточного, і не перекодовує зображення. Якщо не хочете виправляти сторінки по одній, поверніть фото у своєму фотододатку й збережіть копію перед конвертацією.
Від чого цей інструмент відмовиться
- HEIC та інші формати. Сторінка приймає
.png,.jpg,.jpeg,.gifі.bmp. Справжній файл HEIC повернув 400,unsupported_file_type; спершу експортуйте його як JPEG. - Файл, що не є зображенням. Завантаження PDF на цю кінцеву точку повернуло той самий 400 з повідомленням «The file is not a supported image.»
- SVG. Файл SVG отримав той самий 400.
- Текст, у якому можна шукати. Текст на сфотографованій сторінці лишається пікселями. OCR повертає текст Markdown; він не додає текстового шару до цього PDF (як це працює).
- Прозорість. Зображення перетворюються на RGB, а альфа-канал відкидається.
Перевірте перед відправленням
Відкрийте PDF і порівняйте кількість сторінок із фото, по порядку. Порядок сторінок — це порядок завантаження; у тесті завантаження портретного PNG перед альбомним дало портретну сторінку першою. Потім подивіться на розмір файлу, перш ніж додавати його до листа.