Zdjęcia z telefonu do PDF: dlaczego plik jest ogromny, a strona obrócona bokiem
Obrazy na PDF umieszcza każde zdjęcie na osobnej stronie w pełnym rozmiarze w pikselach, więc trzy zdjęcia JPEG z telefonu po 3,2 MB dały PDF o rozmiarze 41,5 MB, a zdjęcie pionowe trafiło na stronę poziomą. Zmniejsz zdjęcia przed konwersją, a obróconą stronę popraw potem.
Obrazy na PDF zamienia pliki JPEG, PNG, GIF lub BMP w jeden plik PDF, po jednym obrazie na stronę, w kolejności wgrywania. Niczego nie zmniejsza i ignoruje znacznik obrotu, który telefony zapisują w zdjęciach pionowych. W jednym teście trzy pliki JPEG po 3,2 MB wróciły jako PDF o rozmiarze 41,5 MB, a zdjęcie oznaczone jako pionowe wylądowało na stronie poziomej. Zmniejsz zdjęcia przed wgraniem, a obróconą stronę popraw potem narzędziem Obróć PDF.
Przykład krok po kroku
Dane wejściowe to trzy pliki JPEG o wymiarach 4032 × 3024 piksele, po około 3,2 MB każdy (razem 9,7 MB), czyli rozmiar typowej klatki z aparatu w telefonie. Były to obrazy syntetyczne z drobnym szumem, więc kompresują się gorzej niż większość prawdziwych zdjęć; potraktuj każdy rozmiar poniżej jako wynik jednego przebiegu z 2026-10-04 na lokalnym serwerze zbudowanym z bieżących źródeł, a nie jako obietnicę. Żądanie:
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
| Krok | Wynik |
|---|---|
| 3 pliki JPEG, 4032 × 3024 px | razem 9,7 MB |
| Obrazy na PDF | 3 strony, 41,5 MB, każda strona 4032 × 3024 pt |
| Kompresuj PDF na tym PDF | 39,9 MB, około 4% mniej |
| Te same 3 zdjęcia najpierw zmniejszone do 1600 px na dłuższym boku | razem 1,7 MB |
| Obrazy na PDF dla zmniejszonych zdjęć | 3 strony, 6,2 MB, każda strona 1600 × 1200 pt |
| Kompresuj PDF na tym PDF | 6,2 MB, bez zmniejszenia |
Wynik nosi nazwę pierwszego pliku, więc pobrany plik z powyższego przykładu to IMG_0001.pdf.
Dlaczego 10 MB zdjęć zamienia się w 41 MB
JPEG zapisuje zdjęcie jako skompresowane bloki ze stratą. Obrazy na PDF nie kopiuje tych bajtów do pliku PDF. Dekoduje każdy obraz, zamienia go na 8-bitowe RGB i zapisuje surowe piksele z bezstratną kompresją Flate. Jedna klatka 4032 × 3024 to 36,6 miliona bajtów RGB (4032 × 3024 × 3). Flate zmniejszył to tu do około 13,8 MB na stronę, czyli wciąż ponad czterokrotnie więcej niż JPEG, z którego pochodziła. Dziewięć kopii tych samych trzech zdjęć dało PDF o rozmiarze 124,6 MB.
To wyjaśnia też wiersze z narzędziem Kompresuj PDF. Kompresuj PDF ponownie kompresuje strumienie i pakuje obiekty; nie zmniejsza rozdzielczości obrazów ani nie koduje ich od nowa. Piksele są już skompresowane przez Flate, więc niewiele da się jeszcze usunąć (dlaczego). Droga do mniejszego pliku prowadzi przez mniej pikseli, zanim powstanie PDF.
Jest też drugi koszt. Każda strona ma rozmiar swojego obrazu, jeden piksel na jeden punkt, więc zdjęcie o szerokości 4032 pikseli daje stronę szeroką na 56 cali. Przeglądarki dopasowują ją do okna, a drukarki skalują do papieru, ale rozmiary stron nie odpowiadają A4 ani Letter. Formularz nie ma opcji rozmiaru papieru, dopasowania, typu koloru ani automatycznego obrotu, a serwer nie odczytuje pól API fitOption, colorType ani autoRotate.
Najpierw zmniejsz, potem konwertuj
Zmień rozmiar zdjęć przed wgraniem. Na Macu robi to sips -Z 1600 IMG_0001.jpg --out small1.jpg. Z ImageMagick na dowolnym systemie:
magick IMG_0001.jpg -resize 1600x1600 -quality 85 small1.jpg
Oba sposoby zamieniają zdjęcie 4032 × 3024 w 1600 × 1200. W tym przebiegu trzy pliki JPEG spadły z 9,7 MB do 1,7 MB, a trzystronicowy PDF z 41,5 MB do 6,2 MB. Na arkuszu Letter 1600 pikseli na 11 cali to około 145 dpi: czytelne dla sfotografowanego formularza, ale zgrubne dla drobnego druku. Rozmiar dobierz do najmniejszego tekstu, który musisz odczytać, a nie wyłącznie do docelowego rozmiaru pliku.
Rozmiar ma znaczenie podwójnie, bo kolejne narzędzia też mają swój pułap. Pojedyncze ciało żądania jest ograniczone do 100 MiB. PDF o rozmiarze 124,6 MB został wysłany do Kompresuj PDF i odrzucony z kodem 413 (payload_too_large). Obejście opisuje Gdy duży PDF zostaje odrzucony.
Strona obrócona bokiem
Wiele telefonów zapisuje zdjęcie pionowe jako piksele poziome i dodaje znacznik orientacji EXIF, który każe przeglądarce je obrócić. Aplikacje do zdjęć zwykle go respektują. Obrazy na PDF go nie odczytuje: plik JPEG 1600 × 1200 oznaczony orientacją 6 (obrót o 90° w prawo) dał poziomą stronę 1600 × 1200.
Rozwiązaniem jest Obróć PDF: wpisz numer strony, tutaj 1, i kąt 90. W wyniku ta strona miała ustawione /Rotate 90, więc przeglądarka pokazuje ją prosto. Użyj 270 dla zdjęć oznaczonych w drugą stronę (orientacja 8) i 180 dla odwróconych do góry nogami (orientacja 3); przetestowano tu tylko orientację 6. Obróć PDF ustawia bezwzględny kąt strony, a nie dodaje go do obecnego, i nie koduje obrazu od nowa. Jeśli nie chcesz poprawiać stron po kolei, obróć zdjęcie w aplikacji do zdjęć i zapisz kopię przed konwersją.
Czego to narzędzie nie zrobi
- HEIC i inne formaty. Strona przyjmuje
.png,.jpg,.jpeg,.gifi.bmp. Prawdziwy plik HEIC zwrócił 400,unsupported_file_type; najpierw wyeksportuj go jako JPEG. - Plik, który nie jest obrazem. Wgranie pliku PDF do tego punktu końcowego zwróciło ten sam błąd 400 z komunikatem „The file is not a supported image.”
- SVG. Plik SVG dostał ten sam błąd 400.
- Wyszukiwalny tekst. Tekst na sfotografowanej stronie pozostaje pikselami. OCR zwraca tekst w formacie Markdown; nie dodaje warstwy tekstowej do tego PDF (jak to działa).
- Przezroczystość. Obrazy są konwertowane do RGB, a kanał alfa jest odrzucany.
Sprawdź przed wysłaniem
Otwórz PDF i policz strony względem zdjęć, po kolei. Kolejność stron to kolejność wgrywania; w teście wgranie pionowego pliku PNG przed poziomym dało najpierw stronę pionową. Potem sprawdź rozmiar pliku, zanim dołączysz go do wiadomości.