Снимки от телефона към PDF: защо файлът излиза огромен и страница се обръща настрани
Изображения към PDF поставя всяка снимка на отделна страница в пълния му размер в пиксели, затова три JPEG от по 3,2 MB от телефон станаха 41,5 MB PDF, а портретна снимка излезе на пейзажна страница. Смалете снимките преди конвертиране и завъртете страницата настрани след това.
Изображения към PDF превръща JPEG, PNG, GIF или BMP файлове в един PDF, по едно изображение на страница, в реда на качване. Не смалява нищо и игнорира флага за завъртане, който телефоните записват в портретните снимки. При един тестов пуск три JPEG от по 3,2 MB се върнаха като 41,5 MB PDF, а снимка с флаг за портрет попадна на пейзажна страница. Смалете снимките преди да ги качите и оправете страницата настрани след това със Завъртане на PDF.
Работният пример
Входът бяха три JPEG от 4032 × 3024 пиксела, около 3,2 MB всяка (9,7 MB общо), размерът в пиксели на типичен кадър от телефонна камера. Бяха синтетични изображения с фин шум, така че се компресират по-зле от повечето реални снимки; приемайте всеки размер по-долу като един пуск на 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 MB общо |
| Изображения към PDF | 3 страници, 41,5 MB, всяка страница 4032 × 3024 pt |
| Компресиране на PDF върху този PDF | 39,9 MB, около 4% по-малко |
| Същите 3 снимки, първо смалени до 1600 px по дългата страна | 1,7 MB общо |
| Изображения към PDF върху смалените снимки | 3 страници, 6,2 MB, всяка страница 1600 × 1200 pt |
| Компресиране върху този PDF | 6,2 MB, без намаление |
Изходът носи името на първия файл, така че изтегленият по-горе е IMG_0001.pdf.
Защо 10 MB снимки стават 41 MB
JPEG съхранява снимката като компресирани със загуба блокове. Изображения към PDF не копира тези байтове в PDF. Той декодира всяко изображение, превръща го в 8-битов RGB и съхранява суровите пиксели с компресия Flate без загуби. Един кадър 4032 × 3024 е 36,6 милиона байта RGB (4032 × 3024 × 3). Flate го сви до около 13,8 MB на страница, което пак е повече от четири пъти над JPEG, от който идва. Девет копия на същите три снимки направиха 124,6 MB 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 MB на 1,7 MB, а тристраничният PDF от 41,5 MB на 6,2 MB. На лист Letter 1600 пиксела на 11 инча са около 145 dpi: четимо за снимана форма, грубо за дребен шрифт. Изберете размера според най-дребния текст, който трябва да четете, а не само според целевия размер на файла.
Размерът има значение два пъти, защото и следващите инструменти имат таван. Тялото на една заявка е ограничено до 100 MiB. PDF-ът от 124,6 MB по-горе беше отхвърлен с 413 (payload_too_large), когато го изпратихме към Компресиране. Вижте Когато голям PDF бъде отхвърлен за заобиколния път.
Страницата настрани
Много телефони съхраняват портретна снимка като пейзажни пиксели и добавят EXIF таг за ориентация, който казва на програмата за преглед да я завърти. Приложенията за снимки обикновено се подчиняват на тага. Изображения към PDF не го чете: JPEG 1600 × 1200 с таг за ориентация 6 (завъртане на 90° по часовниковата стрелка) даде пейзажна страница 1600 × 1200.
Поправката е Завъртане на PDF: въведете номера на страницата, тук 1, и ъгъл 90. Резултатът имаше /Rotate 90 на тази страница, така че програмата за преглед я показва изправена. Ползвайте 270 за снимки с таг в другата посока (ориентация 8) и 180 за обърнатите наобратно (ориентация 3); тук беше тествана само ориентация 6. Завъртането задава абсолютен ъгъл на страницата, а не го добавя към текущия, и не прекодира изображението. Ако не искате да оправяте страниците една по една, завъртете снимката в приложението си за снимки и запазете копие преди конвертиране.
Какво този инструмент ще откаже
- 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 преди пейзажен даде портретната страница първа. После погледнете размера на файла, преди да го прикачите.