Fotos do celular para PDF: por que o arquivo sai enorme e uma página fica de lado
Imagem para PDF põe cada foto em uma página própria, no tamanho total em pixels, e por isso três JPEGs de 3,2 MB com tamanho de celular viraram um PDF de 41,5 MB, e uma foto em retrato saiu em uma página em paisagem. Reduza as fotos antes de converter e gire a página de lado depois.
O Imagem para PDF transforma arquivos JPEG, PNG, GIF ou BMP em um único PDF, uma imagem por página, na ordem de envio. Ele não reduz nada e ignora o sinalizador de rotação que os celulares gravam nas fotos em retrato. Em uma execução de teste, três JPEGs de 3,2 MB voltaram como um PDF de 41,5 MB, e uma foto marcada como retrato foi parar em uma página em paisagem. Reduza as fotos antes de enviá-las e corrija a página de lado depois com Girar PDF.
O exemplo completo
A entrada eram três JPEGs de 4032 × 3024 pixels, com cerca de 3,2 MB cada (9,7 MB no total), o tamanho em pixels de um quadro típico de câmera de celular. Eram imagens sintéticas com ruído fino, que comprimem pior que a maioria das fotos reais; trate todos os tamanhos abaixo como o resultado de uma execução em 2026-10-04 contra um servidor local compilado a partir do código-fonte atual, não como uma promessa. A requisição:
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
| Etapa | Resultado |
|---|---|
| 3 JPEGs, 4032 × 3024 px | 9,7 MB no total |
| Imagem para PDF | 3 páginas, 41,5 MB, cada página com 4032 × 3024 pt |
| Comprimir PDF nesse PDF | 39,9 MB, cerca de 4% menor |
| As mesmas 3 fotos redimensionadas antes para 1600 px no lado maior | 1,7 MB no total |
| Imagem para PDF nas fotos redimensionadas | 3 páginas, 6,2 MB, cada página com 1600 × 1200 pt |
| Comprimir PDF nesse PDF | 6,2 MB, sem redução |
A saída leva o nome do primeiro arquivo, então o download acima é IMG_0001.pdf.
Por que 10 MB de fotos viram 41 MB
Um JPEG guarda uma foto como blocos comprimidos com perdas. O Imagem para PDF não copia esses bytes para o PDF. Ele decodifica cada imagem, converte para RGB de 8 bits e guarda os pixels brutos com compressão Flate sem perdas. Um quadro de 4032 × 3024 tem 36,6 milhões de bytes de RGB (4032 × 3024 × 3). O Flate reduziu isso para cerca de 13,8 MB por página, ainda mais de quatro vezes o JPEG de origem. Nove cópias das mesmas três fotos geraram um PDF de 124,6 MB.
Isso também explica as linhas do Comprimir PDF. Ele recomprime streams e empacota objetos; não reduz a resolução nem recodifica imagens. Os pixels já estão comprimidos com Flate, então sobra pouco a remover (por quê). O caminho para um arquivo menor é ter menos pixels antes de o PDF ser montado.
Há um segundo custo. Cada página assume o tamanho da sua imagem, um pixel para um ponto, então uma foto de 4032 pixels gera uma página de 56 polegadas de largura. Os leitores a ajustam à janela e as impressoras a escalam para o papel, mas as caixas de página não são A4 nem Carta. O formulário não tem opção de tamanho de papel, ajuste, tipo de cor ou giro automático, e o servidor não lê os campos de API fitOption, colorType ou autoRotate.
Reduza primeiro, converta depois
Redimensione as fotos antes de enviá-las. No Mac, sips -Z 1600 IMG_0001.jpg --out small1.jpg resolve. Com o ImageMagick em qualquer sistema:
magick IMG_0001.jpg -resize 1600x1600 -quality 85 small1.jpg
Os dois transformam uma foto de 4032 × 3024 em 1600 × 1200. Nesta execução, os três JPEGs caíram de 9,7 MB para 1,7 MB e o PDF de três páginas de 41,5 MB para 6,2 MB. Em uma folha Carta, 1600 pixels em 11 polegadas dão cerca de 145 dpi: legível para um formulário fotografado, grosseiro para letras miúdas. Escolha o tamanho pelo menor texto que você precisa ler, não só pela meta de tamanho de arquivo.
O tamanho importa duas vezes porque as ferramentas seguintes também têm um teto. O corpo de uma única requisição é limitado a 100 MiB. O PDF de 124,6 MB acima foi rejeitado com um 413 (payload_too_large) ao ser enviado ao Comprimir PDF. Veja Quando um PDF grande não sobe: o limite de 100 MiB por requisição e o erro que aponta para o lado errado para saber como contornar.
A página de lado
Muitos celulares guardam uma foto em retrato como pixels em paisagem e acrescentam uma etiqueta de orientação EXIF que manda o leitor girá-la. Os aplicativos de fotos costumam obedecer à etiqueta. O Imagem para PDF não a lê: um JPEG de 1600 × 1200 com orientação 6 (girar 90° no sentido horário) produziu uma página em paisagem de 1600 × 1200.
A correção é o Girar PDF: informe o número da página, aqui 1, e um ângulo de 90. O resultado ficou com /Rotate 90 definido nessa página, então um leitor a mostra na vertical. Use 270 para fotos com a marcação inversa (orientação 8) e 180 para as de cabeça para baixo (orientação 3); aqui só a orientação 6 foi testada. O Girar PDF define um ângulo absoluto na página em vez de somar ao atual, e não recodifica a imagem. Se você prefere não corrigir página por página, gire a foto no seu aplicativo de fotos e salve uma cópia antes de converter.
O que esta ferramenta recusa
- HEIC e outros formatos. A página aceita
.png,.jpg,.jpeg,.gife.bmp. Um arquivo HEIC real devolveu 400,unsupported_file_type; exporte-o antes como JPEG. - Um arquivo que não é imagem. Enviar um PDF a esse endpoint devolveu o mesmo 400, com a mensagem "The file is not a supported image."
- SVG. Um arquivo SVG recebeu o mesmo 400.
- Texto pesquisável. O texto de uma página fotografada continua sendo pixels. O OCR para Markdown devolve texto em Markdown; ele não acrescenta uma camada de texto a este PDF (como funciona).
- Transparência. As imagens são convertidas para RGB e o canal alfa é descartado.
Confira antes de enviar
Abra o PDF e conte as páginas em relação às fotos, em ordem. A ordem das páginas é a ordem de envio; em um teste, enviar um PNG em retrato antes de um em paisagem produziu a página em retrato primeiro. Depois olhe o tamanho do arquivo antes de anexá-lo.