JPEG 2000 no PDF: por que alguns leitores travam ou demoram
Imagens JPEG 2000 dentro do PDF podem travar ou atrasar alguns leitores. Veja como confirmar com pdfimages, trocar o formato e saber quando a conversão perde o texto.
JPEG 2000 é um formato de imagem que alguns scanners e exportadores gravam dentro do PDF. Ele comprime mais que o JPEG comum, mas leitores sem bom suporte travam ou demoram para mostrar a página. Para confirmar, rode pdfimages -list arquivo.pdf e veja se a coluna enc mostra jpx. A solução é trocar essa imagem por JPEG comum, reexportando do original ou comprimindo, e conferir o resultado com o mesmo comando.
O que é o filtro JPX no PDF
O PDF aceita imagens com o filtro JPXDecode, que é o nome técnico do JPEG 2000. Visualmente, a imagem parece igual a um JPEG comum. A diferença está no que o leitor precisa fazer para desenhá-la: decodificar um arquivo com outra organização interna, que costuma exigir mais processamento. Em computadores atuais, isso passa quase sem notar. Em um celular antigo, num navegador sem bom suporte ou numa impressora com memória limitada, a página pode levar vários segundos para aparecer, ou nem aparecer.
O arquivo não está quebrado. Ele é válido e abre em leitores que suportam o formato. O problema é de compatibilidade e de desempenho, e por isso o mesmo PDF pode funcionar em um aparelho e travar em outro.
Como reconhecer o problema
| Sintoma | Causa provável | Como confirmar |
|---|---|---|
| Uma ou poucas páginas demoram para aparecer | Imagem grande em JPEG 2000 sendo decodificada | No pdfimages -list, a página aparece com enc igual a jpx |
| Trava ao rolar no celular | Leitor móvel com decodificação lenta para o formato | Abra o mesmo arquivo no Acrobat do computador e compare |
| Impressora trava ou imprime cinza | Driver ou impressora com suporte limitado ao formato | Imprima só a página com a imagem, para isolar o problema |
| Arquivo pesado para o tamanho das páginas | Scanner gravou em resolução alta, em torno de 300 DPI | Veja o valor de x-ppi na mesma tabela do pdfimages |
Como confirmar com pdfimages
- Instale o Poppler. No Mac e no Linux, ele costuma estar disponível pelo gerenciador de pacotes. No Windows, use uma distribuição do Poppler para a linha de comando.
- Liste as imagens. Rode o comando abaixo no terminal, trocando o nome do arquivo pelo seu.
pdfimages -list arquivo.pdf - Leia a coluna enc. Se a maioria das imagens mostra jpx, o arquivo usa JPEG 2000. Se mostra dct, são JPEG comum, e o problema está em outro lugar.
- Anote a resolução. Veja o valor de x-ppi. Acima de 300, a imagem está mais pesada do que um texto precisa para ser lido na tela ou impresso.
Como trocar JPEG 2000 por JPEG
Há três caminhos, do melhor ao pior. Escolha o primeiro que você conseguir usar.
| Caminho | Quando usar | O que perde |
|---|---|---|
| Reexportar a partir do original | Quando você tem o arquivo do programa ou o papel para digitalizar de novo | Nada, se a exportação usar JPEG comum |
| Comprimir com o AjustaPDF no nível médio | Quando você só tem o PDF pronto | Pode manter o JPX; confira com pdfimages depois |
| PDF para imagem e imagem para PDF | Último recurso, para documentos que já eram digitalizações | Texto selecionável e pesquisável, porque a página vira imagem |
Para o primeiro caminho, procure no programa de origem ou no scanner a opção de salvar as imagens em JPEG, e não em JPEG 2000. Os nomes mudam de um fabricante para outro, então procure pela palavra JPEG nas configurações de formato. Para o segundo, use a compressão de PDF no nível médio. Ela leva as imagens para 150 DPI, e o resultado precisa ser conferido com o pdfimages, porque a troca de filtro não é garantida.
O terceiro caminho funciona, mas tem custo alto. Use PDF para imagem com 150 DPI, depois monte um novo PDF com imagem para PDF. Se o documento tinha texto de verdade, ele deixa de existir no arquivo novo, e a busca por palavras também.
Quando vale trocar e quando não vale
Trocar o formato vale a pena quando o PDF será aberto em aparelhos variados, impresso em gráfica comum ou enviado para um portal que recusa arquivos pesados. Nesses casos, uma imagem em JPEG comum costuma abrir mais rápido e ocupar espaço previsível. Se o PDF só será lido no computador do próprio autor, com o Acrobat atualizado, o JPEG 2000 não precisa de correção, e reexportar só gasta tempo.
Há também um ganho de tamanho. Como o JPEG 2000 comprime mais, uma troca para JPEG comum pode aumentar o arquivo. Por isso, a conta não é só de compatibilidade. Compare o tamanho antes e depois com o resultado do pdfimages e escolha a resolução de acordo com o uso: 150 DPI para tela e impressão comum, e 300 DPI apenas quando a imagem precisa de detalhe fino.
O que não resolve
Comprimir não é garantia de troca de filtro. Se o pdfimages continuar mostrando jpx depois da compressão, a saída é reexportar a partir da origem ou digitalizar de novo. Trocar só o leitor também não resolve o arquivo em si: ele continua pesado para quem tem um aparelho mais simples.
Nem todo travamento vem de imagem. Página com transparência complexa, fontes que não estão embutidas e muitas camadas podem causar o mesmo sintoma. Se o pdfimages não mostra jpx, vale ler o guia sobre PDF que não imprime, que lista as causas mais comuns antes de mexer no arquivo.
Por fim, a qualidade não se perde só por usar JPEG 2000. O risco aparece quando a reexportação usa uma resolução baixa demais para o uso. Para decidir a resolução, leia como o PDF é comprimido sem perder qualidade, que mostra o que muda em cada nível.
Perguntas frequentes
Todo PDF com JPEG 2000 trava no leitor?
Não. O Adobe Acrobat no computador costuma abrir esses arquivos sem problema. A lentidão aparece mais em leitores de celular, navegadores antigos e algumas impressoras, que precisam decodificar a imagem para mostrar a página. Se o arquivo abre bem no Acrobat, o problema está no leitor que você está usando, e não no PDF.
Como saber se uma imagem do PDF é JPEG 2000?
Rode pdfimages -list arquivo.pdf no terminal, com o Poppler instalado. Na coluna enc, a palavra jpx indica JPEG 2000, e dct indica JPEG comum. A mesma tabela mostra a resolução de cada imagem na coluna x-ppi, o que ajuda a entender por que a página pesa.
A compressão troca o JPEG 2000 por JPEG?
Depende do arquivo. A compressão reprocessa as imagens, mas não há garantia de que o filtro JPX seja trocado. Por isso, depois de comprimir, rode pdfimages -list de novo e veja se a coluna enc ainda mostra jpx. Se mostrar, reexporte o PDF a partir do original.
Converter o PDF para imagem e de volta resolve?
Resolve o travamento, mas perde o texto. A página vira uma imagem nova, e o texto deixa de ser selecionável e pesquisável. Use esse caminho só quando o documento for uma digitalização, em que o texto já era imagem, ou quando não houver outro jeito.
Vale a pena escanear de novo com outro formato?
Vale, se você ainda tem o papel e o scanner permite escolher o formato. Procure a opção de JPEG nas configurações de salvamento do scanner e refaça a digitalização. Assim o PDF sai com JPEG comum, que os leitores abrem com mais facilidade, e você controla a resolução antes de gerar o arquivo.